L’intégrité référentielle garantit que la valeur d’une clé étrangère dans une table correspond toujours à une valeur existante dans la table référencée (la table "parente").
Exemple :
Deux tables : fournisseur (parent) et stock (enfant)
stock.num_fournisseur est une clé étrangère qui fait référence à fournisseur.num_fournisseur.Par défaut, toute opération qui violerait l'intégrité référentielle est rejetée :
stock avec un num_fournisseur qui n’existe pas dans fournisseur → ❌ ERREURfournisseur alors que le num_fournisseur est encore utilisé dans stock → ❌ ERREURPour gérer les modifications sans violer l'intégrité, on peut définir des comportements automatiques via les options suivantes sur la clé étrangère :
Si un fournisseur est supprimé ou modifié, alors :
stock qui y font référence sont automatiquement supprimées.FOREIGN KEY (num_fournisseur)
REFERENCES fournisseur(num_fournisseur)
ON DELETE CASCADE
ON UPDATE CASCADE
Exemple : Supprimer un fournisseur → toutes les lignes de stock liées sont aussi supprimées.
Si la ligne du fournisseur est supprimée ou modifiée, la valeur de la clé étrangère dans stock devient NULL.