Heim >Datenbank >MySQL-Tutorial >Kann eine Abzugstabelle über Fremdschlüssel verfügen, die auf mehrere Primärschlüssel in separaten Mitarbeitertabellen verweisen?
Fremdschlüsseleinschränkungen über mehrere Mitarbeitertabellen hinweg
In diesem Artikel wird die Möglichkeit untersucht, Fremdschlüsselbeziehungen in einer Abzugstabelle zu erstellen, die mit Primärschlüsseln in mehreren Mitarbeitertabellen (employees_ce und Employees_sn) innerhalb einer einzigen Datenbank verknüpft sind.
Die Herausforderung besteht darin, dass es zwei unterschiedliche Mitarbeitertabellen gibt, Mitarbeiter_ce und Mitarbeiter_sn, jede mit ihrem eigenen Primärschlüssel (empid). Das Ziel besteht darin, einen Fremdschlüssel in der Abzugstabelle zu erstellen, der auf beide Primärschlüssel verweist.
Es wird ein Beispieldatensatz vorgestellt, der die Datenstruktur von Employees_ce und Employees_sn sowie die beabsichtigten Fremdschlüsselreferenzen in der Abzugstabelle zeigt.
Optimales Datenbankdesign
Die effektivste Lösung besteht darin, die Datenbank mit einem stärker normalisierten Ansatz neu zu strukturieren. Anstelle separater Tabellen für ce- und sn-Mitarbeiter sollte eine einzelne, einheitliche employees
-Tabelle mit einem eindeutigen id
-Feld als Primärschlüssel erstellt werden.
Die vorhandenen employees_ce
- und employees_sn
-Tabellen können dann als untergeordnete Tabellen mit mitarbeiterspezifischen Attributen umgestaltet werden. Beide würden einen Fremdschlüssel enthalten, der auf das Feld id
in der Haupttabelle employees
verweist.
Dieser konsolidierte Ansatz macht mehrere Fremdschlüsselverweise in der Ableitungstabelle überflüssig, wodurch das Datenbankschema vereinfacht und die Datenintegrität verbessert wird. Die resultierende Struktur ist effizienter und einfacher zu verwalten.
Das obige ist der detaillierte Inhalt vonKann eine Abzugstabelle über Fremdschlüssel verfügen, die auf mehrere Primärschlüssel in separaten Mitarbeitertabellen verweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!