Maison > Article > base de données > Comment établir des relations entre les tables dans Navicat
Navicat est un ensemble d'outils de gestion de bases de données rapides, fiables et relativement bon marché, conçus pour simplifier la gestion des bases de données et réduire les coûts de gestion du système. Il est conçu pour répondre aux besoins des administrateurs de bases de données, des développeurs et des petites et moyennes entreprises. Ci-dessous, nous vous présenterons comment Navicat établit des relations avec les tables.
Tutoriel recommandé : Tutoriel graphique navicat
La relation entre les tables de la base de données est reflétée par une clé étrangère . Ainsi, pour établir une relation entre deux tables, vous créez en fait une clé étrangère vers la table.
1. Ouvrez Navicat, sélectionnez la table de base de données à utiliser, cliquez avec le bouton droit et sélectionnez Design Table.
2. Cliquez sur l'option de clé étrangère pour commencer à définir des clés étrangères.
Il y a sept colonnes au total. Présentons brièvement la signification de ces colonnes :
« Nom » : vous n'avez pas besoin de le remplir. Le système le générera automatiquement une fois que vous l'aurez enregistré avec succès.
"Field" : Quelle clé vous souhaitez définir comme clé étrangère.
"Base de données de référence" : Base de données associée aux clés étrangères.
"Table de référence" : table associée
"Champ de référence" : champ associé,
"Lors de la suppression" : l'action sélectionnée lors de la suppression.
"Lors de la mise à jour" : C'est l'action sélectionnée lors de la mise à jour.
Informations étendues : Le rôle des clés étrangères
Maintenir la cohérence et l'intégrité des données, l'objectif principal est de contrôler le stockage des tables de clés étrangères Données dans . Pour associer deux tables, la clé étrangère ne peut faire référence qu'aux valeurs des colonnes de la table ou utiliser des valeurs nulles.
Si aucune clé étrangère n'est utilisée, une valeur (telle que 20140999999) est insérée dans le champ numéro d'étudiant du tableau 2, mais cette valeur n'existe pas dans le tableau 1. A ce moment, la base de données permet l'insertion et ne bloquera pas la valeur insérée. Les données sont vérifiées pour les relations. Cependant, lors de la configuration d'une clé étrangère, la valeur que vous insérez dans le champ numéro d'étudiant du tableau 2 doit se trouver dans le champ numéro d'étudiant du tableau 1. Dans le même temps, si vous souhaitez supprimer un champ de numéro d'étudiant dans le tableau 1, vous devez vous assurer qu'il n'y a aucune colonne dans le tableau 2 faisant référence à la valeur du champ, sinon il ne sera pas supprimé. C’est ce qu’on appelle maintenir la cohérence et l’intégrité des données. Comme indiqué à droite, si le tableau 2 fait toujours référence à un certain numéro d'étudiant dans le tableau 1, mais que vous supprimez le numéro d'étudiant dans le tableau 1, le tableau 2 ne saura pas à quel étudiant correspond le numéro d'étudiant.
Les tables de la base de données doivent être conformes aux spécifications pour éviter la redondance des données, les anomalies d'insertion, les anomalies de suppression et autres phénomènes. Le processus canonique est le processus de décomposition du tableau. Après décomposition, les attributs représentatifs d’une chose apparaissent dans différents tableaux. Évidemment, ils doivent être cohérents. Par exemple, les données représentatives d'un étudiant sont le numéro d'étudiant 012, qui est 012 dans le tableau des étudiants et devrait également être 012 dans le tableau des notes. Cette cohérence est obtenue par les clés étrangères. La fonction d'une clé étrangère est la suivante : sa valeur doit être la valeur de clé primaire d'une autre table. Le numéro d'étudiant est la clé primaire dans la table des étudiants et la clé étrangère dans la table des notes. Le numéro d'étudiant dans la liste des notes doit être le numéro d'étudiant dans la liste des étudiants. Par conséquent, le numéro d’étudiant dans le tableau des étudiants et le numéro d’étudiant dans le tableau des notes sont cohérents. On peut comprendre intuitivement que la fonction des clés étrangères est d'obtenir une cohérence de signe de la même chose dans différentes tables. 2. Réalisation fonctionnelle de deux tables connectées par des clés étrangères Lorsqu'elle est utilisée séparément, la fonction de clé étrangère est réalisée par deux méthodes [4] :
Empêcher l'exécution
●Insérez une nouvelle ligne de la table et la valeur de la clé étrangère n'est pas la valeur de la clé primaire de la table principale, ce qui empêche l'insertion
● Modifiez la valeur de la clé étrangère ; la table, et la nouvelle valeur n'est pas la clé primaire de la table principale. La valeur empêchera la modification
● Supprimez une ligne de la table principale, et sa valeur de clé primaire empêchera la suppression si elle existe dans la table principale. table esclave (si vous souhaitez la supprimer, vous devez d'abord supprimer les lignes concernées de la table esclave
●La table maître modifie la valeur de la clé primaire si l'ancienne valeur existe dans la table esclave); la modification est bloquée (si vous souhaitez la modifier, vous devez d'abord supprimer les lignes concernées de la table esclave).
Exécution en cascade
● Supprimez les lignes de la table principale et supprimez ensemble les lignes associées de la table
● Modifiez la valeur de la clé primaire dans ; la table principale, modifiez ensemble les valeurs de clé étrangère des lignes associées de la table. Deux méthodes sont proposées aux utilisateurs. Quelle que soit la méthode choisie, il n’y aura aucune ligne supplémentaire dans le tableau. D'un autre point de vue, la même chose est obtenue en rejetant l'incohérence entre les indicateurs de la table esclave et de la table maître pour obtenir une cohérence avec les indicateurs de la table maître.
● Deux méthodes d'implémentation, choisissez des manières suivantes :
● Interface : configurez deux zones de sélection pour la mise à jour en cascade et la suppression en cascade. Si cette option est sélectionnée, la cascade sera exécutée, et sinon. sélectionné, il sera bloqué ;
●Command : Soit E)kSCM)E et RESTRICT deux options facultatives, CASCADE signifie exécution en cascade et RESTRICT signifie empêcher l'exécution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!