LU03c – ERM und ERD

Bevor wir eine Datenbank mit Tabellen in MySQL umsetzen, machen wir uns Gedanken über die Struktur der Daten. Dazu benutzen wir ein konzeptionelles Modell, das sogenannte Entity-Relationship Model (ERM). Das Ergebnis wird dann in einem Entity-Relationship Diagramm (ERD) dargestellt.

Merksatz: Das ERM/ERD ist der Bauplan einer Datenbank.

Ein ERM beschreibt die Daten und ihre Beziehungen in der realen Welt.

  • Eine Entität (engl. entity) ist ein Objekt oder ein Begriff, über den wir Informationen speichern möchten. → Beispiele: Film, Schauspieler, Kunde, Bestellung.
  • Ein Attribut ist eine Eigenschaft einer Entität. → Beispiel: Ein Film hat einen Titel, ein Erscheinungsjahr und ein Genre.
  • Eine Beziehung (engl. relationship) beschreibt, wie Entitäten zueinander in Verbindung stehen. → Beispiel: Eine Bestellung wird von einem Kunden ausgelöst.

Das ERM dient also dazu, die Realität in Datenbank-Form zu modellieren, bevor wir Tabellen anlegen.

Ein ERD ist die grafische Darstellung des ERM. Es zeigt Entitäten als Rechtecke, Attribute als Ovale Felder um die Entität, und Beziehungen als Linien bzw. Rauten zwischen den Entitäten.

Beispiel (Filmdatenbank):

  • Entität Film (Titel, Jahr, Regisseur, Genre)
  • Entität Schauspieler (Name, Geburtsjahr)
  • Beziehung spielt mit in: Ein Schauspieler/eine Schauspielerin spielt mit in mehreren Filmen und in einem Film spielen viele Schauspieler:innen (n:m Beziehung)


Das Attribut ISAN wird im ER-Diagramm unterstrichen dargestellt, da es ein guter Kandidat für den Primärschlüssel wäre. Die ISAN (International Standard Audiovisual Number) ist für Filme vergleichbar mit der ISBN bei Büchern – sie identifiziert einen Film eindeutig.

  • Rechtecke = Entitäten
  • Ovale = Attribute
  • Rauten = Beziehungen zwischen den Entitäten

Entität und Attribut unterscheiden

Viele Lernende stolpern anfangs darüber, was eine Entität, ein Attribut oder eine Beziehung ist.

Folgendes Vorgehen, kann Ihnen dabei helfen zu bestimmen, was was ist:

1. Starten Sie mit der Geschichte bzw. dem Business Case

Fragen Sie sich: Welche „Dinge“ sollen in der Datenbank gespeichert werden?

→ Wenn es ein „Ding“ ist, das für sich allein existieren kann und von dem es viele geben kann → Entität

  • Beispiele:
    • Film
    • Kunde
    • Produkt
    • Bestellung
    • Schauspieler:in
2. Schauen Sie IN dieses Ding

Fragen Sie sich: Welche Eigenschaften wollen wir über dieses Ding speichern?

→ Wenn es eine Eigenschaft ist, die das Ding beschreibt, aber nicht für sich alleine stehen kann → Attribut

  • Beispiele:
    • Film → Titel, Erscheinungsjahr
    • Produkt → Preis, Lagerbestand

3. Schauen Sie ZWISCHEN die Dinge

Fragen Sie sich: Wie sind diese Dinge miteinander verbunden oder interagieren sie?

* Wenn es um die Verknüpfung zwischen zwei Entitäten geht → Beziehung

  • Beispiele:
    • Film ↔ Regisseur → „dreht“
    • Kunde ↔ Bestellung → „gibt auf“
    • Bestellung ↔ Produkt → „enthält“
4. Der 3-Fragen-Schnelltest

* Entität? Können Sie sich vorstellen, eine Liste davon zu speichern (Film 1, Film 2, Film 3 …)? * Attribut? Beschreibt es nur eine einzelne Eigenschaft einer Entität (Titel eines Films)? * Beziehung? Verknüpft es zwei Entitäten (Kunde gibt Bestellung auf)?

