1. Einführung in ERD
Ein Entity-Relationship-Diagramm (ERD) dient als ein leistungsfähiges visuelles Werkzeug zur umfassenden Abbildung der Struktur einer Datenbank. Es bietet eine grafische Darstellung der Beziehungen zwischen verschiedenen Entitäten innerhalb der Datenbank und hebt gleichzeitig die mit jeder Entität verbundenen Attribute hervor. ERDs sind während der Datenbankentwurfsphase unverzichtbar, da sie den Prozess der Definition von Datenanforderungen erleichtern und ein klares Verständnis der Architektur der Datenbank fördern. Darüber hinaus sind sie hervorragend geeignet, komplexe Datenbeziehungen zu vermitteln und somit eine unverzichtbare Kommunikationshilfe für technische und nicht-technische Beteiligte an Datenbankentwicklungsprojekten darzustellen.
ERD-Beispiel
Ein allgemeines Entity-Relationship-Diagramm (ERD) ist eine visuelle Darstellung, die im Datenbankentwurf verwendet wird, um die Struktur und Beziehungen innerhalb einer Datenbank darzustellen.
Wie ein ERD aussieht, kann je nach Komplexität der Datenbank und den verwendeten Modellierungsregeln variieren. In einem allgemeinen ERD sehen Sie Entitäten jedoch als Rechtecke dargestellt, wobei ihre Attribute innerhalb dieser Rechtecke aufgelistet sind. Linien, die die Entitäten verbinden, zeigen die Beziehungen zwischen ihnen an, und Beschriftungen auf den Linien spezifizieren die Art dieser Beziehungen. Hier ist eine einfache textuelle Darstellung, wie ein allgemeiner ERD aussehen könnte:

2. Grundkomponenten des ERD
Bevor wir uns mit fortgeschrittenen Konzepten beschäftigen, lassen Sie uns kurz die grundlegenden Komponenten eines ERD überprüfen:
- Entität:Stellt ein Gegenstand oder Konzept der realen Welt dar, wie beispielsweise eine Person, ein Ort oder eine Sache. Entitäten werden in ERDs als Rechtecke dargestellt.
- Attribut:Beschreibt eine Eigenschaft oder ein Merkmal einer Entität. Attribute werden gewöhnlich als Ovale dargestellt, die mit ihren jeweiligen Entitäten verbunden sind.
- Beziehung:Veranschaulicht, wie Entitäten miteinander verbunden sind. Beziehungen werden als Linien dargestellt, die Entitäten verbinden, oft mit einem Verben-Phrasen, die die Verbindung beschreiben.
- Kardinalität:Definiert die Anzahl der Instanzen einer Entität, die mit einer anderen Entität verknüpft sein können. Häufig verwendete Kardinalitätsnotationen sind „1“ für eine, „N“ für viele und „0..1“ für optionale Beziehungen.
- Primärschlüssel (PK):Ein Primärschlüssel ist ein eindeutiger Identifikator für jedes Datensatz (Zeile) in einer Datenbanktabelle. Er stellt sicher, dass jeder Datensatz einen eindeutigen und nicht-leeren Wert besitzt, wodurch er eine entscheidende Komponente für die Datenintegrität und die effiziente Datenabrufung darstellt. Im ERD wird ein Primärschlüssel durch ein unterstrichenes Attribut innerhalb einer Entität dargestellt.
- Fremdschlüssel (FK):Ein Fremdschlüssel ist ein Attribut oder eine Attributgruppe innerhalb einer Tabelle, die auf den Primärschlüssel einer anderen Tabelle verweist. Er stellt eine Verbindung oder Beziehung zwischen den Daten zweier Tabellen her. Im ERD wird ein Fremdschlüssel als durchgezogene Linie dargestellt, die zwei Entitäten verbindet, meist mit einer Notation, die die Art der Beziehung angibt, beispielsweise „1:N“ für eine ein-zu-viele-Beziehung.
3. Fortgeschrittene ERD-Konzepte
a. Untertypen und OberTypen
In einigen Fällen können Entitäten in Untertypen aufgeteilt werden, die jeweils eigene spezifische Attribute besitzen. Dieses Konzept wird verwendet, um hierarchische Beziehungen innerhalb einer Entität darzustellen.
Beispiel: Betrachten Sie eine „Person“-Entität mit den Untertypen „Mitarbeiter“ und „Kunde“. Der Untertyp „Mitarbeiter“ könnte Attribute wie „MitarbeiterID“ und „Einstellungsdatum“ besitzen, während der Untertyp „Kunde“ Attribute wie „KundenID“ und „Registrierungsdatum“ hat.
b. Assoziative Entitäten
Assoziative Entitäten werden verwendet, um viele-zu-viele-Beziehungen zwischen zwei Entitäten darzustellen. Sie führen eine neue Entität ein, um die viele-zu-viele-Beziehung aufzulösen.
Beispiel: In einer Hochschul-Datenbank könnten Sie eine „Student“-Entität und eine „Kurs“-Entität haben. Um die viele-zu-viele-Beziehung zwischen Studierenden und Kursen darzustellen, führen Sie eine „Anmeldung“-Entität mit Attributen wie „AnmeldeID“ und „AnmeldeDatum“ ein.
c. Mehrwertige Attribute
Mehrwertige Attribute können für eine einzelne Entität mehrere Werte haben. Sie werden oft als doppelte Ovale dargestellt, die an die Entität angehängt sind.
Beispiel: In einer „Buch“-Entität könnte ein mehrwertiges Attribut „Autoren“ vorhanden sein, das mehrere Autorennamen enthalten kann.
d. Abgeleitete Attribute
Abgeleitete Attribute sind Attribute, deren Werte aus anderen Attributen innerhalb der Datenbank abgeleitet werden können. Sie werden typischerweise durch gestrichelte Ovale dargestellt.
Beispiel: In einer „Person“-Entität könnte ein abgeleitetes Attribut „Alter“ vorhanden sein, das auf der Grundlage des „Geburtsdatums“ berechnet werden kann.
4. Fortgeschrittene ERD-Beispiele
a. Bibliotheksverwaltungssystem
Lassen Sie uns ein ERD für ein Bibliotheksverwaltungssystem mit fortgeschrittenen Konzepten erstellen:
- Entitäten: Buch, Autor, Student, Bibliothekar, Transaktion
- Untertypen: Mitarbeiter (Bibliothekar), Kunde (Student)
- Assoziative Entität: BuchExemplar (zur Verwaltung mehrerer Exemplare eines Buches)
- Mehrwertiges Attribut: Name des Autors
- Abgeleitetes Attribut: Alter des Students

b. E-Commerce-Plattform
Betrachten Sie eine E-Commerce-Plattform mit fortgeschrittenen Funktionen:
- Entitäten: Benutzer, Produkt, Bestellung, Zahlung
- Untertypen: Kunde, Verkäufer
- Assoziative Entität: Bestellposition (um Produkte in einer Bestellung darzustellen)
- Mehrwertige Attribute: Produktattribute (z. B. Größe, Farbe)
- Abgeleitetes Attribut: Gesamtpreis der Bestellung

6. Schlussfolgerung
Die Erstellung fortgeschrittener ERDs erfordert die Modellierung komplexer Datenbeziehungen und -attribute. Das Verständnis von Untertypen, Oberklassen, assoziativen Entitäten, mehrwertigen Attributen und abgeleiteten Attributen ist entscheidend für die Gestaltung umfassender Datenbanksysteme. Mit den richtigen Werkzeugen und Konzepten können Sie die Struktur Ihrer Datenmodelle effektiv darstellen und kommunizieren.











