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.
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):
Im folgenden ER-Diagramm sehen Sie, wie am BZZ die Entitäten Lehrer, Schüler/Lernende, Klasse und Räume miteinander verbunden sind:
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:
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:
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:
Zum Zeichnen benutzen wir Draw.io, ein kostenloses Online-Tool.
Wenn wir Tabellen direkt in MySQL erstellen würden, ohne vorher ein ERD, hätten wir schnell Probleme:
Ein ERD sorgt dafür, dass: