Afin de comprendre comment les clés primaires et les clés étrangères définissent les relations entre les tables dans les bases de données relationnelles, penchons-nous sur les contraintes d’intégrité référentielle.
Les contraintes d’intégrité référentielle, également appelées contraintes référentielles ou contraintes de clé étrangère, sont des règles qui exigent que les valeurs de clé étrangère d’une table correspondent aux valeurs de clé primaire d’une autre table.
Par exemple, dans une base de données d’employés, une contrainte d’intégrité référentielle peut spécifier que chaque employé de la table EMPLOYEE doit être membre d’un service de l’entreprise répertorié dans la table DEPARTMENT.
Par exemple, dans ce cas, la table DEPARTMENT utilise une colonne de numéros de département uniques comme clé primaire, tandis que la table EMPLOYEE contient une clé étrangère stockant les mêmes numéros. Cette correspondance garantit le respect de la contrainte de clé étrangère.
Étant donné que la table DEPARTMENT contient la clé primaire référencée par la clé étrangère de la table EMPLOYEE, la clé EMPLOYEE est considérée comme dépendante de la table DEPARTMENT. De ce fait, la table DEPARTMENT est considérée comme la « table parente » dans cette relation.
Les contraintes d’intégrité référentielle empêchent l’insertion de données erronées dans les bases de données. Par exemple, un utilisateur ne serait pas autorisé à ajouter un enregistrement d’employé à la table EMPLOYEE (voir illustration ci-dessous) si le numéro de service figurant dans cet enregistrement n’existait pas dans la table DEPARTMENT.