MINT lernen

Mit dem ER-Modell modellieren

Aus einem Absatz Anforderungstext wird ein Diagramm — welche Wörter werden Rechtecke, welche Rauten, und welche fliegen raus?

1

Vom Text zum Diagramm

  • Entitätstypen:Substantive, über die mehrere Angaben gespeichert werden (Pfleger, Tier).
  • Attribute:einzelne Angaben zu einem Entitätstyp (Name, Art) — je Entitätstyp ein Schlüsselattribut unterstreichen.
  • Beziehungstypen:Verben, die zwei Entitätstypen verbinden (betreut).
  • Kardinalitäten:je Beziehung zwei Fragen: „Ein A — höchstens wie viele B?“ und umgekehrt.
  • Beziehungsattribute:Angaben, die von beiden Partnern zugleich abhängen (Leistung bei einem Start), hängen an der Raute.
  • Weglassen:das System selbst (Tierheim) und Werte, die sich berechnen lassen (Anzahl, Alter).

Wähle unten ein Werkzeug und klicke dann Wörter im Anforderungstext an. Attribute und Beziehungstypen brauchen danach noch ihren Platz: Klicke in der Zeichnung auf den Entitätstyp (bzw. die beiden Entitätstypen), zu dem sie gehören. Kardinalitäten setzt du per Klick auf das „?“ an der Kante. „Prüfen“ vergleicht mit einer Musterlösung.

ER-Werkstatt

Auftrag 1 von 3

Werkzeug:

Halte fest: Nicht jedes Substantiv wird ein Rechteck. Entitätstyp wird nur, worüber mehrere Angaben gespeichert werden; eine Angabe, die von zwei Partnern zugleich abhängt, gehört an die Raute.

Merke

Vom Text zum Modell: Substantive mit eigenen Angaben → Entitätstypen, Angaben → Attribute (Schlüssel unterstreichen), Verben → Beziehungstypen, dann die Kardinalitäten in beide Richtungen fragen.

2

Entscheidungen beim Modellieren

  • Attribut oder Entitätstyp?:nur ein Wert (Abteilungsname) → Attribut; eigene Angaben oder von vielen geteilt (Verlag mit Anschrift) → Entitätstyp.
  • Mehrere Werte:kann eine Entität mehrere Werte haben (Telefonnummern), wird daraus ein eigener Entitätstyp mit 1:n.
  • Wiederholte Vorgänge:jede Ausleihe mit Datum → n:m-Beziehung mit Attributen, oft sogar ein eigener Entitätstyp.
  • Künstlicher Schlüssel:fehlt ein eindeutiges Attribut, wird eine Nummer ergänzt (KursNr).

Herleitung:

„Jede Lehrkraft unterrichtet mehrere Kurse; jeder Kurs hat genau eine Lehrkraft. Gespeichert werden Kürzel und Name der Lehrkraft sowie Thema und Raum des Kurses.“
Text lesen
Zwei Substantive mit eigenen Angaben: Lehrkraft und Kurs. „Raum“ ist nur ein Wert des Kurses.
Lehrkraft (Kuerzel, Name) · Kurs (KursNr, Thema, Raum)
Entitätstypen + Attribute
Kurs hat kein eindeutiges Attribut — Themen wiederholen sich. Deshalb eine künstliche KursNr.
„unterrichtet“: Ein Kurs → höchstens eine Lehrkraft · Eine Lehrkraft → viele Kurse
Beziehung + Kardinalität
Die 1 steht an der Kante bei Lehrkraft, das n bei Kurs.
1nLehrkraftKursunterrichtet
Ergebnis
Das fertige Modell (Attribute hier weggelassen): Lehrkraft und Kurs in einer 1:n-Beziehung.
Merke

Modellierungsentscheidungen: Ein Wert → Attribut; eigene Angaben, mehrere Werte oder geteilte Daten → Entitätstyp; Angaben zu einem Paar → Beziehungsattribut.

3

Allgemeine Hinweise

Das System ist kein Entitätstyp

„Tierheim“ oder „Schule“ steht im Text, ist aber der Rahmen der Datenbank. Es gäbe genau eine Entität — darüber legt man keinen Typ an.

Keine Fremdschlüssel im ER-Diagramm

Beziehungen stehen als Rauten im Diagramm. Die Pfleger-Nummer als Attribut von Tier wäre doppelt modelliert; Fremdschlüssel entstehen erst beim Überführen (6.2.3).

Mit Beispieldaten testen

Denke dir drei, vier konkrete Entitäten aus und spiele jede Kardinalität durch: Darf Pfleger Kim zwei Tiere betreuen? Darf Tier Bello zwei Pfleger haben?

Videos