Heim >Datenbank >MySQL-Tutorial >Wie implementiert man zusammengesetzte Fremdschlüssel in MySQL?
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!