Entity Relationship (ER)-Diagrammmodell mit DBMS-Beispiel
โก Intelligente Zusammenfassung
Das Entity-Relationship-Diagrammmodell (ER-Diagramm) mit DBMS-Beispiel Dieses Modell veranschaulicht eine strukturierte Methode zur visuellen Darstellung von Daten und deren Verbindungen in relationalen Datenbanken. Es wurde von Peter Chen entwickelt und bietet eine konzeptionelle Modellierungsgrundlage zur prรคzisen Definition von Entitรคten, Attributen, Beziehungen und deren Kardinalitรคten.

Was ist ein ER-Diagramm?
Das Entity-Relationship-Diagramm (ER-Diagramm) ist ein leistungsstarkes visuelles Werkzeug zum Entwurf relationaler Datenbankstrukturen. Es wurde 1976 von Peter Chen erstmals vorgestellt und bietet eine konzeptionelle Modellierungsgrundlage, die Entitรคten, Attribute, Beziehungen und deren Kardinalitรคten prรคzise definiert. Dieses Tutorial deckt alle Aspekte ab, von den Grundlagen bis hin zu fortgeschrittenen Techniken, und hilft Ihnen, den Entwurf von Datenbankschemata zu beherrschen.
ER-Diagramme enthalten verschiedene Symbole, die Rechtecke zur Darstellung von Entitรคten, Ovale zur Definition von Attributen und Rauten zur Darstellung von Beziehungen verwenden.
Auf den ersten Blick รคhnelt ein ER-Diagramm einem Flussdiagramm. Es enthรคlt jedoch viele spezielle Symbole, deren Bedeutung dieses Modell einzigartig macht. Der Zweck eines ER-Diagramms besteht darin, die Infrastruktur des Entity Frameworks darzustellen.

Geschichte der ER-Modelle
Peter Chen schlug das ER-Diagramm 1976 in seiner wegweisenden Arbeit โThe Entity-Relationship Model: Toward a Unified View of Dataโ vor. Sein Ziel war es, eine einheitliche Konvention zu schaffen, die sowohl fรผr relationale Datenbanken als auch fรผr Netzwerke anwendbar sein sollte. Chen konzipierte das ER-Modell als einen konzeptionellen Modellierungsansatz, der die Kluft zwischen realen Anforderungen und der technischen Implementierung von Datenbanken รผberbrรผcken sollte.
Seitdem hat sich das ER-Modell mit verschiedenen Notationssystemen weiterentwickelt, darunter die Chen-Notation (die ursprรผngliche), die Crow's-Foot-Notation (die in modernen Werkzeugen weit verbreitet ist) und UML-basierte Ansรคtze. Trotz dieser Unterschiede bleiben die Kernkonzepte in allen Implementierungen konsistent.
Warum ER-Diagramme verwenden?
ER-Diagramme bieten zahlreiche Vorteile fรผr Datenbankdesign und -entwicklung:
- Visuelle Kommunikation: Sie bieten eine klare visuelle Darstellung, die sowohl technische als auch nicht-technische Interessengruppen verstehen kรถnnen.
- Blaupause fรผr die Entwicklung: Sie zeigen genau, wie die Tabellen miteinander verbunden werden sollen und welche Felder jede Tabelle enthalten wird.
- รbersetzungsbereit: ER-Diagramme lassen sich direkt in relationale Tabellen รผbersetzen, wodurch Sie schnell Datenbanken erstellen kรถnnen.
- Fehler vermeiden: Sie helfen dabei, Konstruktionsfehler und Redundanzen vor der Implementierung zu erkennen und so Zeit und Ressourcen zu sparen.
- Dokumentation: Sie dienen als dauerhafte Dokumentation, die neuen Teammitgliedern hilft, die Systemarchitektur zu verstehen.
- Systemanalyse: Sie helfen dabei, alle in einem System vorhandenen Entitรคten und die Beziehungen zwischen ihnen zu identifizieren.
ER-Diagramm-Komponenten
Jedes ER-Diagramm besteht aus drei Kernkomponenten: Entitรคten, Attributen und Beziehungen. Das Verstรคndnis jeder Komponente und ihrer Wechselwirkungen ist fรผr die Erstellung effektiver Datenbankdesigns unerlรคsslich.
Beispiele fรผr ER-Diagramme
In einer Universitรคtsdatenbank kรถnnten wir beispielsweise Entitรคten fรผr Studierende, Kurse und Dozenten haben. Eine Studierenden-Entitรคt kann Attribute wie Matrikelnummer, Name und Fachbereichs-ID besitzen. Sie kann Beziehungen zu Kursen und Dozenten haben.
Entities
Eine Entitรคt reprรคsentiert jedes reale Objekt โ ob lebendig oder nicht โ, das eindeutig identifiziert werden kann und รผber das Daten gespeichert werden kรถnnen. Es kann sich um einen physischen Gegenstand, eine Tatsache รผber das Unternehmen oder ein Ereignis in der realen Welt handeln. Entitรคten kรถnnen Personen, Orte, Objekte, Ereignisse oder Konzepte umfassen.
Beispiele fรผr Entitรคten nach Kategorie:
- Person: Mitarbeiter, Student, Patient, Kunde
- Ort: Geschรคft, Gebรคude, Bรผro, Lagerhalle
- Objekt: Maschine, Produkt, Auto, Buch
- Event: Verkauf, Registrierung, Verlรคngerung, Transaktion
- Konzept: Konto, Kurs, Abteilung, Projekt
Entitรคtssatz
Eine Entitรคtsmenge ist eine Gruppe รคhnlicher Entitรคten mit gemeinsamen Attributen. Beispielsweise bilden alle Studierenden einer Universitรคt die Entitรคtsmenge โStudierendeโ. In ER-Diagrammen werden Entitรคten durch Rechtecke dargestellt, in die der Name der Entitรคt geschrieben wird.
Entitรคten werden durch ihre Eigenschaften, auch Attribute genannt, reprรคsentiert. Jedes Attribut hat einen eigenen Wert. Beispielsweise kann eine Studentenentitรคt die Attribute Name, Alter und Klasse besitzen.
Starke Entitรคten vs. schwache Entitรคten
Entitรคten werden anhand ihrer Fรคhigkeit, unabhรคngig zu existieren, in starke und schwache Entitรคten eingeteilt. Das Verstรคndnis dieser Unterscheidung ist fรผr ein korrektes Datenbankdesign unerlรคsslich.
Eine starke Entitรคt besitzt einen eigenen Primรคrschlรผssel und kann unabhรคngig existieren. Beispielsweise kann eine โStudentโ-Entitรคt eindeutig durch die Student_ID identifiziert werden, ohne von einer anderen Entitรคt abhรคngig zu sein.
Eine schwache Entitรคt besitzt keinen eigenen Primรคrschlรผssel und ist zur Identifizierung auf eine starke Entitรคt (die sogenannte Eigentรผmerentitรคt) angewiesen. Sie verwendet einen Teilschlรผssel (Diskriminator) in Kombination mit dem Primรคrschlรผssel der Eigentรผmerentitรคt, um Eindeutigkeit zu gewรคhrleisten. Beispielsweise ist in einem Bankensystem die Entitรคt โTransaktionโ von der Entitรคt โKontoโ abhรคngig: Die Transaktionsnummer allein ist nicht in der gesamten Datenbank eindeutig, aber in Kombination mit der Kontonummer wird sie eindeutig.
| Starke Entitรคt | Schwache Entitรคt |
|---|---|
| Besitzt einen eigenen Primรคrschlรผssel | Besitzt keinen Primรคrschlรผssel; verwendet einen Teilschlรผssel. |
| Dargestellt durch ein einzelnes Rechteck | Dargestellt durch ein Doppelrechteck |
| Der Primรคrschlรผssel ist durch eine durchgezogene Linie unterstrichen. | Teilweise Legende mit gestrichelter Linie unterstrichen. |
| Kann unabhรคngig existieren | Die Existenz hรคngt von der Eigentรผmerorganisation ab. |
| Verbunden mit einer einzelnen Diamantenbeziehung | Verbunden mit Doppeldiamant (identifizierende Beziehung) |
| Beispiel: Student, Mitarbeiter, Produkt | Beispiel: Transaktion, Abhรคngigkeit, Bestellposition |
Beziehung
Eine Beziehung stellt eine Verbindung zwischen zwei oder mehr Entitรคten dar. Beziehungen werden typischerweise mithilfe von Verben oder Verbphrasen beschrieben, die die Interaktion der Entitรคten untereinander erlรคutern. In ER-Diagrammen werden Beziehungen durch Rauten dargestellt. Beispiel: Tom arbeitet in der Chemieabteilung.
Entitรคten nehmen an Beziehungen teil. Wir kรถnnen hรคufig Beziehungen zu Verben oder Verbalphrasen erkennen.
Beispiele:
- Sie besuchen diese Vorlesung
- Ich halte den Vortrag
- Ein Student besucht eine Vorlesung
- Ein Dozent hรคlt eine Vorlesung
Attribute
Ein Attribut ist eine Eigenschaft oder ein Merkmal, das eine Entitรคt oder Beziehung beschreibt. Attribute liefern detaillierte Informationen, die jede Entitรคtsinstanz einzigartig und aussagekrรคftig machen. In ER-Diagrammen werden Attribute durch Ovale (Ellipsen) dargestellt, die durch eine Linie mit ihrer รผbergeordneten Entitรคt verbunden sind.
Eine Student-Entitรคt kรถnnte beispielsweise Attribute wie Student_ID, Name, Date_of_Birth, Email und Phone_Number haben.
Arten von Attributen
| Attributtyp | Beschreibung | Beispiel |
|---|---|---|
| Einfach (AtomNS) | Kann nicht weiter in kleinere Komponenten zerlegt werden | Telefonnummer, Sozialversicherungsnummer, E-Mail-Adresse |
| Zusammengesetzt | Lรคsst sich in kleinere Unterattribute untergliedern | Vollstรคndiger Name (Vorname, zweiter Vorname, Nachname), Adresse (Straรe, Ort, Postleitzahl) |
| Abgeleitet | Der Wert wird aus anderen Attributen berechnet; er wird nicht direkt gespeichert. | Alter (abgeleitet vom Geburtsdatum), Gesamtpreis |
| Mehrwertig | Kann mehrere Werte fรผr eine einzelne Entitรคt speichern | Telefon NumbersE-Mail-Adressen, Fรคhigkeiten |
| Schlรผsselattribut | Identifiziert jede Entitรคtsinstanz eindeutig (Primรคrschlรผssel) | Studenten-ID, Mitarbeiter-ID, ISBN |
Schlรผsseltipp: In ER-Diagrammen werden Schlรผsselattribute durch Unterstreichung ihrer Namen dargestellt. Abgeleitete Attribute werden in gestrichelten Ovalen und mehrwertige Attribute in Doppelovalen dargestellt.
Kardinalitรคt (Beziehungstypen)
Die Kardinalitรคt definiert die numerischen Beschrรคnkungen einer Beziehung โ genauer gesagt, wie viele Instanzen einer Entitรคt mit Instanzen einer anderen Entitรคt verknรผpft werden kรถnnen. Das Verstรคndnis der Kardinalitรคt ist fรผr die Entwicklung effizienter Datenbankstrukturen unerlรคsslich.
1. Eins-zu-Eins (1:1)
Eine Entitรคt aus Menge A kann hรถchstens mit einer Entitรคt aus Menge B verknรผpft sein und umgekehrt.
Beispiel: Jedem Studenten wird genau eine Studentenkennung zugeordnet, und jede Studentenkennung gehรถrt genau einem Studenten.
2. Eins-zu-Viele (1:N)
Eine Entitรคt aus Menge A kann mit mehreren Entitรคten aus Menge B verknรผpft sein, aber jede Entitรคt in B ist nur mit einer Entitรคt in A verknรผpft.
Beispiel: Eine Klasse besteht aus mehreren Schรผlern.
3. Viele-zu-Eins (N:1)
Mehrere Entitรคten aus Menge A kรถnnen einer Entitรคt aus Menge B zugeordnet werden.
Beispielsweise gehรถren viele Schรผler derselben Klasse an.
4. Viele-zu-Viele (M:N)
Mehrere Entitรคten aus Menge A kรถnnen mit mehreren Entitรคten aus Menge B verknรผpft werden und umgekehrt.
Beispielsweise sind Studierende als Gruppe mehreren Fakultรคtsmitgliedern zugeordnet, und Fakultรคtsmitglieder kรถnnen mehreren Studierenden zugeordnet sein.
ER-Diagrammsymbole und -notationen
ER-Diagramme verwenden standardisierte Symbole zur Darstellung verschiedener Komponenten. Obwohl es mehrere Notationssysteme gibt, sind die beiden am weitesten verbreiteten die Chen-Notation und die Crow's-Foot-Notation.
Chen-Notation
Die Chen-Notation, die 1976 von Peter Chen entwickelt wurde, verwendet geometrische Formen zur Darstellung verschiedener Elemente:
| Symbol | Name | reprรคsentiert |
|---|---|---|
| Rechteck | Wesen | Starke Entitรคt (z. B. Student, Produkt) |
| Double Rechteck | Schwache Entitรคt | Von einer anderen Entitรคt abhรคngig (z. B. Transaktion) |
| Ellipse/Oval | Attribut | Eigenschaften einer Entitรคt (z. B. Name, ID) |
| Double Ellipse | Mehrwertiges Attribut | Attribut mit mehreren Werten (z. B. Telefonnummer) Numbers) |
| Gestrichelte Ellipse | Abgeleitetes Attribut | Berechneter Wert (z. B. Alter aus dem Geburtsdatum) |
| Diamond | Beziehung | Verknรผpfung zwischen Entitรคten (z. B. Einschreibungen) |
| Double Diamond | Beziehung identifizieren | Beziehung zu einer schwachen Entitรคt |
| Line | verbindung | Verbindet Komponenten miteinander |
| Unterstrichener Text | Primรคrschlรผssel | Eindeutiger Bezeichner fรผr die Entitรคt |
Krรคhenfuรnotation
Die Crow's Foot Notation (auch IE-Notation genannt) wird hรคufiger in modernen Datenbankdesign-Tools verwendet. Sie nutzt unterschiedliche Zeilenumbrรผche zur Darstellung der Kardinalitรคt und eignet sich besonders gut zur Veranschaulichung der โVieleโ-Seite von Beziehungen.
| Symbol DescriptIon | Bedeutung |
|---|---|
| Einzelner vertikaler Strich (|) | Erforderlich: Genau eine (genau eine) |
| Kreis mit Linie (O|) | Optional Eins (null oder eins) |
| Krรคhenfuร mit Linie (>|) | Erforderlich Viele (eins oder mehrere) |
| Krรคhenfuร mit Kreis (>O) | Optional Viele (null oder mehr) |
Chen-Notation vs. Crow's Foot: Wann verwendet man welche Notation?
| Aspekt | Chen-Notation | Krรคhenfuรnotation |
|---|---|---|
| besten Fรผr | Konzeptuelle Modellierung, akademische Nutzung | Physikalisch-logische Modellierung, industrielle Anwendung |
| Attributanzeige | Zeigt alle Attribute visuell an | Listenattribute innerhalb des Entitรคtsfelds auf |
| Kardinalitรคt | Verwendet Zahlen (1, N, M) | Verwendet visuelle Symbole |
| Komplexitรคt | Kann unรผbersichtlich werden | Kompakter und sauberer |
| Werkzeugunterstรผtzung | Begrenzte Unterstรผtzung moderner Werkzeuge | Weitgehend unterstรผtzt von Werkzeugen |
So erstellen Sie ein Entity-Relationship-Diagramm (ERD)
In diesem Tutorial zu ER-Diagrammen (ERD) lernen wir, wie man ein ER-Diagramm erstellt. Die folgenden Schritte sind dafรผr notwendig:
Lassen Sie uns sie anhand eines Beispiels fรผr ein Entity-Relationship-Diagramm untersuchen:
An einer Universitรคt belegt ein Student Kurse. Jeder Student muss mindestens einem Kurs zugeordnet sein. Jeder Kurs wird von einem einzigen Professor unterrichtet. Um die Qualitรคt der Lehre zu gewรคhrleisten, darf ein Professor nur einen Kurs anbieten.
Schritt 1) โโIdentifizierung der Entitรคt
Wir haben drei Entitรคten:
- Studenten-
- Kurse
- Professor
Schritt 2) Beziehungsidentifizierung
Wir haben folgende zwei Beziehungen:
- Der Schรผler ist zugewiesen ein Kurs
- Der Professor liefert ein Kurs
Schritt 3) Kardinalitรคtsidentifizierung
Aus der Aufgabenstellung geht hervor, dass:
- Es kann ein Student zugeteilt werden mehrere Kurse!
- Ein Professor kann nur liefern dank One Kurs
Schritt 4) Identifizieren Sie Attribute
Sie mรผssen die aktuell von der Organisation gefรผhrten Dateien, Formulare, Berichte und Daten analysieren, um Attribute zu identifizieren. Zusรคtzlich kรถnnen Sie Interviews mit verschiedenen Stakeholdern fรผhren, um Entitรคten zu ermitteln. Zunรคchst ist es wichtig, die Attribute zu identifizieren, ohne sie einer bestimmten Entitรคt zuzuordnen.
Sobald Sie eine Liste der Attribute haben, mรผssen Sie diese den identifizierten Entitรคten zuordnen. Stellen Sie sicher, dass jedes Attribut genau einer Entitรคt zugeordnet ist. Falls Sie der Meinung sind, dass ein Attribut zu mehreren Entitรคten gehรถren sollte, verwenden Sie einen Modifikator, um es eindeutig zu kennzeichnen.
Sobald die Zuordnung abgeschlossen ist, identifizieren Sie die Primรคrschlรผssel. Wenn kein eindeutiger Schlรผssel verfรผgbar ist, erstellen Sie einen.
| Wesen | Primรคrschlรผssel | Attribut |
|---|---|---|
| Studenten- | Studenten ID | Name des Studenten |
| Professor | Mitarbeiter-ID | ProfessorName |
| Kurse | Kurs-ID | Kursname |
Fรผr die Kursentitรคt kรถnnten Attribute wie Dauer, Credits, Aufgaben usw. vorliegen. Der Einfachheit halber haben wir nur ein Attribut berรผcksichtigt.
Schritt 5) ER-Diagramm erstellen
Eine modernere Darstellung eines Entity-Relationship-Diagramms (Beispiel):
Best Practices fรผr effektive ER-Diagramme
Befolgen Sie diese Richtlinien, um klare, wartungsfreundliche und effektive ER-Diagramme zu erstellen:
- Redundanz beseitigen: Doppelte Entitรคten, Attribute oder Beziehungen entfernen.
- Verwenden Sie klare Namenskonventionen: Verwenden Sie einheitliche, beschreibende Namen. Vermeiden Sie Abkรผrzungen.
- รberprรผfung anhand der Anforderungen: Stellen Sie sicher, dass das Diagramm alle Datenspeicheranforderungen erfรผllt.
- Halte es einfach: Erstellen Sie lieber mehrere Diagramme auf verschiedenen Ebenen als ein einziges, unรผbersichtliches Diagramm.
- Verwenden Sie Farbe sparsam: Verwenden Sie Farben einheitlich, um Kategorien hervorzuheben.
- Annahmen zum Dokument: Fรผgen Sie Anmerkungen hinzu, in denen die Annahmen zu den Geschรคftsregeln erlรคutert werden.
- RevAnsicht mit Interessengruppen: Lassen Sie das Diagramm von den Fachanwendern und dem technischen Team รผberprรผfen.
- Versionskontrolle: Pflegen Sie die verschiedenen Versionen, wรคhrend sich das Design weiterentwickelt.
ER-Diagramme vs. UML-Klassendiagramme
Obwohl sowohl ER-Diagramme als auch UML-Klassendiagramme zur Datenmodellierung verwendet werden, dienen sie unterschiedlichen Zwecken und Kontexten. Fรผr ein effektives Systemdesign ist es wichtig zu verstehen, wann welches Diagramm eingesetzt wird.
| Aspekt | ER-Diagramm | UML-Klassendiagramm |
|---|---|---|
| Hauptzweck | Datenbank Design | Software-/Objektdesign |
| Optik | Daten und Beziehungen | Objekte, Methoden und Verhaltensweisen |
| Methoden/Operations | Nicht unterstรผtzt | Voll unterstรผtzt |
| Erbe | Beschrรคnkt (nur im EER-Bereich) | Volle Unterstรผtzung |
| Industrielle Verwendung | Datenbankadministratoren, Datenanalysten | Softwareentwickler, Architekten |















