Heim >Datenbank >MySQL-Tutorial >Kann ein Fremdschlüssel auf mehrere Tabellen in polymorphen Assoziationen verweisen?
Polymorphe Fremdschlüssel: Kann ein Fremdschlüssel auf mehrere Tabellen verweisen?
Das Konzept der Fremdschlüssel in relationalen Datenbanken beinhaltet typischerweise die Angabe des genauen Ziels Tabelle, auf die eine Referenzspalte verweisen soll. Wenn es jedoch um polymorphe Assoziationen geht, bei denen eine Tabelle eine Beziehung zu mehreren anderen Tabellen in einer Menge hat, stellt sich die Frage: Ist es möglich, einen Fremdschlüssel zu haben, der auf eine dieser Tabellen verweisen kann?
Die Antwort: Nein
Sowohl in MySQL als auch in PostgreSQL kann eine Fremdschlüsseleinschränkung nur auf eine einzelne übergeordnete Tabelle verweisen. Diese Einschränkung stellt die Datenintegrität sicher, indem eine klare Beziehung zwischen den referenzierenden Zeilen und den referenzierten Zeilen in der übergeordneten Tabelle aufrechterhalten wird.
Alternativen für polymorphe Assoziationen
Da ein Fremdschlüssel dies nicht kann Wenn Sie direkt auf mehrere Tabellen verweisen, sind alternative Lösungen erforderlich, um polymorphe Assoziationen zu modellieren:
Zusätzliche Ressourcen
Weitere Einblicke in polymorphe Assoziationen und ihre Lösungen finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonKann ein Fremdschlüssel auf mehrere Tabellen in polymorphen Assoziationen verweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!