Attribut clé primaire et clé étrangère

Bonjour,

J'ai un petit soucis concernant la création de mes tables.
J'ai 3 tables qui sont les suivantes : école, professeur et ecole_professeur (table d'association)
ecole (id_ecole, nom, adresse, ..)
professeur (id_professeur, nom, prénom, ...)
ecole_professeur (id_ecole, id_professeur)

Pour la création de la table école_professeur, id_ecole et id_professeur sont la clé primaire. Mais dois-je les déclarer en clé étrangère également ? Dois-je faire de cette manière :

DROP TABLE IF EXISTS 'ecole_professeur';
CREATE TABLE IF NOT EXISTS 'ecole_professeur' (
'id_ecole' int(11) NOT NULL,
'id_professeur' int(11) NOT NULL,
PRIMARY KEY ('id_ecole','id_professeur'),
FOREIGN KEY ('id_ecole' )
REFERENCES 'ecole' ('id_ecole' ),
FOREIGN KEY ('id_professeur' )
REFERENCES 'professeur' ('id_professeur' )
) ;

Merci pour votre aide

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Oui, il faut les déclarer. Tu peux les déclarer à la création ou créer la table et ajouter les contraintes de clé externes après, au choix.

    Discussions similaires

    cle wifi pour tv

    5 réponses