Skip to main content

Seite 3. ERM – Entity-Relationship-Modell

ERM – Entity-Relationship-Modell

Diese Seite erklärt das ERM so, dass du es schnell für IHK-Aufgaben anwenden kannst.

ERM bedeutet:

Entity-Relationship-Modell

Auf Deutsch:

Entitäten-Beziehungs-Modell

Ein ERM wird benutzt, um Daten und deren Beziehungen zu planen, bevor daraus später Tabellen in einer Datenbank entstehen.


Wofür braucht man ein ERM?

Ein ERM hilft dir, aus einer fachlichen Beschreibung ein Datenmodell zu bauen.

Beispiel:

Ein Kunde kann mehrere Bestellungen aufgeben.
Eine Bestellung gehört immer zu genau einem Kunden.
Eine Bestellung enthält mehrere Produkte.
Ein Produkt kann in mehreren Bestellungen enthalten sein.

Daraus erkennt man:

  • Es gibt Datenobjekte.
  • Diese Datenobjekte haben Eigenschaften.
  • Diese Datenobjekte stehen miteinander in Beziehung.
  • Manche Beziehungen haben bestimmte Anzahlen, zum Beispiel 1:n oder n:m.

Genau dafür ist ein ERM da.


Woran erkenne ich in einer Aufgabe, dass ein ERM gemeint ist?

Typische Signalwörter:

Signalwort / Formulierung Hinweis
Entität Es geht um ein Datenobjekt
Attribut Es geht um Eigenschaften
Beziehung Es geht um Verknüpfungen zwischen Datenobjekten
Kardinalität Es geht um 1:1, 1:n oder n:m
Kunde, Bestellung, Produkt Typische Entitäten
„kann mehrere haben“ Hinweis auf 1:n oder n:m
„gehört zu genau einem“ Hinweis auf 1:n
„Datenmodell erstellen“ ERM oder relationales Modell
„fachlich modellieren“ Meist zuerst ERM

Grundbausteine eines ERM

Baustein Bedeutung Beispiel
Entität Wichtiges Datenobjekt Kunde, Produkt, Bestellung
Attribut Eigenschaft einer Entität Name, Preis, Datum
Beziehung Verbindung zwischen Entitäten Kunde gibt Bestellung auf
Kardinalität Anzahl-Beziehung 1:1, 1:n, n:m
Primärschlüssel Eindeutige ID kunden_id
Zwischentabelle Auflösung einer n:m-Beziehung Bestellposition

Entität

Eine Entität ist ein wichtiges Datenobjekt, über das Informationen gespeichert werden sollen.

Beispiele:

  • Kunde
  • Bestellung
  • Produkt
  • Rechnung
  • Mitarbeiter
  • Kurs
  • Raum
  • Gerät

Merksatz:

Entitäten sind meistens Hauptwörter.

Beispiel:

Ein Kunde bestellt ein Produkt.

Mögliche Entitäten:

Kunde
Produkt
Bestellung

Attribut

Ein Attribut ist eine Eigenschaft einer Entität.

Beispiel Entität Kunde:

Attribut Bedeutung
kunden_id eindeutige Kundennummer
vorname Vorname
nachname Nachname
email E-Mail-Adresse
telefon Telefonnummer

Beispiel Entität Produkt:

Attribut Bedeutung
produkt_id eindeutige Produktnummer
bezeichnung Name des Produkts
preis Preis
lagerbestand Anzahl im Lager

Merksatz:

Attribute beschreiben eine Entität genauer.


Primärschlüssel

Ein Primärschlüssel identifiziert jeden Datensatz eindeutig.

Beispiele:

kunden_id
produkt_id
bestellung_id

Warum braucht man Primärschlüssel?

Weil Namen nicht eindeutig sein müssen.

Beispiel:

Es kann mehrere Kunden mit dem Namen Müller geben.

Aber:

kunden_id = 1001

ist eindeutig.

Merksatz:

Jede Entität braucht einen eindeutigen Primärschlüssel.


Beziehung

Eine Beziehung beschreibt, wie zwei Entitäten zusammenhängen.

Beispiel:

Kunde gibt Bestellung auf

Entitäten:

Kunde
Bestellung

Beziehung:

gibt auf

Darstellung als einfache Textform:

Kunde -- gibt auf -- Bestellung

Weitere Beispiele:

Beziehung Bedeutung
Kunde gibt Bestellung auf Kunde und Bestellung hängen zusammen
Bestellung enthält Produkt Eine Bestellung besteht aus Produkten
Mitarbeiter arbeitet in Abteilung Mitarbeiter ist einer Abteilung zugeordnet
Schüler belegt Kurs Schüler nimmt an einem Kurs teil

Kardinalität

Die Kardinalität beschreibt, wie viele Datensätze miteinander verbunden sein können.

Die wichtigsten Kardinalitäten:

