Dies ist eine alte Version des Dokuments!
LU04c – ERM und ERD
Einleitung
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.
Entity-Relationship Model (ERM)
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.
Entity-Relationship Diagram (ERD)
Ein ERD ist die grafische Darstellung des ERM. Es zeigt Entitäten als Kästen, 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 ↔ viele Filme (n:m Beziehung)
Tools: ERM/ERD zeichnen
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/JPG).
Im folgenden ER-Diagramm sehen Sie, wie am BZZ die Entitäten Lehrer, Schüler/Lernende, Klasse und Räume miteinander verbunden sind:
Warum lernen wir das?
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.