Guter Link zum Thema ER-Modell und Relationships gesucht

Status
Nicht offen für weitere Antworten.

MeThree

Mitglied
Hat leider nicht in den Titel gepasst. Ich will mein Verständnis für das ER-Modell schärfen.

Wann ist es eine one-to-one Beziehung
Wann ist es eine one-to-many Beziehung
Wann ist es eine many-to-many Beziehung

Das ist ein logisches Denkproblem beim Datenmodellentwurf in Visual Paradigm. Denn: Wo ist denn der Unterschied zwischen one-to-many oder many-to-many? Nicht klar, weil: "Gehe ich immer von EINEM Datensatz aus? Ach was...ich habe doch tausende User, und tausende Nachrichten, also many-to-many!" Oder geht die Betrachtungsweise hier nicht von den Daten aus, sondern von der nackten Entität an sich?

"Ein User hat viele Nachrichten, also many-to-many!" -> ist aber auch nicht ganz eindeutig / logisch, weil: Stimmt ja gar nicht. Es ist nicht ein User. "Tausende User haben viele Nachrichten". Es läuft immer auf many-to-many hinaus.

Hat jemand einen guten Link, wo an Hand von Beispielen erklärt wird, wann es was für ein Verbindungstyp ist und was für eine Kardinalität?

thx
 

MeThree

Mitglied
*plonk* ... hätte ich wohl drauf kommen können. Trotzdem: Wenn jemand noch bessere links kennt, immer her damit. Das Internet ist größer als Wikipedia.
 
G

Gelöschtes Mitglied 5909

Gast
du gehst nicht von einem datensatz aus sondern von der beziehung.
Bei einer one2many hast du einen ganz normalen FK. Bei einer many2many beziehung braucht man (ohne redundanz zu erzeugen) eine extra tabelle

beispiel one2one
Code:
ID | Name     | FK          ID | Warenkorb_id
__________________          ____________
1  | "alice"  | 1           1  | "irgendwaseindeutigesundkryptisches"
2  | "foobar" | 2           2  | ""irgendwaseindeutigesundkryptisches2"

-> constraint FK unique
-> eher nicht gebräuchlich, stattdessen tabellen zusammenfassen
-> kann man verwenden wenn man logisch trennen will, oder sonstigen gründen

beispiel 2 one2one

IS-A Beziehung:

Tabelle Person
Code:
ID | Name
_________
1  | Egon
2  | Hugo

Tabelle Manager
Code:
ID | Gehalt
_________
1  | 3 Mio
Tabelle Administrator
Code:
ID | Rechte
_________
1  | r,w,x
2  | r,w,x
-> Egon ist ein Manager und auch Administrator
-> Hugo ist Administrator

-> vermeidung von redundanz
-> Nachbildung von Vererbung




beispiel one2many
Code:
ID | Name     | FK          ID | Land
__________________          ____________
1  | "alice"  | 1           1  | "Wunderland"
2  | "foobar" | 1

alice und foobar wohnen als im wunderland

-> Ein Land hat viele Bewohner


beispiel many2many

Code:
ID | Schauspieler     ID | Film                   Schauspieler_ID | Film_ID
_________________     _________                   _________________________
1  | "Bruce Willis"   1  | "Die hard"             1               | 1
2  | "Foobar"         2  | "Die hard 2"           2               | 1
                      3  | "alice im wunderland"  1               | 2
                                                  2               | 3

bruce willis hat in die hard, die hard 2 mitgemacht, aber nicht bei alice im wunderland
foobar hat bei die hard und alice im wunderland mitgemacht, aber nicht bei die hard 2
bei die hard spielten bruce willis und foobar mit
bei die hard 2 spielte bruce willis mit
bei alice im wunderland spielte foobar mit

-> Schauspieler können in mehreren Filmen mitgewirkt habe
-> jeder Film hat mehrere Schauspieler oder kann mehrere haben
 

MeThree

Mitglied
Danke für die ausführliche Erklärung! Habe ich nun kapiert. Bei Egon und Hugo ist wahrscheinlich was verwechselt worden, aber ich weis was du meinst. :D
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben