Zum Inhalt springen

Unabhängiges Lernangebot – nicht von einer IHK erstellt oder geprüft.

Datenmodellierung · AE und SI

ER-Modell und Normalisierung mit Aufgaben

Leite Tabellen und Beziehungen aus Anforderungen ab. Verstehe Schlüssel, Kardinalitäten und die ersten drei Normalformen anhand einer Bestellverwaltung.

Verantwortlich: Bär Softwareentwicklung UG (haftungsbeschränkt) / Aktualisiert: 07.10.2026

Automatisch bewertetes Thementraining

Wissen direkt in einem kurzen Set prüfen

Bearbeite bis zu 5 zufällig ausgewählte Aufgaben in etwa 5 Minuten. Du erhältst nach jeder Aufgabe Feedback und am Ende eine kompakte Auswertung.

Vom Fachtext zum Datenmodell

Entitäten sind fachliche Objekte wie Kunde, Bestellung und Artikel. Attribute beschreiben deren Eigenschaften. Ein Primärschlüssel identifiziert jeden Datensatz eindeutig; ein Fremdschlüssel verweist auf einen passenden Schlüssel einer anderen Tabelle.

Kardinalitäten ergeben sich aus den Geschäftsregeln: Ein Kunde kann keine oder viele Bestellungen haben, jede Bestellung gehört in unserem Modell genau einem Kunden. Optionalität und Höchstzahl müssen getrennt betrachtet werden.

  • Kunde 1 — 0..* Bestellung
  • Bei 1:n steht der Fremdschlüssel gewöhnlich auf der n-Seite
  • Eine n:m-Beziehung benötigt bei relationaler Umsetzung eine Zwischentabelle

Erste und zweite Normalform

Die erste Normalform verlangt im hier verwendeten Modell einzelne Werte pro Feld und keine Wiederholungsgruppen. Speichere mehrere Artikelpositionen als eigene Zeilen statt als kommagetrennte Liste.

Für die zweite Normalform müssen zusätzlich alle Nichtschlüsselattribute vollständig von jedem Kandidatenschlüssel abhängen. Bei einem zusammengesetzten Schlüssel dürfen sie nicht nur von einem Teil abhängen. Ein Kandidatenschlüssel ist eine minimale Attributkombination, die Datensätze eindeutig identifiziert.

  • 1NF: einzelne Werte statt Artikellisten
  • 2NF: keine partielle Abhängigkeit eines Nichtschlüsselattributs von einem Kandidatenschlüssel
  • Ein künstlicher ID-Schlüssel beseitigt fachliche Abhängigkeiten nicht automatisch

Dritte Normalform und Änderungsanomalien

Im üblichen Lehrmodell entfernt die dritte Normalform zusätzlich transitive Abhängigkeiten von Nichtschlüsselattributen vom Schlüssel. Hängt der Kundenname von der Kunden-ID ab, gehört er in die Kundentabelle statt wiederholt in jede Bestellung.

So vermeidest du widersprüchliche Änderungen, den Verlust von Stammdaten beim Löschen einer Bestellung und die Notwendigkeit einer Bestellung, nur um einen Kunden anzulegen. Historische Werte wie der vereinbarte Positionspreis können bewusst zusätzlich gespeichert werden.

  • Stammdaten und Vorgänge trennen
  • Abhängigkeiten aus Geschäftsregeln ableiten
  • Historische Preise sind nicht automatisch ein Modellierungsfehler

Durchgerechnetes Beispiel

Eine Bestellung mit mehreren Artikeln

Eine Bestellung enthält mehrere Artikel; derselbe Artikel kann in vielen Bestellungen vorkommen.

  1. 01 Modelliere Bestellung und Artikel als eigene Tabellen.
  2. 02 Füge Position mit bestellung_id, artikel_id und menge hinzu.
  3. 03 Wenn je Bestellung jeder Artikel nur einmal vorkommt, ist (bestellung_id, artikel_id) ein möglicher zusammengesetzter Schlüssel.

Ergebnis / Position löst die n:m-Beziehung auf. Bei mehrfachen Positionen desselben Artikels brauchst du etwa eine Positionsnummer.

Durchgerechnetes Beispiel

Kundennamen aus Bestellungen auslagern

Bestellung(id, kunde_id, kundenname) speichert den aktuellen Namen mehrfach. Jeder Kunde hat genau einen aktuellen Namen.

  1. 01 Es gilt id → kunde_id und kunde_id → kundenname.
  2. 02 Lege Kunde(id, name) an und speichere jeden Namen einmal.
  3. 03 Bestellung(id, kunde_id) verweist mit dem Fremdschlüssel auf Kunde.

Ergebnis / Die transitive Abhängigkeit ist entfernt; eine Namensänderung erfolgt am Kundenstammsatz.

Beispiel verstanden?

Jetzt in etwa 5 Minuten selbst anwenden

