Informatik

Beziehungen und Kardinalitäten

Entitätstypen allein ergeben noch keine Datenbank. Interessant wird es durch das, was zwischen ihnen liegt.

Beziehungstypen

Ein Beziehungstyp verbindet zwei (selten mehr) Entitätstypen. Im Ausgangstext steckt er meist in einem Verb:

  • Eine Band tritt auf einer Bühne auf.
  • Eine Person spielt in einer Band.
  • Eine Band gehört zu einem Genre.

Ein Beziehungsattribut ist eine Eigenschaft der Verbindung selbst – zum Beispiel das Instrument, das eine Person in einer bestimmten Band spielt.

Kardinalitäten

Die entscheidende Frage bei jeder Beziehung lautet: Wie viele?

Die Kardinalität gibt an, mit wie vielen Entitäten der einen Seite eine Entität der anderen Seite in Beziehung stehen kann.

Kurzform Name Beispiel
1:1 eins zu eins Jede Bühne hat genau einen Bühnenmanager, jeder Manager genau eine Bühne.
1:n eins zu viele Eine Station hat viele Fahrräder, ein Fahrrad steht an genau einer Station.
n:m viele zu viele Eine Band hat mehrere Genres, ein Genre umfasst mehrere Bands.

So bestimmst du eine Kardinalität – immer in beide Richtungen fragen:

  1. „Zu einer Band – wie viele Genres?" → mehrere
  2. „Zu einem Genre – wie viele Bands?" → mehrere

Beide Antworten „mehrere" → n:m. Eine Antwort „genau eins" → 1:n. Beide „genau eins" → 1:1.

Der häufigste Modellierungsfehler ist, nur in eine Richtung zu fragen.

Bestimme für jede Beziehung die Kardinalität. Schreibe zu jeder beide Fragen und beide Antworten auf.

a) Band – Auftritt

b) Bühne – Auftritt

c) Person – Band (über die Mitgliedschaft)

d) Besucherin – Ticket

e) Besucherin – Auftritt (über die Bewertung)

f) Land – Hauptstadt

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Die genauere Schreibweise: (min, max)

Die Angabe 1:n verschweigt eine wichtige Information: Muss es mindestens einen geben, oder darf es auch keinen sein?

Die (min, max)-Notation schreibt an jede Seite der Beziehung ein Zahlenpaar. Es sagt, an wie vielen Beziehungen eine einzelne Entität dieser Seite mindestens und höchstens beteiligt ist.

  • (0,n) – kann an beliebig vielen beteiligt sein, auch an keiner
  • (1,n) – muss an mindestens einer beteiligt sein
  • (1,1) – genau eine
  • (0,1) – höchstens eine

Für Band tritt auf Bühne auf:

  • Seite Band: (0,n) – eine Band kann mehrere Auftritte haben, eine neu verpflichtete Band aber auch noch keinen.
  • Seite Bühne: (1,n) – jede Bühne wird mindestens einmal bespielt, sonst hätte man sie nicht aufgebaut.

Und für Auftritt findet statt auf Bühne, vom Auftritt aus gesehen: (1,1) – ein Auftritt ohne Bühne gibt es nicht.

Die Minimalangabe ist die praktisch wichtigere Hälfte: Aus min = 1 wird später ein NOT NULL in der Tabelle, aus min = 0 nicht. Wer sie überspringt, entscheidet diese Frage nicht – sondern überlässt sie dem Zufall.

Gib für den Fahrradverleih aus der letzten Lektion zu jeder Beziehung beide Zahlenpaare an und begründe jede Minimalangabe.

a) Station – Fahrrad

b) Fahrrad – Ausleihe

c) Kundin – Ausleihe

Tipp

Frage bei der Minimalangabe konkret: „Kann es ein Fahrrad geben, das noch nie ausgeliehen wurde?" – „Kann es eine Ausleihe ohne Fahrrad geben?"

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Warum 1:1 selten ist

Eine 1:1-Beziehung ist fast immer ein Hinweis darauf, dass man genauer hinsehen sollte. Wenn jede Bühne genau einen Manager hat und jeder Manager genau eine Bühne, warum sind das dann zwei Tabellen? Man könnte den Managernamen einfach als Attribut in buehne führen.

Es gibt gute Gründe für eine echte 1:1-Beziehung: wenn ein Teil der Daten besonders schützenswert ist und getrennt liegen soll, oder wenn eine Seite optional ist – nicht jede Bühne hat einen Manager, aber wenn, dann genau einen. Ohne solchen Grund ist die Trennung meist überflüssig.


Selbsttest

Beziehungen und Kardinalitäten

Teilbare URL erstellen

Abschnitte auswählen