5. Übungsbeispiel

Geschichte: *Ein Kunde bestellt Produkte in einem Webshop.*

* Entitäten: Kunde, Produkt, Bestellung * Attribute: Kunde → Name, E-Mail; Produkt → Titel, Preis; Bestellung → Bestelldatum, Gesamtbetrag * Beziehung:

  • Kunde ↔ Bestellung → „gibt auf“
  • Bestellung ↔ Produkt → „enthält“

Im folgenden ER-Diagramm wird dargestellt, wie am BZZ die Entitäten Lehrer, Schüler/Lernende, Klasse und Räume miteinander in Beziehung stehen.

 
Rechtecke = Entitäten, Ovale = Attribute (unterstrichene Attribute = Primärschlüssel), 
Rauten = Beziehungen zwischen den Entitäten.

Die Kardinalität beschreibt die Art der Beziehung zwischen zwei Entitäten (z. B. Lehrer und Klasse). Sie zeigt, wie viele Objekte einer Entität mit wie vielen Objekten einer anderen Entität verbunden sind.

Es gibt drei Hauptarten von Kardinalitäten:


1. One-to-One (1:1) Eine Instanz 2) von Entität A gehört genau zu einer Instanz von Entität B.

Beispiel:

  • Ein:e Mitarbeitende hat genau ein Arbeitsplatz
  • Jeder Reisepass gehört genau einer Person

2. One-to-Many (1:N) Eine Instanz 3) von Entität A kann mit vielen Instanzen von Entität B verbunden sein. Umgekehrt gehört jede Instanz von B zu genau einer Instanz von A.

Beispiel:

  • Ein Regisseur kann viele Filme drehen, aber ein Film hat in der Regel nur ein Regisseur, eine Regisseurin.
  • Ein Spotify-Artist produziert viele Songs. Ein Song ist (meistens) nur von einem Artist produziert.
  • Eine Klasse hat viele Lernende. Eine Lernende, ein Lernender ist Teil (in der Regel) einer Klasse.

3. Many-to-Many (M:N) Mehrere Instanzen von Entität A können mit mehreren Instanzen von Entität B verknüpft sein.

Beispiel:

  • Mehrere Schauspieler:innen ↔ spielen in mehreren Filmen (ein Schauspieler/eine Schauspielerin kann in mehreren Filmen mitspielen und ein Film kann mehrere Schauspieler:innen haben)
  • Viele Lernende ↔ besuchen mehrere Module
  • Viele Songs ↔ sind in mehreren Playlists enthalten

Zum Zeichnen benutzen wir Draw.io, ein kostenloses Online-Tool.

  • Links in der Leiste gibt es die Kategorie Entity Relation → Symbole für Tabellen, Attribute, Beziehungen.
  • Modelle können gespeichert oder exportiert werden (Datei → Exportieren → PNG).

Wenn wir Tabellen direkt in MySQL erstellen würden, ohne vorher ein ERD, hätten wir schnell Probleme:

  • doppelte oder widersprüchliche Daten,
  • fehlende Schlüssel → Daten lassen sich nicht eindeutig verknüpfen,
  • unklare Strukturen → niemand versteht die Datenbank ausser dem Ersteller.

Ein ERD sorgt dafür, dass:

  • die Struktur klar und nachvollziehbar ist,
  • wir richtige Beziehungen zwischen Tabellen setzen,
  • wir später in SQL effizient arbeiten können.

Folgende Videos helfen Ihnen, das Thema noch besser zu verstehen:



1)
Quelle: Timo Bäuerle/YouTube
2) , 3)
Eine Instanz ist ein konkretes Beispiel oder eine einzelne Ausprägung einer Entität → Entität „Film“ → Instanz: „The Godfather“
4)
Decomplexify / YouTube
5)
IT & Medien einfach erklärt / YouTube
6)
Informatik - simpleclub / YouTube
7)
Sebastian Philippi / YouTube
  • modul/m290_guko/learningunits/lu03/theorie/c_erm_erd.txt
  • Zuletzt geändert: 2025/09/11 16:54
  • von gkoch