Frage

Wie ist der Name für die Technik zur Herstellung eines Satzes von Fremdschlüssel in einer Tabelle mit denen alle bis auf eine NULL für eine bestimmte Zeile sind?

Mit anderen Worten, jede Zeile muss einen Fremdschlüssel zu einer (und man nur) von n verschiedenen möglichen Tabellen, so dass Sie alle tatsächlich über die notwendigen Fremdschlüssel aber alle bis auf einen sind NULL.

(Benutzer von Django können als Alternative erkennen dies ein generischer Fremdschlüssel zu verwenden)

War es hilfreich?

Lösung

Der Begriff für die Gestaltung Sie beschreiben, ist Exclusive Arc .

Stattdessen ziehe ich einen Fremdschlüssel, dass Verweise eine gemeinsame Super-Tabelle Ihrer n verschiedener übergeordneten Tabellen zu machen.

Sehen Sie meine anderen Antworten für polymorphe Assoziationen:

Andere Tipps

Es wäre ein Beispiel einfacher gewesen, aber ein gemeinsamer Weg zu entwirren Das ist einfach einen gemeinsamen Super-Typen für diese Tabellen zu finden. Nehmen wir an, dass wir Tabellen Book, Article, Magazine haben und jetzt eine Tabelle, muss der Fremdschlüssel für diese Tabellen haben. einen gemeinsamen Super-Typ unter Verwendung von Publicationresolves dies. Sehen Sie hier für das Modell und die ähnliche Frage / Antwort.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top