Kardinalität Bedeutung Beispiel
1:1 Genau ein Datensatz gehört zu genau einem anderen Person hat Personalausweis
1:n Ein Datensatz kann mehrere andere Datensätze haben Kunde hat mehrere Bestellungen
n:m Viele Datensätze können mit vielen anderen verbunden sein Schüler belegen Kurse

1:1-Beziehung

Beispiel:

Eine Person hat genau einen Personalausweis.
Ein Personalausweis gehört genau zu einer Person.

Darstellung:

Person 1 --- 1 Personalausweis

Das ist eine 1:1-Beziehung.


1:n-Beziehung

Beispiel:

Ein Kunde kann mehrere Bestellungen haben.
Eine Bestellung gehört genau zu einem Kunden.

Darstellung:

Kunde 1 --- n Bestellung

Das ist eine 1:n-Beziehung.

Merksatz:

Wenn ein Objekt mehrere andere haben kann, ist es meistens 1:n.


n:m-Beziehung

Beispiel:

Eine Bestellung kann mehrere Produkte enthalten.
Ein Produkt kann in mehreren Bestellungen vorkommen.

Darstellung:

Bestellung n --- m Produkt

Das ist eine n:m-Beziehung.

Wichtig:

Eine n:m-Beziehung kann man in einer relationalen Datenbank nicht direkt einfach speichern.

Deshalb wird daraus später eine Zwischentabelle.

Beispiel:

Bestellung
Produkt
Bestellposition

Die Zwischentabelle könnte heißen:

Bestellposition

Typische Attribute der Zwischentabelle:

Attribut Bedeutung
bestellung_id Verweis auf Bestellung
produkt_id Verweis auf Produkt
menge Wie oft wurde das Produkt bestellt?
einzelpreis Preis zum Zeitpunkt der Bestellung

ERM-Beispiel: Kunde, Bestellung, Produkt

Fachliche Beschreibung:

Ein Kunde kann mehrere Bestellungen aufgeben.
Eine Bestellung gehört immer zu genau einem Kunden.
Eine Bestellung kann mehrere Produkte enthalten.
Ein Produkt kann in mehreren Bestellungen enthalten sein.

Entitäten:

Entität Mögliche Attribute
Kunde kunden_id, name, email
Bestellung bestellung_id, bestelldatum
Produkt produkt_id, bezeichnung, preis
Bestellposition bestellung_id, produkt_id, menge

Beziehungen:

Beziehung Kardinalität
Kunde zu Bestellung 1:n
Bestellung zu Produkt n:m
Bestellung zu Bestellposition 1:n
Produkt zu Bestellposition 1:n

Das n:m zwischen Bestellung und Produkt wird durch Bestellposition aufgelöst.


Einfache Textdarstellung

Kunde
- kunden_id
- name
- email

1 Kunde kann n Bestellungen haben.

Bestellung
- bestellung_id
- bestelldatum
- kunden_id

1 Bestellung kann n Bestellpositionen haben.

Bestellposition
- bestellung_id
- produkt_id
- menge

1 Produkt kann in n Bestellpositionen vorkommen.

Produkt
- produkt_id
- bezeichnung
- preis

ERM vs. relationales Datenbankmodell

ERM Relationales Datenbankmodell
Fachliches Modell Technischeres Tabellenmodell
Zeigt Entitäten Zeigt Tabellen
Zeigt Beziehungen Zeigt Primär- und Fremdschlüssel
Nutzt Kardinalitäten Nutzt Schlüsselbeziehungen
Vorstufe zur Datenbank Grundlage für echte Tabellenstruktur

Merksatz:

ERM plant die Daten fachlich. Das relationale Modell macht daraus Tabellen.


Vorgehensweise in der Prüfung

Wenn du eine ERM-Aufgabe bekommst, gehe so vor:

Schritt Frage
1 Welche Hauptwörter sind wichtig?
2 Welche davon sind Entitäten?
3 Welche Eigenschaften haben diese Entitäten?
4 Welche Entität braucht welchen Primärschlüssel?
5 Welche Entitäten stehen in Beziehung?
6 Welche Kardinalität hat die Beziehung?
7 Gibt es eine n:m-Beziehung?
8 Muss eine Zwischentabelle entstehen?

Beispiel: Schüler und Kurs

Aufgabe:

Ein Schüler kann mehrere Kurse belegen.
Ein Kurs kann von mehreren Schülern belegt werden.

Wichtige Hauptwörter:

Schüler
Kurs

Mögliche Entitäten:

Schüler
Kurs

Beziehung:

belegt

Kardinalität:

Schüler n --- m Kurs

Das ist eine n:m-Beziehung.

Deshalb braucht man später eine Zwischentabelle.

Mögliche Zwischentabelle:

Belegung

Mögliche Attribute:

schueler_id
kurs_id
anmeldedatum
note

n:m auflösen

Aus:

