MichiLee: Datenbankmodellierungen

Beitrag lesen

Hi,

Ich hätte das so geschrieben:
Zwischentabelle(Zwsichen_ID(PK), Spalte_DB1(FK), Spalte_DB2(FK))
Das kann man natürlich machen. Aber es wird nicht benötigt, da du sowieso ein Wertepaar aus Spalte_DB1 und Spalte_DB2 sowieso eindeutig sein muss.
Ich bin mir auch gerade nicht sicher, ob diese Relation dann noch der 3. Normalform entspräche.

Sollte eigentlich schon.

Wusste nicht, dass man einen Schlüssel, sowohl als Primär, als auch als Fremd definieren könnte :-)
So ist es ja auch nicht. Die Fremdschlüsselbeziehung besagt ja nur, dass der Wert einer Tabelle einen Wert einer anderen referenzieren muss, dass also die Tabelle (bzw. die Spalte), auf die der Fremdschlüssel verweist, einen solchen Wert enthalten muss.

Der Primärschlüssel definiert hingegen eine Attributmenge (also eine gewisse Anzahl von Spalten) einer Relation (Tabelle), die jeden einzelnen Datensatz der Relation eindeutig identifizieren können muss.

In diesem Zusammenhang ist ein zusammengesetzter Schlüssel(-kandidat) einfach nur die logische Konsequenz, die aus der Definition einer n:m-Beziehung folgt.

Jetzt verstehe ich was man damit meint, wenn man das (PK) dazsuchreibt.
Praktisch so etwas in der Art:
Zwischentabelle(Spalte_DB1(FK), Spalte_DB2(FK) -> UNIQUE(Spalte_DB1, Spalte_DB2))

Grüße