Attribut clé primaire et clé étrangère

Fermé
lili32 - 5 juil. 2011 à 12:09
Leviathan49 Messages postés 257 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 22 juillet 2011 - 5 juil. 2011 à 13:57
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


A voir également:

2 réponses

personne ne peut m'aider ?
0
Leviathan49 Messages postés 257 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 22 juillet 2011 70
5 juil. 2011 à 13:57
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.
0