ERD steht für Entity-Relationship Diagram (Entity-Relationship-Diagramm). Das ist eine visuelle Darstellung der Struktur deiner Datenbank, die zeigt, wie Entities (Tabellen) miteinander verbunden sind.
Stell dir vor, ein ERD ist wie ein U-Bahn-Plan für deine Datenbank. Die Stationen sind die Tabellen und die Linien dazwischen sind die Beziehungen. Diese Karte hilft dir zu verstehen, wie du zwischen den Stationen navigierst (und wie die Tabellen zusammenarbeiten).
Ein ERD besteht aus:
- Entities: Das sind Objekte oder Tabellen wie "Studenten", "Kurse", "Dozenten".
- Attribute: Das sind Spalten in den Tabellen, wie
ID,Name,Nachname. - Beziehungen: Das sind Linien zwischen den Tabellen, die die Beziehungen zeigen, zum Beispiel: Ein Student ist in mehreren Kursen eingeschrieben.
Mit einem ERD kannst du nicht nur deine Datenbank planen, sondern auch deinen Kollegen oder Chefs zeigen, wie sie aufgebaut ist. Das ist ein mächtiges Tool für jeden Entwickler!
Grundelemente eines ERD
- Entities
Eine Entity ist wie eine Mini-Datenbank. Jede Entity entspricht einem echten Objekt oder Begriff, den du in deinem System verwalten willst. Zum Beispiel:
- Tabelle "Studenten".
- Tabelle "Kurse".
- Tabelle "Ausleihen" (im Bibliothekssystem).
Beispiel:
+---------------+
| Studenten |
+---------------+
| ID |
| Name |
| Nachname |
| Geburtsdatum |
+---------------+
- Attribute Attribute sind einzelne Eigenschaften oder Merkmale einer Entity. Sie werden als Spalten in der Datenbanktabelle dargestellt. Zum Beispiel:
- Für die Tabelle "Studenten" könnten das
ID,Name,Nachnamesein. - Für die Tabelle "Kurse" sind das
Kurs-ID,Kursname.
Im ERD werden sie meistens innerhalb des Rechtecks der Entity aufgelistet.
Beziehungen zwischen Entities
Eine Beziehung zeigt, wie zwei Entities miteinander interagieren. Hier nochmal die wichtigsten Beziehungstypen:
- Eins-zu-eins (1:1): Zum Beispiel hat jeder Student einen einzigartigen Ausweis.
- Eins-zu-viele (1:N): Zum Beispiel kann ein Dozent mehrere Kurse unterrichten.
- Viele-zu-viele (M:N): Zum Beispiel sind mehrere Studenten in mehreren Kursen eingeschrieben.
Beispiel für eine Eins-zu-viele-Beziehung:
Studenten (1) <----- eingeschrieben -----> (N) Kurse
Um Beziehungen in der Datenbank umzusetzen, nutzen wir meistens Fremdschlüssel.
Wie erstellt man ein ERD?
Schauen wir uns Schritt für Schritt an, wie du ein ERD erstellst – und ein Beispiel für eine Bibliothek.
Schritt 1: Entities bestimmen
Deine Aufgabe ist es, das System in die wichtigsten Objekte zu zerlegen. Für ein Bibliothekssystem zum Beispiel:
- "Bücher".
- "Leser".
- "Ausleihen".
Beispiel:
+-------------+ +--------------+ +------------+
| Bücher | | Leser | | Ausleihen |
+-------------+ +--------------+ +------------+
| ID | | ID | | ID |
| Titel | | Name | | Leser |
| Autor | | Nachname | | Buch |
| ISBN | | Geburtsdatum | | Ausleihdatum|
+-------------+ +--------------+ +------------+
Schritt 2: Attribute hinzufügen
Jede Entity sollte die wichtigsten Attribute haben. Zum Beispiel:
- Die Tabelle "Bücher" sollte
ID(Primärschlüssel),Titel,Autor,ISBNenthalten. - Die Tabelle "Leser" –
ID,Name,Nachname.
Schritt 3: Beziehungen festlegen
Jetzt fügst du die Beziehungen zwischen den Entities hinzu:
- "Ausleihen" sind mit "Büchern" verbunden (ein Buch kann mehrmals ausgeliehen werden).
- "Ausleihen" sind mit "Lesern" verbunden (ein Leser kann mehrere Bücher ausleihen).
Schritt 4: Visualisieren
Nutze ein beliebiges Tool zum Zeichnen von Diagrammen, zum Beispiel:
- draw.io
- dbdiagram.io
- Lucidchart
- Microsoft Visio
Das Diagramm sieht dann so aus:
[Leser] ----(1:N)---- [Ausleihen] ----(N:1)---- [Bücher]
Für jede Beziehung füge den Datentyp und eine Erklärung hinzu, zum Beispiel:
- Leser-ID in "Ausleihen" ist mit dem Primärschlüssel der Tabelle "Leser" verbunden.
Beispiel: ERD für einen Online-Shop
Für einen Online-Shop brauchst du eine logische Struktur mit:
- Benutzer (registrierte Kunden).
- Produkte (Artikel).
- Bestellungen.
Schritt 1: Entities
- Benutzer:
Benutzer-ID,Name,Email. - Produkte:
Produkt-ID,Name,Preis. - Bestellungen:
Bestellungs-ID,Benutzer-ID,Bestelldatum.
Schritt 2: Beziehungen festlegen
- Ein Benutzer kann mehrere Bestellungen machen (1:N).
- Eine Bestellung kann mehrere Produkte enthalten (M:N).
Das komplette ERD sieht so aus:
[Benutzer] ----(1:N)---- [Bestellungen] ----(N:M)---- [Produkte]
Um die Viele-zu-viele-Beziehung umzusetzen, füge eine Zwischentabelle hinzu:
- Bestellungspositionen:
Bestellungs-ID,Produkt-ID,Anzahl.
Tipps zur ERD-Erstellung
Überlege dir zuerst, was du in deiner Datenbank sehen willst. Alles beginnt mit dem Verständnis deines Fachgebiets.
Nimm nur die Attribute und Entities auf, die wirklich wichtig sind. Zu viele Details können verwirren.
Stelle sicher, dass alle Beziehungen logisch Sinn machen. Wenn eine Beziehung komisch wirkt, überdenke sie nochmal.
Nutze Tools, die dir beim Visualisieren helfen. Das spart Zeit und Nerven.
GO TO FULL VERSION