Junior
Comment la clé étrangère influence-t-elle l'intégrité des données dans la base de données?
sobes.tech IA
Réponse de l'IA
Une clé étrangère (foreign key) assure l'intégrité référentielle des données, garantissant que les valeurs dans la colonne d'une table (table enfant) correspondent aux valeurs dans la colonne d'une autre table (table parent).
Impact sur l'intégrité des données :
- Interdit d'ajouter des enregistrements dans la table enfant avec une valeur qui n'existe pas dans la colonne correspondante de la table parent. Tenter d'insérer une ligne faisant référence à un enregistrement parent inexistant entraînera une erreur.
- Restreint la suppression d'enregistrements dans la table parent qui sont référencés par des enregistrements dans la table enfant. Le comportement lors de la suppression dépend de l'action configurée (
ON DELETE) :RESTRICT(par défaut) : Interdit la suppression.CASCADE: Supprime les enregistrements dépendants dans la table enfant.SET NULL: Définit la valeur NULL dans la colonne correspondante de la table enfant (si la colonne le permet).NO ACTION: Semblable àRESTRICTdans la vérification standard, mais peut différer en temps d'exécution.
- Restreint la mise à jour des enregistrements dans la table parent. Le comportement lors de la mise à jour dépend également de l'action configurée (
ON UPDATE) :RESTRICT(par défaut) : Interdit la mise à jour.CASCADE: Met à jour la valeur correspondante dans les enregistrements dépendants de la table enfant.SET NULL: Définit la valeur NULL dans la colonne correspondante de la table enfant (si la colonne le permet).NO ACTION: Semblable àRESTRICTdans la vérification standard, mais peut différer en temps d'exécution.
La clé étrangère aide à prévenir l'apparition de "enregistrements orphelins" et garantit que les relations entre les tables restent correctes.