Ternäre Beziehung (min, max)

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Ternäre Beziehung (min, max)
Im 3. Übungsblatt soll man in Aufgabe 3 einen ternären Beziehungstyp “betreuen” in Chen-Notation in (min, max) umformulieren:
Student(N) - Seminarthema(1) - Universitätsangestellter(1)
Ich würde jetzt so an das Problem herangehen:

Pro Student und Seminarthema gibt es einen Uniangestellten und pro Student und Uniangestellten gibt es ein Seminarthema, also (0, 1) zu Student hingeschreiben.
Pro Seminarhema und Uniangestellten gibt es N Studenten und pro Seminarthema und Studenten gibt es 1 Uniangestellten, also (0, N) zu Seminarthema, weil N größer als 1 ist. Dito für den Uniangestellten.

Jetzt steht aber in der Musterlösung an allen 3 Entities ein (0, N). Was ist also an meiner Vorgehensweise falsch?


Wenn bei Min-Max zum Beispiel am Student eine (0,1) steht, dann heißt das, dass der Student mind. 0x und max 1x an dieser Beziehung teilnimmt.
Bei deiner Lösung könnte also ein Student max 1x an der Beziehung teilnehmen.
Beispielsweise wäre aber durch Chen folgendes ja trotzdem möglich:

  • Student Hans x Angestellter Müller x Thema Biologie
  • Student Hans x Angestellter Meier x Thema Chemie
    usw.
    Der Student kann also beliebig oft an der Beziehung teilnehmen, darüber wieviele Angestellte es für ein best. Thema und einen best. Studenten gibt etc., sagt Min-Max nichts aus (kann es auch gar nicht.)

Für die anderen analog.

1 „Gefällt mir“

weitere Frage zu tenären Beziehungen
Wir haben bei einem “klassischen” Beispiel versucht die Chen-Notation in (min, max)-Notation umzuwandeln.
Sind uns aber nicht sicher, ob unsere Lösung (siehe Anhang) so richtig ist…

erscheint uns etwas zu einfach :wink:

Attachment:
Chen_MinMax.jpg: https://fsi.cs.fau.de/unb-attachments/post_118028/Chen_MinMax.jpg


OK, jetzt ist mir die Sache schon viel klarer.
@ Cliff_T: Ihr habt, wenn ich richtig sehe, den gleichen Denkfehler drin wie ich :wink: Euer Lieferant müsste in Rente gehen, nachdem er ein Paket geliefert hat.


@ Cliff_T: Ich würde hier auch sagen, dass es 3x (0,N) heißen müsste.
Btw soweit ich weiß gibt es bei Min-Max kein (0,M) sondern immer nur (0,N).


@cliff_t
ich hole mal etwas weiter aus um das zu erklaeren, falls dir das alle schon klar ist les einfach unten bei der ternaeren beziehung weiter

aus den folien:

in der chen notation hingegen beziehen sich die zahlen aber quasi auf die andere seite.
ich versuch mal ein beispiel:
jeder angestellte arbeitet bei genau einem arbeitgeber. (wie viele angestellte ein arbeitgeber beschaeftigt wird nicht naeher eingegrenzt —> er kann 0 bis viele beschaeftigen also N).
angestellter===N===arbeitsvertrag----1----arbeitgeber

hier wird hoffentlich deutlich wie sich die zahlen „auf die andere seite“ beziehen und quasi ein maximum angeben:
ein arbeitgeber geht die beziehung zu maximal N angestellten ein.
ein angestellter geht die beziehung zu maximal 1 arbeitgeber ein.

wo ist das genau ein hin? es heisst gleichzeitg maximal ein und minimal ein. maximal ist abgedeckt.

das mindestens 1 wird durch die totale teilnahme auf angestelltenseite ausgedrueckt.

nun lesen wir noch mal die verhaeltnisse oben fuer (min,max). da wird einfach nur gesagt an wie vielen beziehungsinstanzen die jeweilige enitity teilnimmt.
angestellter —(1 als min durch totale teilnahme, 1 als max durch die 1 bei arbeitgeber) — arbeitsvertrag —(0 weil keine totale teilnahme, N aus N bei angestellter) — arbeitgeber

soviel noch mal als erklaerung zu min,max vs chen generell.
nun die anwendung auf ternaere beziehungen:

zu deinem loesungsvorschlag cliff_t:
die maxzahlen bleiben dort wo vorher die zahlen vom chen waren. das funktioniert nicht mal fuer binaere beziehungen wie oben hoffentlich deutlich gemacht.

bei einer ternaeren musst du die chen notation verstehen und dann die informationen die du hast umsetzen.
es gibt schon mal keine totalen teilnahmen, diese koenntest du direkt an ort und stelle in min=1 umsetzen (man moege mich korrigieren aber ich bin mir eigentlich sicher). also ist min ueberall 0 das ist also richtig.

jetzt muss man noch die zahlen der chen notation richtig interpretieren:
pro projekt/teil kombination gibt es genau einen lieferanten.
pro lieferant/teil kombination gibt es beliebig viele projekte.
… analog

nun muesst ihr euch fragen ob sich daraus ein maximum ergibt wie oft ein lieferant an der beziehung teilnehmen kann.

chen und (min,max) druecken etwas anderes aus und sind nicht aequivalent. d.h. es koennen beim umwandeln in die jeweils andere notation informationen verloren gehen.
bei binaeren beziehungstypen hat man aber oft den eindruck die aussage ist aequivalent, was denke ich bis auf minima >1 auch der fall ist.


ok…das bei der Konvertierung in die jeweils andere Darstellungen Information verlorengeht (oder gehen kann) hatte ich irgendwie vergessen. Vielen Dank für eure ausführlichen Antworten!
Mein/unser Denkfehler ist uns klar geworden :wink: