Définir une contrainte de clé étrangère
Une clé étrangère est une relation entre les tables qui aident à préserver l’intégrité des données de la base de données. Par exemple, lorsque vous ajoutez un enregistrement, une clé étrangère assure qu’un champ (valeur de colonne) peut être inséré dans une table uniquement s’il existe dans la deuxième table.
Dans cet exemple, créons une contrainte de clé étrangère qui réalise la chose suivante : il devrait être possible d’ajouter un nouvel enregistrement dans une table tblAnimalTypes uniquement si la Catégorie existe comme CategoryID dans la table tblAnimalCategories.
Pour définir la relation de clé étrangère :
1.Ouvrir le projet "ZooDB" créé précédemment et double-cliquez sur la source de données ZooDBConnect pour vous y connecter.
2.Cliquez sur le bouton de la barre d’outils Éditeur Design ou appuyez sur Ctrl+D.
3.Dans le navigateur en ligne, cliquez sur la table tblAnimalTypes et déposez-la dans la fenêtre de l’Éditeur Design.
4.Cliquez avec la touche de droite dans la design de table et sélectionnez Insérer nouveau | Clé | Clé étrangère depuis le menu contextuel. Une clé étrangère est créée dans le design, ayant le nom <generated> et l’entrée est sélectionnée pour l’édition.
5.En option, changez le nom de clé de <generated> à "FK_CategoryID" et appuyez sur Enter. Si vous gardez le nom comme <generated>, le nom de clé sera automatiquement généré par la base de données.
6.Dans la colonne de référence, double-cliquez sur l’entrée "[select the referenced table] », et sélectionnez "tblAnimalCategories" depuis la liste déroulante qui apparaît. La première colonne "CategoryID" de la table référencée apparaît en dessous du nom de la table et vous ne devez pas modifier cette entrée.
7.Dans la colonne des Colonnes, double-cliquez sur l’entrée "AnimalTypeID" qui a été insérée par défaut et sélectionnez "Category" depuis la liste déroulante qui apparaît.
![dbs_zoo_foreign_key_01](./images/dbs_zoo_foreign_key_01.png)
8.Dans la fenêtre Script de changement de structure de la base de données, cliquez sur le bouton Execute Change Script pour exécuter le script de changement et pour valider la nouvelle clé étrangère dans la base de données.
Pour consulter la nouvelle relation dans l`Éditeur Design, cliquez avec la touche de droite l’entrée "FK_CategoryID" dans le design de table et sélectionnez Ajouter des tables associées | tables référencées depuis le menu contextuel.