Auf einen Blick
Normalform Leitfrage
1NFEnthält jedes Feld einen einzelnen Wert?
2NFHängt jedes Nichtschlüsselattribut vom ganzen Kandidatenschlüssel ab?
3NFGibt es transitive Abhängigkeiten über Nichtschlüsselattribute?

Typische Fehler vermeiden

  • Kardinalitäten werden aus Anforderungen abgeleitet, nicht aus zufälligen Beispieldaten.
  • Ein Primärschlüssel muss nicht immer aus genau einer Spalte bestehen.
  • Normalisierung bedeutet nicht, historische Geschäftswerte nachträglich zu verändern.

Direkt anwenden

8 Übungen mit Lösungen

Beantworte die Aufgabe zuerst selbst. Öffne danach die Lösung, um Antwort und Rechenweg zu vergleichen.

  1. Aufgabe 01

    Anwendungsentwicklung

    Jede Bestellung gehört genau einem Kunden; ein Kunde kann beliebig viele Bestellungen haben. Wo liegt bei der üblichen relationalen Umsetzung der Fremdschlüssel?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: kunde_id in Bestellung

    Auf der n-Seite Bestellung verweist kunde_id auf den Schlüssel des Kunden.

  2. Aufgabe 02

    Systemintegration

    Ein Artikel kommt in vielen Bestellungen vor, eine Bestellung enthält viele Artikel. Welche Struktur löst diese n:m-Beziehung auf?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: Eine Positionstabelle mit Verweisen auf Bestellung und Artikel

    Die Zwischentabelle enthält beide Fremdschlüssel und Beziehungsattribute wie die Menge.

  3. Aufgabe 03

    Anwendungsentwicklung

    Ein Kunde kann null oder viele Bestellungen haben. Welche Multiplizität steht am Ende Bestellung der Beziehung Kunde–Bestellung?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: 0..*

    Die Zahl der Bestellungen je Kunde reicht von null bis beliebig vielen.

  4. Aufgabe 04

    Systemintegration

    Eine Tabelle speichert mehrere Artikelnummern als kommagetrennte Liste in einem Feld. Welche Normalform wird im hier verwendeten relationalen Lehrmodell zuerst verletzt?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: Erste Normalform

    Wiederholungsgruppen beziehungsweise Listen werden in einzelne Zeilen aufgelöst; jedes Feld enthält dann einen einzelnen Wert.

  5. Aufgabe 05

    Anwendungsentwicklung

    Position hat den Kandidatenschlüssel (bestellung_id, artikel_id). artikelname hängt nur von artikel_id ab. Es gibt keine weiteren Kandidatenschlüssel. Welche Abhängigkeit verhindert die zweite Normalform?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: Partielle Abhängigkeit vom Kandidatenschlüssel

    artikelname hängt nur von einem Teil des zusammengesetzten Kandidatenschlüssels ab und gehört in die Artikeltabelle.

  6. Aufgabe 06

    Systemintegration

    In Bestellung(id, kunde_id, kundenname) gilt id → kunde_id und kunde_id → kundenname. kundenname ist der aktuelle Stammdatenname. Welche Aufteilung beseitigt diese transitive Abhängigkeit?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: Kunde(id, name) und Bestellung(id, kunde_id)

    Der aktuelle Name wird über den Kundenstammsatz gespeichert; die Bestellung verweist auf den Kunden.

  7. Aufgabe 07

    Anwendungsentwicklung

    Ein Kundenname steht in 20 Bestellzeilen. Bei einer Namensänderung werden nur 19 Zeilen geändert. Welche Anomalie entsteht?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: Änderungsanomalie

    Derselbe aktuelle Sachverhalt liegt mehrfach vor und wird uneinheitlich geändert.

  8. Aufgabe 08

    Systemintegration

    Eine Bestellposition speichert den bei Kauf vereinbarten Preis; die Artikeltabelle speichert den heutigen Listenpreis. Welche zwei Aussagen sind richtig?

    Übungsvorschau: Notiere hier zuerst deinen Ansatz oder starte dieselbe Aufgabe anschließend im bewerteten Lernmodus.

    Lösung anzeigen

    Musterlösung: Der historische Positionspreis darf vom heutigen Listenpreis abweichen, Eine spätere Listenpreisänderung darf den vereinbarten Positionspreis nicht automatisch ersetzen

    Die beiden Felder beschreiben unterschiedliche Sachverhalte: vereinbarter historischer Preis und aktueller Listenpreis.

Kurz erklärt

Häufige Fragen

Was ist eine Änderungsanomalie?

Derselbe Sachverhalt wird mehrfach gespeichert und nur an einigen Stellen geändert. Dadurch entstehen widersprüchliche Daten.

Braucht jede n:m-Beziehung eine eigene Tabelle?

Bei der üblichen relationalen Umsetzung ja. Die Zwischentabelle enthält die Verweise und gegebenenfalls Beziehungsattribute wie eine Menge.

Fachliche Referenz: Microsoft Learn: Normalisierung von Datenbanken. Die Erklärungen und Aufgaben auf dieser Seite sind eigenständig formuliert.