UPDATE Animal SET race_id = 2 WHERE id IN (12, 14, 19, 7);
UPDATE Animal SET race_id = 3 WHERE id IN (23, 17, 21, 27);
UPDATE Animal SET race_id = 4 WHERE id IN (33, 35, 37, 41, 44, 31,
3);
UPDATE Animal SET race_id = 5 WHERE id IN (43, 40, 30, 32, 42, 34,
39, 8);
UPDATE Animal SET race_id = 6 WHERE id IN (29, 36, 38);
-- -------------------------------------------------------- AJOUT DES COLONNES mere_id ET pere_id A LA TABLE Animal
-- ------------------------------------------------------ALTER TABLE Animal ADD COLUMN mere_id SMALLINT UNSIGNED;
ALTER TABLE Animal
ADD CONSTRAINT fk_mere_id FOREIGN KEY (mere_id) REFERENCES
Animal(id);
ALTER TABLE Animal ADD COLUMN pere_id SMALLINT UNSIGNED;
ALTER TABLE Animal
ADD CONSTRAINT fk_pere_id FOREIGN KEY (pere_id) REFERENCES
Animal(id);
-- -------------------------------------------- REMPLISSAGE DES COLONNES mere_id ET pere_id
-- ------------------------------------------UPDATE Animal SET mere_id = 18, pere_id = 22 WHERE id = 1;
UPDATE Animal SET mere_id = 7, pere_id = 21 WHERE id = 10;
UPDATE Animal SET mere_id = 41, pere_id = 31 WHERE id = 3;
UPDATE Animal SET mere_id = 40, pere_id = 30 WHERE id = 2;
A priori, la seule chose qui pourrait vous avoir surpris dans ces requêtes ce sont les clés étrangères sur mere_id et pere_id qui
référencent toutes deux une autre colonne de la même table.
Bien, maintenant que nous avons trois tables et des données sympathiques à exploiter, nous allons passer aux choses sérieuses
avec les jointures d'abord, puis les sous-requêtes.
En résumé
Une clé primaire permet d'identifier chaque ligne de la table de manière unique : c'est à la fois une contrainte d'unicité et
une contrainte NOT NULL.
Chaque table doit définir une clé primaire, et une table ne peut avoir qu'une seule clé primaire.
Une clé étrangère permet de définir une relation entre deux tables, et d'assurer la cohérence des données.
Partie 2 : Index, jointures et sous-requêtes
97/414
www.openclassrooms.com
Précédent

- 97/413

Suivant