Clés étrangères
Dans DatabaseSpy, les colonnes qui ont une clé étrangère attribuée sont affichées avec une icône de . Les clés étrangères elles-mêmes sont affichées avec l’icône .
Pour toute table qui a des références à d'autres tables par le biais de clés étrangères, vous pouvez identifier et sélectionnez les tables référencées dans le Navigateur en ligne, comme suit :
1.Dans le Navigateur en ligne, cliquer avec la touche de droite sur une clé étrangère dans le dossier "Clés" d’une table.
2.Choisir Afficher des tables référencées depuis le menu contextuel. La clé étrangère et la table qu’elle référence sont sélectionnées dans le Navigateur en ligne.
Exemple
Elles aident à préserver l'intégrité des données dans votre base de données. Par exemple, partons du fait que vous explorez une base de données qui stocke les données des employés. Les détails de l’employé sont stockés dans la table de l’Employé et les détails du département sont stockés dans la table du Département.
+----+------------------+--------------------------+---------------+ | ID | Name | Email | DepartmentID + +----+------------------+--------------------------+---------------+ | 1 | Toby Hughey | t.hughey@nanonull.com | 1 | | 2 | Mia Dahill | m.dahill@nanonull.com | 2 | | 3 | Fred Weinstein | f.weinstein@nanonull.com | 1 | +----+------------------+--------------------------+---------------+ |
La table Employé
+----+-------------+ | ID | Name | +----+-------------+ | 1 | Development | | 2 | Marketing | +----+-------------+ |
La table Département
Notez que DepartmentID dans la table des Employés pointe vers l’ID du département dans la du Département. Cette relation peut être consolidée par une contrainte de clé étrangère entre ces deux colonnes afin d’assurer que :
•Chaque entrée dans la table Employé peut référencé tout département existant dans la table Département.
•Si vous tentez d’ajouter un nouvel employé dans la table Employéavec une ID DepartmentID qui n’existe pas dans la table Département, la base de données retournera une erreur de validation légitime (par exemple, « La Contrainte de clé étrangère a échoué »).
•Si vous tentez de supprimer une entrée de la table Département, et s’il existe des entrées Employé pointant vers ce Département, la base de données retournera une erreur de validation légitime.