ER-Modell

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Begriffe

  • Entität: konkretes, eindeutig identifizierbares Datenobjekt (z.B. bestimmter Autor, bestimmtes Buch).
  • Alle Entitäten mit gleichen Attributen gehören zu einer Entitätenmenge (z.B. Autor, Buch). [hier: gelb]
  • Attribut: gemeinsame Eigenschaften aller Entitäten einer Entitätenmenge. Der konkrete Titel eines bestimmten Buches ist der Attributwert. [hier: grün]
  • Primärschlüssel: dient der eindeutigen Identifizierung einer Entität (z.B. eindeutige ID, ISBN...). [hier: durchgängig unterstrichene Attribute] Man kann übrigens auch mehrere Attribute als gemeinsamen Primärschlüssel definieren.
  • Fremdschlüssel: dient als Verweis zwischen zwei Relationen (ist Primärschlüssel einer anderen Entitätenmenge). [hier: strich-strich-unterstrichene Attribute]
  • Beziehung (Relationship): Zwischen den verschiedenen Entitätenmengen existieren Beziehungen (z.B. "verfasst" ein Autor ein Buch). [hier: orange]

Mschubert Buchverkaeufer db.png

Tabellen

Die Entitätenmenge Autor und Buch sollen beispielhaft verdeutlicht werden.

Autor:

A_ID Name
3 Berta Buchschreiber
4 Viktor Verfasser
5 Sally Schreiber

Buch:

ISBN A_ID Titel Bestand
1234567890123 4 Das Leben im Erz 3
1111111111111 4 Mei Arzgebirg - wie bist du schie 0
2222222222222 5 Die moderne Frau 1

Beziehungstypen - Kardinalität

Beziehungen haben eine Kardinalität wie 1:n.

  • 1:1 - Ein Mann hat eine Frau; eine Frau hat einen Mann (normalerweise...).
  • 1:n - Ein Mond gehört zu einem Planeten; ein Planet kann mehrere Monde haben.
  • n:m - Ein Lehrer hat mehrere Schüler; ein Schüler hat mehrere Lehrer.

Das Beispiel oben hat ebenfalls alle drei Beziehungstypen - prüfe dies nach, indem du ähnliche Sätze bildest.

n:m - Beziehungen

Im obigen Beispiel haben die Entitätenmengen Buch und Kunde eine n:m Beziehung.

Für eine Umsetzung bedeutet dies, dass hier eine weitere (nicht direkt eingezeichnete) Tabelle benötigt wird.

Tabelle Buch ist bereits oben abgebildet.

Kunde:

KuNr Name PLZ (...Ort, Straße, Hausnummer)
1024 August Ausleiher 09456
1025 Damaris Dauerleser 09456
1027 Sindy Schmöker 09123

Zusatztabelle: Buchverleih (könnte auch "Buch_Kunde" heißen):

ISBN (Fremdschlüssel) KuNr (Fremdschlüssel) Ausleihdatum Laenge
1234567890123 1024 2012-11-01 21
1234567890123 1027 2012-10-27 14
2222222222222 1027 2012-10-28 14

Wie man sieht, kann man deshalb auch zusätzliche Attribute in die Beziehung anbringen (Ausleihdatum und Länge).

Hinweis: Dieses Beispiel hat den Mangel, dass ein Kunde das gleiche Buch nicht nochmal ausleihen kann - Es sei denn, der vorherige Eintrag würde gelöscht. Der Einfachheit halber soll dies aber genügen.

Persönliche Werkzeuge