This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
teaching:infoh303:projet [2007/12/07 11:51] boverhae |
teaching:infoh303:projet [2007/12/07 11:53] boverhae |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Projet du cours INFO-H-403 ====== | ====== Projet du cours INFO-H-403 ====== | ||
+ | |||
Line 156: | Line 157: | ||
**Question 23** (07/12/07) : Avec MySQL, comment ajouter une contrainte de clé étrangère avec une clé composée ? | **Question 23** (07/12/07) : Avec MySQL, comment ajouter une contrainte de clé étrangère avec une clé composée ? | ||
- | //Soit les tables T1(__cle1,cle2__,attribut1) et T2(__cle1__,T1_cle1,T1_cle2) où (T1_cle1,T1_cle2) référence (T1.cle1,T2.cle2). | + | //Soit les tables //T1(__cle1,cle2__,attribut1)// et //T2(__cle1__,T1_cle1,T1_cle2)// où //(T1_cle1,T1_cle2)// référence //(T1.cle1,T2.cle2)//.// |
+ | |||
+ | |||
+ | //Pour définir une contrainte de clé étrangère sur //(T1_cle1,T1_cle2)// de T2, il faut tout d'abord définir un index sur ces deux colonnes de la table T2 via la commande //"ALTER TABLE T2 CREATE INDEX monIndex ON T2(T1_cle1,T1_cle2)"//.// | ||
- | Pour définir une contrainte de clé étrangère sur (T1_cle1,T1_cle2) de T2, il faut tout d'abord définir un index sur ces deux colonnes de la table T2 via la commande "ALTER TABLE T2 CREATE INDEX monIndex ON T2(T1_cle1,T1_cle2)". | ||
- | Ensuite, on peut créer la contraite de clé étrangère sur ces deux champs via la commande "ALTER TABLE T2 ADD FOREIGN KEY (T1_cle1,T1_cle2) REFERENCES T1(cle1,cle2). Cette dernière opération ne semble pas prévue dans phpMyAdmin et il faut donc exécuter cette commande manuellement.// | + | //Ensuite, on peut créer la contraite de clé étrangère sur ces deux champs via la commande //"ALTER TABLE T2 ADD FOREIGN KEY (T1_cle1,T1_cle2) REFERENCES T1(cle1,cle2)"//. Cette dernière opération ne semble pas prévue dans phpMyAdmin et il faut donc exécuter cette commande manuellement.// |