Relationenmodell Zusammengesetzer Fremdschlüssel

Hallo, beim Relationenmodell wird der Primärschlüssel unterstrichen und Fremdschlüsseln wird ein Pfeil vorgesetzt. Wie werden aber zusammengesetze Fremdschlüssel geschrieben?
Konkret geht es darum dass die Entität Kunde die beiden Attribute Postleitzahl und Land enthält. Es gibt jedoch eine weiter Entität Names Ort mit den Attributen Postleitzahl, Land, und Ort. Der Hintergrund ist dass die PLZ 12345 in Deutschland einen anderen Ort meint als beispielsweise in den USA (Ich bin mir bewusst dass das Datenformat nicht in allen Ländern gleich ist). Ein Ort ist also nur mit der PLZ und dem zugehörigen Land identifizierbar.

mfg

Alex

Hallo Alex,

ich würde imho sagen:
Auch wenn du hundert Felder zum Fremdschlüssel zusammensetzt, es ist und bleibt EIN (Fremd)Schlüssel.

Grüße aus Rostock
Wolfgang
(Netwolf)

Das schon, in der Programmierung macht das auch kein Problem. Es geht nur um die korrekte Schreibweise beim Relationsmodell. Fremdschlüssle werden ja mit einem Pfeil nach oben vor dem Attribut gekennzeichnet. Doch wo muss im besagtem Fall der Pfeil hin? Wenn er nur vor einem der beiden Attribute steht erkennt man nicht dass der Fremdschlüssel aus beiden besteht, wenn der Pfeil dagegen jeweils vor Beiden steht sieht es so aus als handele es sich um zwei verschiedene Fremdschlüssel die auf verschiedene Tabellen verweisen. Oder ist das einfach eine Schwachstelle der Notationsweise?

mfg

Alex

Moin, Alex,

beim Relationenmodell (…)

bei welchem? Ich kenne aus der lameng bestimmt 7 Darstellungen.

Gruß Ralf

Der Name ist mir nicht bekannt, wenn das hilft das zugehörige ER-Modell ist nach der Chen-Notation erstellt. Das Relationsmodell dass ich meine ist so aufgebaut:

ENITÄTT (Attribut1, Attribut2, Attribut 3, …)

Der Primärschlüssel ist dabei Unterstrichen (Bei einem zusammengesetzen alle zugehörigen) und Fremdschlüssel die auf andere Enitäten verweisen beginnen mit einem Pfeil nach oben.

Moin, Alex,

die Darstellung (hier für FS-Attr ein „FS_“ anstatt eines Pfeils)

**Tabelle** (<u>PrimaryKey</u>, FS\_Attr1, FS\_Attr2, Attr1, Attr2, ...)

kann eh nicht alles abbilden, sie zeigt zB nicht, wie viele Beziehungen einlaufen. In Deinem Beispiel könnte die Kombination FS_Attr1, FS_Attr2 aus einer Entität kommen, möglich wären aber auch zwei Entitäten. Das sieht man dem einzelnen FS-Attr nicht an.

Ein Durchnumerieren à la FS1_Attr1, FS1_Attr2 hilft auch nicht weiter. In der Praxis kommt es durchaus vor, dass eine Beziehung 2 FS-Attr liefert, eine weitere Beziehung liefert ebenfalls 2, und eines davon haben die Beziehungen gemeinsam.

Gruß Ralf