Qu'est-ce qu'une clé étrangère dans une base de données relationnelle?

Les clés étrangères d'une table d'une base de données relationnelle permettent de localiser des informations dans une table liée.

Un exemple simple

Un exemple simple de clé étrangère dans une base de données est une table primaire "Student" (Student) avec Student_ID comme clé primaire. Dans la table secondaire associée "Course_Enrollment" (Course_Matriculation) avec Course_ID comme clé primaire, pour chaque cours dans lequel un étudiant s'est inscrit, la clé étrangère Student_ID de la table "Student" apparaît.

Règle d'intégrité référentielle

La règle d'intégrité référentielle indique que toute valeur de clé étrangère non nulle dans une table secondaire doit faire référence à une valeur de clé primaire dans sa table primaire dans la base de données. Dans l'exemple de l'étape 1, il ne serait pas logique dans la base de données qu'un étudiant soit inscrit à un cours lorsqu'il n'existe aucune information sur cet étudiant dans le tableau "Étudiant". Cette règle impose la cohérence dans une base de données.

Eliminations en cascade

Chaque enregistrement secondaire dans une relation de clé étrangère doit avoir un enregistrement principal correspondant conformément à la règle d'intégrité référentielle. Une suppression en cascade doit avoir lieu chaque fois qu'un enregistrement d'une table primaire est supprimé, ce qui supprime également tous les enregistrements correspondants de la base de données. Dans l'exemple de l'étape 1, la suppression d'un étudiant de la table Student de la base de données supprimera également toutes les occurrences des enregistrements d'inscription de cet étudiant dans la table Course_Enrollment.