Frage

Im Master-Detail-Beziehungen, tun Detail Tabellen-ID-Spalten enthalten?

Oder sollte es?

In Northwind-Datenbank ist nicht Orderdetail eine ID-Spalte hat.

War es hilfreich?

Lösung

Jede Datentabelle, die Sie haben, enthält etwas, das Sie in der Lage sein wollen, immer abrufen sollte einen Primärschlüssel enthalten - das ist es Hauptaufgabe:. Eindeutig identifizieren eine einzelne Zeile

Nur weil die Details zu einem Master-Reihe gehören, bedeutet nicht, dass sie nicht die volle Datenzeilen selbst sind -. Sie müssen in irgendeiner Weise identifizierbar sein

Also ja - ich würde jedes Detail Tabelle empfehlen, irgendeine Form eines Primärschlüssels ( „ID“) zu haben. Ob das irgendwie mit der Master-ID oder nicht, ist etwas, das Sie auf einer Fall-zu-Fall-Basis entscheiden könnten -. Aber es war ein Weg, um jedes Detail Reihe unabhängig irgendwie zu identifizieren

Wenn Sie eine Link-Tabelle für eine M haben: N-Beziehung, in der Regel, dann werden Sie nur haben die beiden Fremdschlüsselspalte (für Tabellen 1 und 2) in dort. Das ist in der Regel gut genug, da die Kombination dieser beiden FK einzigartig ist.

Der einzige Grund, eine separate ID zu einer solchen Tabelle hinzuzufügen wäre, wenn Sie Zusatzinformationen hinzufügen müssen, die die Beziehung per se beschreiben. Aber selbst dann, solange die (Taste 1, 2) Kombination einzigartig ist, dass ist in der Regel gut genug.

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