Entity-Relationship-Modell (ERM)

Inhaltsverzeichnis

1. Einführung in das Entity-Relationship-Modell (CHEN-Notation)

Definition: Das Entity-Relationship-Modell (ERM) ist ein Werkzeug zur Modellierung von Datenbanken. Es visualisiert die Struktur einer Datenbank durch die Darstellung von Entitäten, ihren Attributen und den Beziehungen zwischen den Entitäten.

Das ERM wurde 1976 von Peter Chen entwickelt und ist heute eines der wichtigsten Modellierungswerkzeuge im Datenbankdesign. Es hilft dabei:

Hauptbestandteile des ERM

Ein ER-Modell besteht aus drei Grundelementen:

  1. Entitäten: Objekte oder Dinge der realen Welt
  2. Attribute: Eigenschaften von Entitäten
  3. Beziehungen: Verbindungen zwischen Entitäten

2. Entität

Definition: Eine Entität ist ein eindeutig identifizierbares Objekt der realen oder gedachten Welt, über das Informationen gespeichert werden sollen. Entitäten werden in ER-Diagrammen als Rechtecke dargestellt.
Beispiele für Entitäten:

Konkrete Ausprägungen: Datensätze

Eine Entität beschreibt eine allgemeine Kategorie (z.B. "Schüler"). Die konkreten Ausprägungen dieser Entität nennt man Datensätze.

Beispiel:

Darstellung in der Chen-Notation

In der Chen-Notation werden Entitäten als Rechtecke dargestellt:

Schüler

3. Attribute

Definition: Attribute sind Eigenschaften, die eine Entität näher beschreiben. Sie werden in ER-Diagrammen als Ovale dargestellt, die mit der Entität verbunden sind.
Beispiel - Entität "Schüler":

Arten von Attributen

Attributart Beschreibung Beispiel
Einfaches Attribut Kann nicht weiter unterteilt werden Vorname, Alter
Zusammengesetztes Attribut Besteht aus mehreren Teilattributen Adresse (Straße, PLZ, Ort)
Einwertiges Attribut Hat genau einen Wert pro Datensatz Geburtsdatum
Mehrwertiges Attribut Kann mehrere Werte haben Telefonnummern, Hobbys
Abgeleitetes Attribut Wird aus anderen Attributen berechnet Alter (aus Geburtsdatum)

Primärschlüssel

Definition: Ein Primärschlüssel ist ein Attribut oder eine Kombination von Attributen, das/die jeden Datensatz eindeutig identifiziert. In ER-Diagrammen wird der Primärschlüssel unterstrichen.
Beispiel: Bei der Entität "Schüler" könnte die Schüler-ID als Primärschlüssel dienen, da jeder Schüler eine eindeutige ID hat.

Darstellung in der Chen-Notation

Schüler Schüler-ID Vorname Nachname Geburtsdatum

4. Beziehungen

Definition: Eine Beziehung (auch Relation genannt) beschreibt eine Verbindung zwischen zwei oder mehreren Entitäten. Beziehungen werden in ER-Diagrammen als Rauten dargestellt.
Beispiele für Beziehungen:

Darstellung in der Chen-Notation

Schüler besucht Kurs

5. Kardinalität

Definition: Die Kardinalität gibt an, wie viele Datensätze einer Entität mit wie vielen Datensätzen einer anderen Entität in Beziehung stehen können. Sie beschreibt die Anzahl der möglichen Zuordnungen.

Arten von Kardinalitäten