Schüler n --- m Kurs

wird:

Schüler 1 --- n Belegung n --- 1 Kurs

Warum?

Weil eine n:m-Beziehung in einer relationalen Datenbank über eine Zwischentabelle abgebildet wird.


Typische IHK-Fehler beim ERM

Fehler Warum falsch?
Attribute als Entität darstellen Nicht jede Eigenschaft ist eine eigene Entität
n:m nicht auflösen In Tabellen braucht man später eine Zwischentabelle
Primärschlüssel vergessen Jeder Datensatz muss eindeutig identifizierbar sein
Kardinalitäten vertauschen Die Beziehung wird fachlich falsch
Beziehung zu technisch denken ERM ist zuerst fachlich, nicht direkt SQL
Fremdschlüssel schon zu früh überbewerten Im ERM geht es zuerst um Entitäten und Beziehungen

Prüfungs-Merksätze

Entität = wichtiges Datenobjekt
Attribut = Eigenschaft einer Entität
Beziehung = Verbindung zwischen Entitäten
Kardinalität = Wie viele gehören zusammen?
1:n = einer zu vielen
n:m = viele zu vielen
n:m braucht später eine Zwischentabelle
Primärschlüssel = eindeutig
ERM = fachliches Datenmodell
Relationales Modell = Tabellenmodell

Mini-Beispiel 1

Aufgabe:

Ein Kunde kann mehrere Rechnungen erhalten.
Eine Rechnung gehört genau zu einem Kunden.

Lösung:

Element Ergebnis
Entität 1 Kunde
Entität 2 Rechnung
Beziehung erhält
Kardinalität 1:n
Erklärung Ein Kunde kann mehrere Rechnungen haben, aber eine Rechnung gehört zu genau einem Kunden

Mini-Beispiel 2

Aufgabe:

Ein Mitarbeiter arbeitet in genau einer Abteilung.
Eine Abteilung kann mehrere Mitarbeiter haben.

Lösung:

Element Ergebnis
Entität 1 Mitarbeiter
Entität 2 Abteilung
Beziehung arbeitet in
Kardinalität n:1 oder 1:n
Erklärung Aus Sicht der Abteilung: Eine Abteilung hat mehrere Mitarbeiter

Mini-Beispiel 3

Aufgabe:

Ein Schüler kann mehrere Kurse belegen.
Ein Kurs kann von mehreren Schülern belegt werden.

Lösung:

Element Ergebnis
Entität 1 Schüler
Entität 2 Kurs
Beziehung belegt
Kardinalität n:m
Zwischentabelle Belegung

Mini-Testfragen

1. Was bedeutet ERM?

Entity-Relationship-Modell

Auf Deutsch: Entitäten-Beziehungs-Modell.

2. Wofür wird ein ERM verwendet?

Ein ERM wird verwendet, um Datenobjekte, deren Eigenschaften und deren Beziehungen fachlich zu modellieren.

3. Was ist eine Entität?

Eine Entität ist ein wichtiges Datenobjekt, über das Informationen gespeichert werden sollen.

Beispiele:

  • Kunde
  • Bestellung
  • Produkt
  • Mitarbeiter
4. Was ist ein Attribut?

Ein Attribut ist eine Eigenschaft einer Entität.

Beispiel:

Kunde
- kunden_id
- name
- email
5. Was ist eine Beziehung?

Eine Beziehung beschreibt, wie zwei Entitäten zusammenhängen.

Beispiel:

Kunde gibt Bestellung auf
6. Was bedeutet Kardinalität?

Die Kardinalität beschreibt, wie viele Datensätze einer Entität mit wie vielen Datensätzen einer anderen Entität verbunden sein können.

Beispiele:

1:1
1:n
n:m
7. Was bedeutet 1:n?

Ein Datensatz der einen Entität kann mit mehreren Datensätzen der anderen Entität verbunden sein.

Beispiel:

Ein Kunde kann mehrere Bestellungen haben.
8. Was bedeutet n:m?

Viele Datensätze der einen Entität können mit vielen Datensätzen der anderen Entität verbunden sein.

Beispiel:

Viele Schüler können viele Kurse belegen.
9. Was muss man bei einer n:m-Beziehung später machen?

Man muss sie durch eine Zwischentabelle auflösen.

Beispiel:

Schüler n:m Kurs

wird zu:

Schüler 1:n Belegung n:1 Kurs
10. Was ist ein Primärschlüssel?

Ein Primärschlüssel identifiziert jeden Datensatz eindeutig.

Beispiel:

kunden_id
produkt_id
bestellung_id

Nächste Seite

Danach kommt die eigene Trainer-Seite:

ERM-Trainer

Dort bauen wir den interaktiven ERM-Trainer mit Aufgaben zu:

Entität erkennen
Attribute zuordnen
Beziehung bestimmen
Kardinalität wählen
n:m-Zwischentabelle erkennen