Clefs primaires et étrangères dans SQL : qu’est-ce que cela veut dire?
Dans ce cours, nous explorons comment utiliser les clefs primaires et étrangères pour garantir la cohérence des données entre différentes tables.
Objectifs
- Comprendre l’utilisation de clés primaires et étrangères
- Savoir créer une table liée
- Apprendre à maintenir la cohérence de ses données
Exemple
```sql CREATE TABLE auteurs ( id INT PRIMARY KEY, nom VARCHAR(50) NOT NULL, pseudonyme VARCHAR(50) );
CREATE TABLE livres ( id INT PRIMARY KEY, titre VARCHAR(100) NOT NULL, auteur_id INT, FOREIGN KEY (auteur_id) REFERENCES auteurs(id) ); ```
Exercice
Créez une table ‘genres’ avec un champ ‘id’ en clé primaire, puis créez une table ‘livres’ avec un champ ‘genre_id’ qui référence la clé primaire de la table ‘genres’. Enfin, ajoutez des données à chacune des tables pour créer une relation entre elles.
Solution (cliquer pour afficher)
Afficher la solution
```sql CREATE TABLE genres ( id INT PRIMARY KEY, nom VARCHAR(50) NOT NEWLL );
INSERT INTO genres (nom) VALUES ('Romance'), ('Fantasy'), ('Science Fiction');
CREATE TABLE livres ( id INT PRIMARY KEY, titre VARCHAR(100) NOT NULL, genre_id INT, FOREIGN KEY (genre_id) REFERENCES genres(id) );
INSERT INTO livres (titre, genre_id) VALUES ('Le Petit Prince', 1), ('Le Seigneur des Anneaux', 2), ('Dune', 3); ```
Pour aller plus loin
- Pour plus d’exercices sur les clefs primaires et étrangères, consultez notre guide complet
- Saviez-vous que les tables liées peuvent améliorer considérablement la performance de vos requêtes?
- Pour maintenir la cohérence de vos données, il est recommandé d’utiliser des contraintes CHECK en plus des clés étrangères