Kardinalität Bedeutung Beispiel
1:1
(eins zu eins)
Ein Datensatz der ersten Entität ist genau einem Datensatz der zweiten Entität zugeordnet und umgekehrt Ein Mitarbeiter hat genau einen Firmenwagen, ein Firmenwagen gehört genau einem Mitarbeiter
1:N
(eins zu viele)
Ein Datensatz der ersten Entität kann mehreren Datensätzen der zweiten Entität zugeordnet sein, aber ein Datensatz der zweiten Entität ist nur einem Datensatz der ersten Entität zugeordnet Ein Lehrer unterrichtet mehrere Schüler, aber jeder Schüler hat (in diesem Fach) nur einen Lehrer
N:1
(viele zu eins)
Mehrere Datensätze der ersten Entität sind einem Datensatz der zweiten Entität zugeordnet Mehrere Mitarbeiter arbeiten in einer Abteilung, aber jeder Mitarbeiter gehört nur zu einer Abteilung
N:M
(viele zu viele)
Mehrere Datensätze der ersten Entität können mehreren Datensätzen der zweiten Entität zugeordnet sein und umgekehrt Ein Schüler besucht mehrere Kurse, ein Kurs wird von mehreren Schülern besucht
Hinweis zur Notation: In der Datenbankmodellierung wird die Schreibweise N:M verwendet (nicht N:N), da die beiden Seiten der Beziehung unterschiedliche Entitäten betreffen. Das N steht für "viele" auf der einen Seite, das M für "viele" auf der anderen Seite. Dies verdeutlicht, dass es sich um potenziell unterschiedliche Anzahlen handelt, da die beiden Seiten einer Beziehung oft unterschiedliche Kardinalitäten aufweisen (z. B. ein Student belegt mehrere Kurse, ein Kurs hat viele Studenten – aber nicht zwingend gleich viele).

Beispiele mit Visualisierung

1:N-Beziehung: Abteilung - Mitarbeiter

Abteilung hat Mitarbeiter 1 N Eine Abteilung hat viele Mitarbeiter

N:M-Beziehung: Schüler - Kurs

Schüler besucht Kurs N M Viele Schüler besuchen viele Kurse

Min-Max-Notation (alternative Darstellung)

Neben der einfachen Kardinalität gibt es auch die Min-Max-Notation, die genauere Angaben ermöglicht:

Beispiel: (1,1) bedeutet "mindestens 1, höchstens 1"
(0,N) bedeutet "mindestens 0, höchstens viele"
(1,N) bedeutet "mindestens 1, höchstens viele"

6. Aufgaben

Aufgabe 1: Entitäten identifizieren

Gegeben ist folgende Beschreibung eines Online-Shops:

"Kunden können Artikel bestellen. Jeder Kunde hat eine Kundennummer, einen Namen und eine Adresse. Artikel haben eine Artikelnummer, eine Bezeichnung und einen Preis. Bestellungen werden mit einer Bestellnummer erfasst und enthalten das Bestelldatum."

Aufgaben:

  1. Identifizieren Sie alle Entitäten in dieser Beschreibung
  2. Listen Sie für jede Entität die Attribute auf
  3. Markieren Sie die Primärschlüssel

Lösungshinweise:

Schritt 1: Entitäten finden

Teilantwort: Eine der Entitäten ist Kunde.

Welche zwei weiteren Entitäten können Sie identifizieren?

Schritt 2: Attribute zuordnen

Schritt 3: Primärschlüssel

Aufgabe 2: Kardinalitäten bestimmen

Bestimmen Sie die Kardinalität für folgende Beziehungen:

  1. Autor - Buch (Ein Autor kann mehrere Bücher schreiben, ein Buch kann von mehreren Autoren geschrieben werden)
  2. Land - Hauptstadt (Jedes Land hat genau eine Hauptstadt, jede Hauptstadt gehört zu genau einem Land)
  3. Kunde - Bestellung (Ein Kunde kann mehrere Bestellungen aufgeben, jede Bestellung gehört zu genau einem Kunden)
  4. Student - Universität (Ein Student ist an genau einer Universität eingeschrieben, eine Universität hat viele Studenten)

Lösungshinweise:

Vorgehensweise:

Erinnerung an die Kardinalitäten:

Beispiel für Aufgabe 1 (Autor - Buch):

➡️ Ein Autor → mehrere Bücher (N)

⬅️ Ein Buch ← mehrere Autoren (M)

→ Kardinalität: N:M

Versuchen Sie nun die anderen selbst!

Tipp für Aufgabe 2: Denken Sie an Deutschland und Berlin...

Aufgabe 3: ER-Diagramm erstellen

Erstellen Sie ein vollständiges ER-Diagramm für folgendes Szenario:

"Eine Bibliothek verwaltet Bücher und Ausleihen. Jedes Buch hat eine ISBN, einen Titel, einen Autor und ein Erscheinungsjahr. Mitglieder der Bibliothek haben eine Mitgliedsnummer, einen Namen und eine Adresse. Ein Mitglied kann mehrere Bücher ausleihen, aber jedes Buch kann zu einem Zeitpunkt nur von einem Mitglied ausgeliehen sein. Für jede Ausleihe wird das Ausleihdatum und das Rückgabedatum gespeichert."

