Heim >Datenbank >MySQL-Tutorial >Wie implementiert man zusammengesetzte Fremdschlüssel in MySQL?

Wie implementiert man zusammengesetzte Fremdschlüssel in MySQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-25 07:37:31901Durchsuche

How to Implement Composite Foreign Keys in MySQL?

Implementieren zusammengesetzter Fremdschlüssel in SQL

Ein gängiges Datenbankdesign besteht darin, Beziehungen zwischen Tabellen mithilfe zusammengesetzter Schlüssel herzustellen. Ein zusammengesetzter Schlüssel ist eine Kombination aus mehreren Spalten, die einen Datensatz in einer Tabelle eindeutig identifiziert. In diesem Szenario haben Sie zwei Tabellen, Tutorial und Gruppe, in denen Sie den zusammengesetzten eindeutigen Schlüssel im Tutorial mit einem Feld in der Gruppe verknüpfen müssen.

Laut MySQL-Dokumentation unterstützt MySQL die Zuordnung von Fremdschlüsseln zu zusammengesetzten Schlüsseln. Um diese Beziehung herzustellen, müssen Sie jedoch mehrere Spalten in der referenzierenden Tabelle (Gruppe) erstellen, die mit den Primärschlüsselspalten in der referenzierten Tabelle übereinstimmen (Tutorial).

Hier sind die Schritte zum Erstellen Fremdschlüsselzuordnung:

-- Alter the 'group' table to add the composite foreign key columns
ALTER TABLE `group`
ADD COLUMN `beggingTime` time NOT NULL,
ADD COLUMN `day` varchar(8) NOT NULL,
ADD COLUMN `tutorId` int(3) NOT NULL;

-- Add the foreign key constraint
ALTER TABLE `group`
ADD FOREIGN KEY (`beggingTime`, `day`, `tutorId`)
REFERENCES `tutorial`(`beggingTime`, `day`, `tutorId`);

Durch die Erstellung der drei Fremdschlüsselspalten (bettingTime, day und tutorId) in der Gruppentabelle stellen Sie im Tutorial die Beziehung zum zusammengesetzten Primärschlüssel her Tisch. Dadurch können Sie Daten aus beiden Tabellen basierend auf dem zusammengesetzten Schlüssel zusammenführen und abrufen.

Es ist wichtig zu beachten, dass die Verwendung zusammengesetzter Fremdschlüssel zwar technisch unterstützt wird, es jedoch allgemein empfohlen wird, stattdessen einen einspaltigen Primärschlüssel zu verwenden. Dies liegt daran, dass zusammengesetzte Schlüssel die Leistung beeinträchtigen und die Komplexität Ihres Datenbankdesigns erhöhen können. Erwägen Sie nach Möglichkeit eine Neuarchitektur Ihrer Tabellen, um im Tutorial einen einspaltigen Primärschlüssel zu verwenden.

Das obige ist der detaillierte Inhalt vonWie implementiert man zusammengesetzte Fremdschlüssel in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn