Frage zu (min, max) Notation im ER

Hi,

habe eine FRage zur (min, max)-Notation im ER-Diagramm.

Die Relation „Prof. hält Vorlesung“ hat zur Entity „Prof“ eine (1,1)-Notation, weil genau eine bestimmte Vorlesung genau einen bestimmte Prof. zugeordnet werden kann.

Die Relation „Studi hört Vorlesung“ hat zur Entity „Studi“ eine (0,*)-Notation, weil theoretisch niemand eine Vorlesung hören muss aber unendlich viele Studis eine Vorlesung hören können.

Aber was ist, wenn ich will, dass nur ein Student teilnimmt. Dieser Student muss kein bestimmter sein, sondern derjenige kann aus einen Pool von verschiedensten Studenten sein. Also ähnlich einen Wettbewerb oder Lotteriegewinn, wo es zwar verschiedene Kandidaten für den Gewinn gibt, aber nur einer gewinnen also an der Beziehung teilnehmen kann. Ist das auch eine (1,1)-Notation?

Besten Grüße und vielen Dank!

asdf

Moin, asdf,

Die Relation „Prof. hält Vorlesung“ hat zur Entity „Prof“ eine
(1,1)-Notation, weil genau eine bestimmte Vorlesung genau
einen bestimmte Prof. zugeordnet werden kann.

das gilt nur für den Spezialfall, dass kein Professor mehr als eine Vorlesung hält. Gibt’s vielleicht, ist mir aber noch nicht untergekommen.

Aber was ist, wenn ich will, dass nur ein Student teilnimmt.
Ist das auch eine (1,1)-Notation?

Ja, wenn auch ähnlich selten wie die vorige Relation*. Dagegen spricht vor allem die Faulheit der Professoren: Mindestens 3 Leute müssen anwesend sein, damit der Prof überhaupt anfängt.

1975 hatte ich mal einen Vorlesungsstreik nicht mitbekommen, trampelte also in den Hörsaal und war verblüfft, dort nur den Prof zu finden. Noch verblüffter war ich, als er sagte: „Schön, dass wir anfangen können, jetzt sind wir zu dritt.“ ?!? „Sie und ich und der liebe Gott - auf geht’s!“ So kam ich zum einzigen Privatissimum meiner ganzen Studienzeit :smile:

Gruß Ralf

*1:1-Relationen sind grundsätzlich verdächtig, meist beruhen sie auf Denk- oder Modellierungsfehlern, es sei denn, es ginge um Subtyping.

Moin, asdf,

Die Relation „Prof. hält Vorlesung“ hat zur Entity „Prof“ eine
(1,1)-Notation, weil genau eine bestimmte Vorlesung genau
einen bestimmte Prof. zugeordnet werden kann.

das gilt nur für den Spezialfall, dass kein
Professor mehr als eine Vorlesung hält. Gibt’s vielleicht, ist
mir aber noch nicht untergekommen.

Oh, ich glaub du hast recht! Das ist eine (1,*) oder (0,*)?!?niemals sein, dass eine Vorlesung von mehreren Prof. gehalten wird, aber immer einer, seh ich das richtig?

*1:1-Relationen sind grundsätzlich
verdächtig, meist beruhen sie auf Denk- oder
Modellierungsfehlern, es sei denn, es ginge um Subtyping.

Hätte dazu folgende Fragen:

  1. Ab wann kann man sagen, dass sie nicht verdächtig sind? Ich nehme mal an bei Identitätszuordnung, z.B.: Name, Geburtsdatum, -ort.
  2. Wo noch??
  3. Wo macht man die meisten „Denkfehler“ zu (1,1)-Notationen??
  4. Was ist Subtyping??

Danke für die Antwort nochmal! Gruß!

Hi Ralf,

Nachklapp:

Die Relation „Prof. hält Vorlesung“

sollte es gar nicht geben, wenn eine Vorlesung nur von einem
Prof gehalten wird. Dann genügt eine 1:n-Beziehung zwischen

Was ist eigentlich der Unterschied zw. 1:N (=1:n) und einer (1,*)-Notation? Dasselbe, nicht?

  1. Ab wann kann man sagen, dass sie nicht verdächtig sind? Ich
    nehme mal an bei Identitätszuordnung, z.B.: Name,
    Geburtsdatum, -ort.

Das sind weder Beziehungen noch Entitäten, sondern Attribute.

Ok, mit den Namen und Datum stimme ich mit dir überein. *sich-selbst-vor-den-kopf-schlag* mein Denkfehler ^^. Aber ich könnte „Ort“ als Entität und „geboren in“ als Relation modellieren. Dann ist das doch zweifelsfrei eine (1,1)-Notation zu einer Entität „Person“, oder? Was meinst du?

Ok, mit den Namen und Datum stimme ich mit dir überein.
*sich-selbst-vor-den-kopf-schlag* mein Denkfehler ^^. Aber ich
könnte „Ort“ als Entität und „geboren in“ als Relation
modellieren. Dann ist das doch zweifelsfrei eine
(1,1)-Notation zu einer Entität „Person“, oder?

Oder auch: Relation „geboren von“ mit Entity „Peron“.

Moin, asdf,

könnte „Ort“ als Entität und „geboren in“ als Relation
modellieren.

das könntest Du, wenn Du Wert auf korrekte Schreibweise der Ortsnamen sicherstellen möchtest. Beim „geboren in“ wäre mir das nicht so wichtig, beim Wohnort, der auf dem Adressaufkleber erscheint, schon.

Dann ist das doch zweifelsfrei eine
(1,1)-Notation zu einer Entität „Person“, oder? Was meinst du?

Das hieße ja, dass außer mir niemand in Regensburg geboren sein dürfte :smile:))

Schau die Beziehung immer von 2 Seiten an:

  • Eine Person hat genau einen Geburtsort.
  • In einem Ort werden viele Menschen geboren.

Möglicherweise gehen hier die Notationen durcheinanader. Chen schreibt die Kardinalitäten als (min, max) an die Enden der Beziehungslinie hin:

Person (1,1) ------------ (1,*) Ort

Diese Schreibweise ist umständlich und fehleranfällig, deshalb wird in den meisten Werkzeugen die Schreibweise gewählt, in der Kardinalität und Optionalität sauber getrennt sind:

Person Ort

drückt aus, dass jede Person einen Geburtsort hat. Für die Praxis taugt das nicht so sehr, da kommt es darauf an, ob der Geburtsort der Person bekannt ist:

Person Ort

Das o bedeutet hier, dass das Beziehungsattribut Person.Ort optional ist: Es darf leer sein; wenn es nicht leer ist, muss es aus der Menge der Orte kommen.

Gruß Ralf

Oder auch: Relation „geboren von“ mit Entity „Peron“.

Evita Peron oder wer?

Spaß beiseite, die Frage ist, ob das jemand wissen will. Ein Ahnenforscher vielleicht; im täglichen Leben geht es eher um Erben und Sterben, da kommt es nicht darauf an, wer wen geboren hat, sondern wer juristisch als Abkömmling gilt.

Gruß Ralf

Hi Ralf! Seit wann begrüßt man sich in mit „Moin“?

könnte „Ort“ als Entität und „geboren in“ als Relation
modellieren.

das könntest Du, wenn Du Wert auf korrekte Schreibweise der
Ortsnamen sicherstellen möchtest. Beim „geboren in“ wäre mir
das nicht so wichtig, beim Wohnort, der auf dem
Adressaufkleber erscheint, schon.

Das mit den Wohnort wollte ich auch modellieren. Aber eine Person kann ja mehrere Adressen und somit mehrere Wohnorte haben. Ich wollte aber eine (1,1)-Notation modellieren.
Mir ging es wie gesagt darum diese (1,1)-Notation aufzuschreiben, wo es halt alles möglich ist. Ich meine bei (allen??) Identitätszuordnungen ist diese (1,1)-Notation möglich. Aber danke trotzdem, bin für jeden Beitrag dankbar!

Dann ist das doch zweifelsfrei eine
(1,1)-Notation zu einer Entität „Person“, oder? Was meinst du?

Das hieße ja, dass außer mir niemand in Regensburg geboren
sein dürfte :smile:))

Na, wir meinen schon dasselbe:
|Person|—(1,1)------(0,*)—|Ort|

Schau die Beziehung immer von 2 Seiten an:

  • Eine Person hat genau einen Geburtsort.
  • In einem Ort werden viele Menschen geboren.

jau, hab ich! ^^

Möglicherweise gehen hier die Notationen durcheinanader. Chen

Bei welchen Situationen können diese Fölle auftreten??

schreibt die Kardinalitäten als (min, max) an die Enden der
Beziehungslinie hin:

Person (1,1) ------------ (1,*) Ort

Das würde ja bedeuten, dass du annimmst, dass in jedem Ort eine Person geboren sein müsste. Richtig? Wenn, ja schlage ich die größere Variante vor (siehe oben!)

Diese Schreibweise ist umständlich und fehleranfällig, deshalb
wird in den meisten Werkzeugen die Schreibweise gewählt, in
der Kardinalität und Optionalität sauber getrennt sind:

Person Ort

Versteh ich nicht wo das Problem liegt:
|Person|—(1,1)------(1,*)—|Ort| genau dasselbe, was du geschrieben hast, oder??

drückt aus, dass jede Person einen Geburtsort hat. Für die
Praxis taugt das nicht so sehr, da kommt es darauf an, ob der
Geburtsort der Person bekannt ist:

Person Ort

Das o bedeutet hier, dass das
Beziehungsattribut Person.Ort optional ist:
Es darf leer sein; wenn es nicht leer ist, muss es aus der
Menge der Orte kommen.

== |Person|—(0,1)------(0,*)—|Ort| ?? Was meinste?

Nochmal für die „Dummies“ unter uns :wink:
—>> == Relation zu vielen Entities?
—> == Relation zu genau einen Entity?
—o == optionale Relation?

Habe ich das richtig verstanden?? Wie wird diese Notation genannt und wo kann ich mehr darüber erfahren? ABer bitte einfache Literatur. ^^

Besten Dank und viele Grüße!!!

Hi asdf,

Nochmal für die „Dummies“ unter uns :wink:
—>> == Relation zu vielen Entities?
—> == Relation zu genau einen Entity?
—o == optionale Relation?

so einfach ist es. Bis auf Entities - sag lieber Ausprägungen, weil Entity meist mit Entitätstyp gleichgesetzt wird.

Habe ich das richtig verstanden?? Wie wird diese Notation
genannt und wo kann ich mehr darüber erfahren? ABer bitte
einfache Literatur. ^^

Gugel mal nach ERM + Krähenfuß.

Gruß Ralf

Mal nachgefragt…
…wo meinst du war der Vorteil vom Krähenfuß zu Chen? Wie am Beispiel oben, konnte ich doch das eine in das andere verlustfrei überführen, oder?

Beste Grüße!

…wo meinst du war der Vorteil vom Krähenfuß zu Chen? Wie am
Beispiel oben, konnte ich doch das eine in das andere
verlustfrei überführen, oder?

Zeichne mal ein mittelgroßes kleines Datenmodell mit 50 Entitäten, dann lernst Du die Darstellung zu schätzen. Ein graphisches Symbol ist besser zu lesen als eine numerische Angabe der Form 1,0. Nimm einen schlechten Drucker, dann siehst Du keinen Unterscheid zu 1,*. Abgesehen davon, dass Pfeil und Doppelpfeil schon die halbe Miete sind, um Abhängigkeiten zu sehen.

Gruß Ralf