Hinweise:

Lösungshinweise:

Schritt 1: Entitäten identifizieren

Es gibt 3 Entitäten:

  • Buch
  • Mitglied
  • ? (Überlegen Sie: Was hat eigene Attribute wie Ausleihdatum und Rückgabedatum?)

Schritt 2: Attribute zuordnen

Entität Attribute (unvollständig) Primärschlüssel
Buch ISBN, Titel, ... ?
Mitglied Mitgliedsnummer, ... ?
??? Ausleihdatum, Rückgabedatum ?

Schritt 3: Beziehungen und Kardinalitäten

Wichtig: Wenn eine Beziehung eigene Attribute hat (hier: Ausleihdatum, Rückgabedatum), wird sie oft zu einer eigenen Entität!

Aufgabe 4: Fehleranalyse

Folgendes ER-Diagramm enthält mehrere Fehler. Identifizieren Sie die Fehler und korrigieren Sie diese:

Student studiert Fach 1 1 (Keine Attribute dargestellt)

Fehler:

Lösungshinweise:

Fehler 1: Kardinalität

❌ Die Kardinalität 1:1 bedeutet:

  • Ein Student studiert genau 1 Fach
  • Ein Fach wird von genau 1 Student studiert

💡 Ist das realistisch? Studieren Studenten nicht normalerweise mehrere Fächer?

→ Die korrekte Kardinalität sollte N:M sein!

Fehler 2: Fehlende Attribute

Fehler 3: Primärschlüssel

Es sind keine Primärschlüssel definiert! Welche Attribute eignen sich?

Aufgabe 5: Erweiterte Modellierung

Szenario A - Bibliothekssystem (erweitert):

Erweitern Sie das Bibliotheks-Modell aus Aufgabe 3 um folgende Anforderungen:

Lösungshinweise Szenario A:

Neue Entitäten:

Kardinalitäten:

Beziehung Kardinalität Begründung
Autor - Buch N:M Ein Autor kann mehrere Bücher schreiben, ein Buch kann mehrere Autoren haben
Verlag - Buch ? Überlegen Sie: Wie viele Verlage veröffentlichen ein Buch?

Tipp: Beginnen Sie mit den Entitäten aus Aufgabe 3 und fügen Sie die neuen hinzu!


Szenario B - Schulverwaltungssystem:

Modellieren Sie ein Kurssystem für eine Schule mit folgenden Anforderungen:

Lösungshinweise Szenario B:

Entitäten: Schüler, Kurs, Lehrer, Raum

Kardinalitäten (teilweise):

  • Schüler ↔ Kurs: N:M (viele Schüler besuchen viele Kurse)
  • Lehrer ↔ Kurs: ? (Überlegen Sie: Ein Lehrer unterrichtet viele Kurse, aber...)
  • Kurs ↔ Raum: ? (Ein Kurs findet in einem Raum statt, aber...)

Tipp: Zeichnen Sie Kurs in die Mitte und verbinden Sie die anderen Entitäten drumherum!


Szenario C - Projektmanagement:

Erstellen Sie ein ER-Modell für ein Projektmanagement-System:

Besondere Herausforderung: Beachten Sie die rekursive Beziehung (Mitarbeiter ist Projektleiter eines Projekts)!

Lösungshinweise Szenario C:

Entitäten: Mitarbeiter, Projekt, Aufgabe

Besonderheit: Rekursive Beziehung

💡 Ein Mitarbeiter kann Projektleiter sein - aber ein Projektleiter ist auch ein Mitarbeiter!

→ Die Beziehung "leitet" geht von der Entität Mitarbeiter zu sich selbst

→ Kardinalität: 1:N (Ein Mitarbeiter leitet viele Projekte, aber jedes Projekt hat nur einen Leiter)

Weitere Kardinalitäten:

Tipp: Zeichnen Sie die rekursive Beziehung als Schleife oberhalb der Entität Mitarbeiter!

7. Zusammenfassung

Wichtigste Punkte:

Chen-Notation - Übersicht

Symbolübersicht Chen-Notation Entität Rechteck Attribut Oval Primärschlüssel Unterstrichenes Oval Beziehung Raute Beispiel: Vollständiges ER-Diagramm Kunde bestellt Artikel N M Ein Kunde kann viele Artikel bestellen, ein Artikel kann von vielen Kunden bestellt werden