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>
<code>deductions -------------- id name khce1 gold khsn1 silver</code>
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>
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>
Avantages de la méthode du tableau intermédiaire
La méthode du tableau intermédiaire offre les avantages suivants :
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!