Das Entity-Relationship-Modell

Das Entity-Relationship-Modell (ERM oder ER-Modell) ist das heute mit am weitesten verbreitete Datenmodell. Der Einsatz von ER-Modellen ist der De-facto-Standard für die Datenmodellierung, auch wenn es unterschiedliche grafische Darstellungsformen für Datenmodelle gibt.

In der Datenbank wird ein Ausschnitt der Realität abgebildet oder modelliert. Da die Realität eine überschaubare Anzahl von Möglichkeiten und Randbedingungen beinhaltet ist bei der Beschreibung dieses Ausschnitts eine Beschränkung auf die wichtigsten oder interessantesten Objekte der Realität und ihre Beziehungen untereinander sinnvoll. Wir erzeugen dadurch einen Ausschnitt der realen Welt, eine „Miniwelt“.

Eine Datenbank verknüpft verschiedene Entitäten der Miniwelt auf logische Weise, stellt also die Beziehungen zwischen den Entitäten dar. Eine Entität ist dabei ein Objekt der Minwelt, das verschiedenen Eigenschaften haben kann - diese Eigenschaften nennt man Attribute der Entität.

Im folgenden Beispiel sind die Entitäten „Schüler“ und „Lehrer“, dargestellt im folgenden Entity-Relations-Diagram (ER-Diagramm). Unterschlagen werden dabei Aspekte der Realität wie „Schüler findet Lehrer doof“, „Lehrer schreibt schwere Klasssenarbeiten“ und der Umsatnd, dass in der realen Welt Eltern existieren. Je nach dem Zweck den,eine Datenbank erfüllen soll, werden anderen Aspekte der Realität in der Miniwelt abgebildet und in das Modell übernommen.

„Jeder Schüler hat genau einen Klassenlehrer“ ist hier die Beziehung zwischen den Entitäten „Schüler“ und „Lehrer“. Da jeder Schüler nur genau einen Klassenlehrer hat, spricht man hier von einer N:1 Relation („Viele zu Eins“) zwischen den Entitäten „Schüler“ und „Lehrer“.

Insgesamt gibt es nur vier Beziehungen:

1:1 - Beziehung

1:N - Beziehung

N:1 - Beziehung (Umkehrung zu 1:N)

N:M - Beziehung

Übersicht zum ER-Modell

Übung 1

Lege zur Bearbeitung der Übungen einen entsprechenden Unterbereich auf deiner Wikiseite an und beantworte die Fragen dort schriftlich. Diagramme kannst du mit einem Programm deiner Wahl erstellen und in die Wikiseiten einfügen.

Aufgabe: Neue Entitäten

Ergänze die Entitäten der beispielhaften Schulverwaltungsdatenbank durch weitere Attribute

Ergänze die Schulverwaltungsdatenbank durch eine weitere Entität, die mit mindestens einer der beiden vorgegebenen in einer Beziehung steht.

Zeichne ein ER-Diagramm für deine „neue“ Schulverwaltungsdatenbank

Übung 2

Aufgabe: ER-Diagramme Finde für folgende ER-Diagramme den Beziehungstyp heraus und notiere ihn auch am Diagramm. Falls nötig kannst du dir verbale Formulierungen überlegen: Beispiel:
Lösung:
Ein Lehrer ist Klassenlehrer von vielen Schülern ⇒ 1:N
(anders als oben: jeder Schüler hat genau einen Klassenlehrer ⇒ N:1)

Diagramm 1:

Diagramm 2:

Diagramm 3:

Versuche den Beziehungstyp von der sprachlichen Umschreibung abzuleiten

a) „Eine Bestellung kann verschiedene Produkte enthalten“
Diagramm 4:

b) „Neben normalen Kunden kann die Datenbank auch Kunden enthalten, die noch nichts bestellt haben“

Übung 3

Aufgabe: ER-Diagramme Modelliere die folgenden Situationen in einem ER-Diagramm: Welche Beziehung besteht zwischen den Entitäten, welche Attribute haben die Entitäten?

Schüler (Vorname, Name) erhalten Zeugnisse. Die Zeugnisse enthalten eine Bemerkung über Mitarbeit und Verhalten und die Fachnoten.

Zu einer gespeicherten Sammlung von Digitalfotos, deren Datum und Auflösung bekannt ist, soll ein Stichwortverzeichnis angelegt werden.

CDs (Titel, ISBN-Nummer) sind von bestimmten Interpreten (Name) und enthalten Songs (Titel). (3 Entitäten!)

Übung 4

Aufgabe: ER-Diagramme Erweitere die Entitäten in deiner Bücherdatenbank in mysql um weitere Attribute indem du Felder in vorhandene Tabellen hinzufügst. Füge neue Entitäten hinzu, indem du neue Tabellen anlegst. Informiere dich in einer Internetrecherche über die möglichen Feldtypen in mysql und halte die wichtigsten auf deiner Wiki-Seite fest.