Relationenmodell
Max1988
- datenbank
0 Daniel Thoma0 Max19880 Daniel Thoma0 Max19880 Vinzenz Mai
Hallo,
ich habe ein dickes Problem. Ich muss zu morgen ein ERM inclusive relationenmodell abgeben und komme bei der Überführung in ein Relationenmodell nicht weiter. Hoffentlich kann mir hier jemand helfen:
Folgendes Beispiel soll mein Problem verdeutlichen:
entität1:Person(<u>PersID</u>,name)
entität2:Autofahrt(<u>AutofahrtId</u>,Strecke)
beziehung zwischen den beiden(relationship-typ): fährt UND fährt mit.
Wie sieht für mein Beispiel das Relationenmodell aus?
hätte ich nur die Beziehung wär das kein Problem, Autofahrt könnte die PersID als Fremdschlüssel erben. Relationenmodell danach:
Autofahrt(<u>AutofahrtID</u>,Strecke,PersID)
so und wie bekomme ich jetzt den Beifahrer unter?
Das ist ja Quark:
Autofahrt(<u>AutofahrtID</u>,Strecke,PersID,PersID)
VG Max
Hallo Max1988,
so und wie bekomme ich jetzt den Beifahrer unter?
Es ist nur ein Beifahrer?
Autofahrt(<u>AutofahrtID</u>,Strecke,PersID,PersID)
Dann wäre das genau richtig.
Sind es mehrere, brauchst Du eine extra Zuordnungstabelle der Form:
AutofahrtZuMitfahrer(AutofahrtID,PersID)
Beantwortet das Deine Frage? Dieser "Trick" mit der Zuordnungstabelle ist eigentlich absolutes Basiswissen beim Entwurf von Datenbanken. Das braucht man eigentlich immer für n:m-Beziehungen.
Grüße
Daniel
Hallo,
danke für deine antwort, es ist nur ein beifahrer. Ich kann sowas modellieren:Autofahrt(<u>AutofahrtID</u>,Strecke,PersID,PersID)?
Dann hätten ja in meiner tabelle autofahrt zwei Felder/Attribute den gleichen Namen, das geht doch net...
MFG Max
Hallo Max1988,
Dann hätten ja in meiner tabelle autofahrt zwei Felder/Attribute den gleichen Namen, das geht doch net...
Achso, ich dachte, das was Du da angibst, wären so eine Art Datentyp bzw Fremdschlüsselbeziehung. Du kannst den Spalten ja einfach verschiedene Namen geben. Ich würde die Spalten sowieso immer nach der Bedeutung, die sie in der entsprechenden Tabelle haben, benennen und nicht danach, was sie enthalten.
Also etwa so (nach dem : steht der "Typ"):
Autofahrt(<u>AutofahrtID</u>: int,Strecke: ...,Fahrer: PersID, Beifahrer: PersID)
Grüße
Daniel
Hallo Daniel,
nochmal danke für deinen Aufwand zu so später Stunde, es ging mir um die Überführung eines ERM in ein Relationenmodell. Die datentypen und wie die Datenbank letztlich aussehen soll ist mir schon völlig klar - nur das formale ist das Problem(muss ich aber leider abgeben).
im ERM sind Beziehungen wie im ersten Thread dargestellt.
entität1:Person(<u>PersID</u>,name)
entität2:Autofahrt(<u>AutofahrtId</u>,Strecke)
zwischen Person und Autofahrt bestehten die Relationshiptypen(Raute) "fährt" und "fährt mit"(eine Autofahrt hat genau eine Person als Fahrer und 0oder 1 Person als Mitfahrer). Und eigentlich wird ja der Primärschlüssel von Person als Fremdschlüssel in Autofahrt übernommen. Aber dann müsste ich ja hier 2mal PersID übernehmen, das geht aber nicht. Und meine Frage war wie ich das nun im Relationenmodell darstelle...hab mal was von Rollennamen gehört, hat das was damit zu tun?
VG Max
Hallo Max,
Und eigentlich wird ja der Primärschlüssel von Person als Fremdschlüssel in Autofahrt übernommen. Aber dann müsste ich ja hier 2mal PersID übernehmen, das geht aber nicht.
selbstverständlich geht das. Das ist das normalste von der Welt.
Stell Dir vor, Du hast eine Entity Personen und eine weitere Entity Ehe.
Wie willst Du das denn sonst lösen?
Freundliche Grüße
Vinzenz
Hallo Vinzenz
Und eigentlich wird ja der Primärschlüssel von Person als Fremdschlüssel in Autofahrt übernommen. Aber dann müsste ich ja hier 2mal PersID übernehmen, das geht aber nicht.
selbstverständlich geht das. Das ist das normalste von der Welt.
Stell Dir vor, Du hast eine Entity Personen und eine weitere Entity Ehe.
Wie willst Du das denn sonst lösen?
ja genau so, meine Frage ist ja nur nach der "Syntax" des Relationenmodells dafür. (Oder wo gebe ich dann die Spaltennamen im ERM an)
MFG MAX
hallo
hier noch mal das bsp. für das ich das relationenmodell suche
http://www.megaupload.com/de/?d=5RJQ7QQG
danke für eure hilfe.
mfg max
Hallo max1988,
Da gibt es eine Beschreibung diverser Varianten:
http://de.wikipedia.org/wiki/Entity-Relationship-Modell#ER-Diagramme
Dort sieht man auch diverse Möglichkeiten, Rollenbeziehungen anzugeben.
Grüße
Daniel