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 / FormulierungHinweis
EntitätEs geht um ein Datenobjekt
AttributEs geht um Eigenschaften
BeziehungEs geht um Verknüpfungen zwischen Datenobjekten
KardinalitätEs geht um 1:1, 1:n oder n:m
Kunde, Bestellung, ProduktTypische 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

BausteinBedeutungBeispiel
EntitätWichtiges DatenobjektKunde, Produkt, Bestellung
AttributEigenschaft einer EntitätName, Preis, Datum
BeziehungVerbindung zwischen EntitätenKunde gibt Bestellung auf
KardinalitätAnzahl-Beziehung1:1, 1:n, n:m
PrimärschlüsselEindeutige IDkunden_id
ZwischentabelleAuflösung einer n:m-BeziehungBestellposition

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:

AttributBedeutung
kunden_ideindeutige Kundennummer
vornameVorname
nachnameNachname
emailE-Mail-Adresse
telefonTelefonnummer

Beispiel Entität Produkt:

AttributBedeutung
produkt_ideindeutige Produktnummer
bezeichnungName des Produkts
preisPreis
lagerbestandAnzahl 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:

BeziehungBedeutung
Kunde gibt Bestellung aufKunde und Bestellung hängen zusammen
Bestellung enthält ProduktEine Bestellung besteht aus Produkten
Mitarbeiter arbeitet in AbteilungMitarbeiter ist einer Abteilung zugeordnet
Schüler belegt KursSchü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ätBedeutungBeispiel
1:1Genau ein Datensatz gehört zu genau einem anderenPerson hat Personalausweis
1:nEin Datensatz kann mehrere andere Datensätze habenKunde hat mehrere Bestellungen
n:mViele Datensätze können mit vielen anderen verbunden seinSchü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:

AttributBedeutung
bestellung_idVerweis auf Bestellung
produkt_idVerweis auf Produkt
mengeWie oft wurde das Produkt bestellt?
einzelpreisPreis 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ätMögliche Attribute
Kundekunden_id, name, email
Bestellungbestellung_id, bestelldatum
Produktprodukt_id, bezeichnung, preis
Bestellpositionbestellung_id, produkt_id, menge

Beziehungen:

BeziehungKardinalität
Kunde zu Bestellung1:n
Bestellung zu Produktn:m
Bestellung zu Bestellposition1:n
Produkt zu Bestellposition1: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

ERMRelationales Datenbankmodell
Fachliches ModellTechnischeres Tabellenmodell
Zeigt EntitätenZeigt Tabellen
Zeigt BeziehungenZeigt Primär- und Fremdschlüssel
Nutzt KardinalitätenNutzt Schlüsselbeziehungen
Vorstufe zur DatenbankGrundlage 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:

SchrittFrage
1Welche Hauptwörter sind wichtig?
2Welche davon sind Entitäten?
3Welche Eigenschaften haben diese Entitäten?
4Welche Entität braucht welchen Primärschlüssel?
5Welche Entitäten stehen in Beziehung?
6Welche Kardinalität hat die Beziehung?
7Gibt es eine n:m-Beziehung?
8Muss 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

FehlerWarum falsch?
Attribute als Entität darstellenNicht jede Eigenschaft ist eine eigene Entität
n:m nicht auflösenIn Tabellen braucht man später eine Zwischentabelle
Primärschlüssel vergessenJeder Datensatz muss eindeutig identifizierbar sein
Kardinalitäten vertauschenDie Beziehung wird fachlich falsch
Beziehung zu technisch denkenERM ist zuerst fachlich, nicht direkt SQL
Fremdschlüssel schon zu früh überbewertenIm 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:

ElementErgebnis
Entität 1Kunde
Entität 2Rechnung
Beziehungerhält
Kardinalität1:n
ErklärungEin 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:

ElementErgebnis
Entität 1Mitarbeiter
Entität 2Abteilung
Beziehungarbeitet in
Kardinalitätn:1 oder 1:n
ErklärungAus 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:

ElementErgebnis
Entität 1Schüler
Entität 2Kurs
Beziehungbelegt
Kardinalitätn:m
ZwischentabelleBelegung

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