Leçon 5 / 10 — Chapitre 5: Définir et faire évoluer une table
Clé primaire et clé étrangère
Une contrainte impose une règle sur les données d'une table, vérifiée automatiquement par la base de données.
La clé primaire (PRIMARY KEY) identifie chaque ligne de façon unique : deux lignes ne peuvent jamais avoir la même valeur de clé primaire, et cette valeur ne peut jamais être vide (NULL). Dans produits, id est la clé primaire.
CREATE TABLE produits (
id INTEGER PRIMARY KEY,
nom TEXT,
categorie TEXT,
prix INTEGER,
stock INTEGER
);
La clé étrangère (FOREIGN KEY) relie une colonne d'une table à la clé primaire d'une autre table, et garantit que sa valeur y existe bien. Dans commandes, produit_id est une clé étrangère vers produits.id — c'est exactement cette relation qui rend les jointures possibles entre les deux tables.
CREATE TABLE commandes (
id INTEGER PRIMARY KEY,
produit_id INTEGER,
quantite INTEGER,
FOREIGN KEY (produit_id) REFERENCES produits(id)
);
Cette contrainte empêcherait, par exemple, d'insérer une commande avec un produit_id qui ne correspond à aucun produit existant.
À retenir :
- Une clé primaire (
PRIMARY KEY) identifie chaque ligne de façon unique : jamais deux lignes identiques sur cette colonne, jamais de valeur vide. - Une clé étrangère (
FOREIGN KEY ... REFERENCES ...) relie une colonne à la clé primaire d'une autre table, et garantit que la valeur référencée y existe réellement. - C'est cette relation par clé étrangère qui rend les jointures (
JOIN) possibles entre deux tables.
À vous de jouer : identifiez, dans une base que vous connaissez (même hors de ce module), un exemple de clé primaire et un exemple de clé étrangère.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès