Skip to main content

Comment l’intégrité référentielle garantit la cohérence de la base de données

Comment Out #12/ Molly х Данила Поперечный (Mai 2024)

Comment Out #12/ Molly х Данила Поперечный (Mai 2024)
Anonim

Les bases de données utilisent des tables pour organiser les informations qu'elles contiennent. Ils ressemblent aux feuilles de calcul, telles qu'Excel, mais sont beaucoup plus performants pour les utilisateurs avancés. Les bases de données fonctionnent avec l'utilisation de clés primaires et de clés étrangères, qui maintiennent la relation entre les tables.

L'intégrité référentielle est une fonctionnalité de base de données dans les systèmes de gestion de base de données relationnelle. Il garantit la précision des relations entre les tables d'une base de données en appliquant des contraintes pour empêcher les utilisateurs ou les applications de saisir des données inexactes ou de pointer vers des données inexistantes.

Clé primaire

La clé primaire d'une table de base de données est un identifiant unique attribué à chaque enregistrement. Chaque table a une ou plusieurs colonnes désignées comme clé primaire. Un numéro de sécurité sociale peut être une clé primaire pour une liste d'employés dans la base de données car chaque numéro de sécurité sociale est unique.

Toutefois, pour des raisons de confidentialité, un numéro d’entreprise attribué est un meilleur choix pour servir de clé primaire aux employés. Certains logiciels de base de données, tels que Microsoft Access, attribuent automatiquement la clé primaire, mais la clé aléatoire n'a aucune signification réelle. Il est préférable d'utiliser une clé ayant une signification pour l'enregistrement.

Le moyen le plus simple d'appliquer l'intégrité référentielle est de ne pas autoriser les modifications d'une clé primaire.

Clé étrangère

Une clé étrangère est un identifiant dans une table qui correspond à la clé primaire d'une autre table. La clé étrangère crée la relation avec une autre table. L'intégrité référentielle fait référence à la relation entre ces tables.

Lorsqu'une table a une clé étrangère vers une autre table, le concept d'intégrité référentielle indique que vous ne pouvez pas ajouter d'enregistrement à la table contenant la clé étrangère, à moins qu'un enregistrement correspondant ne se trouve dans la table liée. Il inclut également les techniques de mise à jour en cascade et de suppression en cascade, qui garantissent que les modifications apportées à la table liée sont reflétées dans la table principale.

Exemple de règles d'intégrité référentielle

Prenons, par exemple, la situation dans laquelle vous avez deux tables: Employés et Gestionnaires. La table Employees possède un attribut de clé étrangère appelé ManagedBy, qui pointe vers l’enregistrement du responsable de chaque employé dans la table Managers. L'intégrité référentielle applique les trois règles suivantes:

  • Vous ne pouvez pas ajouter un enregistrement à la table Employees à moins que l'attribut ManagedBy pointe vers un enregistrement valide dans la table Managers. L'intégrité référentielle empêche l'insertion de détails incorrects dans un tableau. Toute opération qui ne satisfait pas à la règle d'intégrité référentielle échoue.
  • Si la clé primaire d'un enregistrement de la table Managers change, tous les enregistrements correspondants de la table Employees sont modifiés à l'aide d'une mise à jour en cascade.
  • Si un enregistrement de la table des gestionnaires est supprimé, tous les enregistrements correspondants de la table des employés sont supprimés à l'aide d'une suppression en cascade.

Avantages des contraintes d'intégrité référentielle

L'utilisation d'un système de gestion de base de données relationnelle à intégrité référentielle offre plusieurs avantages:

  • Empêche la saisie de données en double
  • Empêche une table de pointer sur un champ inexistant dans une autre table
  • Garantit la cohérence entre les tables "en partenariat"
  • Empêche la suppression d'un enregistrement contenant une valeur référencée par une clé étrangère dans une autre table
  • Empêche l'ajout d'un enregistrement à une table contenant une clé étrangère sauf s'il existe une clé primaire dans la table liée.