Intégrité référentielle entre les tables d’une base de données Microsoft Access

Intégrité référentielle

L’intégrité référentielle est un système de règles utilisé par Microsoft Access pour garantir que les relations entre les enregistrements de tables associées sont valides et que vous ne supprimez pas ou ne modifiez pas accidentellement des données associées. Vous pouvez définir une intégrité référentielle lorsque l’ensemble des conditions suivantes sont réunies :

  • Le champ correspondant de la table est une clé primaire ou il comporte un index unique.
  • Les champs associés comportent le même type de données. Il y a deux exceptions. Un champ NuméroAuto peut être mis en relation avec un champ Numéro dont la propriété TailleChamp a pour valeur Entier long, et un champ NuméroAuto dont la propriété TailleChamp a pour valeur ID réplication peut être mis en relation avec un champ Numéro dont la propriété TailleChamp a pour valeur ID réplication.
  • Les deux tables appartiennent à la même base de données Microsoft Access. Si les tables sont liées, elles doivent être au format Microsoft Access et vous devez ouvrir la base de données dans laquelle elles sont stockées afin de définir l’intégrité référentielle. L’intégrité référentielle ne peut pas être mise en œuvre pour les tables liées à partir de bases de données dans d’autres formats.

Les règles suivantes s’appliquent pour l’utilisation de l’intégrité référentielle :

  • Vous ne pouvez pas entrer une valeur dans le champ de clé primaire d’une table associée qui ne figure pas dans la clé primaire de la table primaire. Toutefois, vous pouvez entrer une valeur indéfinie dans la clé primaire, en indiquant que les enregistrements ne sont pas en relation. Par exemple, une commande ne peut pas être affectée à un client qui n’existe pas mais elle peut être affectée à personne par l’indication d’une valeur indéfinie dans le champ IDClient.
  • Vous ne pouvez pas supprimer un enregistrement d’une table primaire si l’enregistrement correspondant existe dans une table mise en relation. Par exemple, vous ne pouvez pas supprimer un dossier d’employé dans la table Employés si des commandes sont affectées à cet employé dans la Commandes.
  • Vous ne pouvez pas modifier une valeur de clé primaire dans la table primaire si cet enregistrement comporte des enregistrements liés. Par exemple, vous ne pouvez pas modifier supprimer un ID d’employé dans la table Employés si des commandes sont affectées à cet employé dans la table Commandes.