Maison > base de données > tutoriel mysql > Une clé étrangère peut-elle référencer plusieurs clés primaires dans différentes tables, et quelle est la meilleure alternative ?

Une clé étrangère peut-elle référencer plusieurs clés primaires dans différentes tables, et quelle est la meilleure alternative ?

DDD
Libérer: 2025-01-11 08:16:41
original
315 Les gens l'ont consulté

Can a Foreign Key Reference Multiple Primary Keys in Different Tables, and What's the Best Alternative?

Référence de clé étrangère croisée

Cet article explore la possibilité de créer des clés étrangères dans une table pour référencer les clés primaires de plusieurs autres tables. Plus précisément, il s’articule autour d’un scénario posé par celui qui pose la question.

Interprétation de scène

Le questionneur a deux tables, employees_ce et employees_sn, chacune avec sa propre colonne de clé primaire. Ils ont également une troisième table appelée deductions qui nécessite une clé étrangère pour référencer les clés primaires de employees_ce et employees_sn. L'exemple fourni illustre davantage cette situation :

<code>employees_ce
--------------
empid   name
khce1   prince

employees_sn
----------------
empid   name
khsn1   princess</code>
Copier après la connexion
<code>deductions
--------------
id      name
khce1   gold
khsn1   silver</code>
Copier après la connexion
Copier après la connexion

Solution

Bien que l'objectif de l'interrogateur soit techniquement réalisable, il ne s'agit pas d'une bonne pratique en matière de conception de bases de données. La méthode préconisée est de définir une table intermédiaire pour relier les deux tables, par exemple :

<code>employees
----------------
empid   name

employees_types
---------------
empid   type
khce1   ce
khsn1   sn</code>
Copier après la connexion

Avec cette configuration, la table deductions peut avoir une clé étrangère référençant la colonne employees dans la table empid, créant ainsi une relation simple entre les trois tables.

<code>deductions
--------------
id      name
khce1   gold
khsn1   silver</code>
Copier après la connexion
Copier après la connexion

Avantages de la méthode du tableau intermédiaire

La méthode du tableau intermédiaire offre les avantages suivants :

  • Il simplifie la gestion des données en fournissant un point de référence unique pour référencer les employés.
  • Cela évite le problème des clés étrangères faisant référence à plusieurs clés primaires, ce qui peut entraîner des incohérences et des problèmes d'intégrité des données.
  • Il permet flexibilité et extensibilité, avec la possibilité d'ajouter d'autres types d'employés sans changer le deductions tableau.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal