Direkt zum Inhalt

BPE 6 · J1

Normalisierung bis zur dritten Normalform

Du erkennst funktionale Abhängigkeiten und zerlegst Tabellen so, dass jede Tatsache an einer passenden Stelle gespeichert wird.

Bildungsplanbezug: BPE 6.2 · interne Lerneinheit 6.1.4

Geschätzte Lernzeit: 55 Minuten

Noch nicht begonnen

Das kannst du danach

  • Funktionale Abhängigkeiten aus Geschäftsregeln bestimmen
  • 1NF, 2NF und 3NF unterscheiden
  • Partielle und transitive Abhängigkeiten erkennen
  • Informationserhaltende Zerlegungen mit Schlüsseln beschreiben

Verständlich erklärt

X → Y bedeutet: Stimmen zwei Datensätze in X überein, müssen sie auch in Y übereinstimmen. Ob diese funktionale Abhängigkeit gilt, entscheidet die Geschäftsregel und nicht ein zufälliger Ausschnitt der Daten. Ein Kandidatenschlüssel ist eine minimale Attributmenge, die alle Attribute bestimmt. Ein Nichtschlüsselattribut gehört zu keinem Kandidatenschlüssel. In der ersten Normalform (1NF) enthält jede Zelle genau einen Wert des vorgesehenen Wertebereichs; eine Liste mehrerer unabhängig auszuwertender Telefonnummern gehört daher nicht in eine einzelne Telefon-Zelle. Die zweite Normalform (2NF) verlangt zusätzlich, dass jedes Nichtschlüsselattribut von jedem Kandidatenschlüssel vollständig abhängt. Bestimmt bereits ein echter Teil eines zusammengesetzten Kandidatenschlüssels den Namen, liegt eine partielle Abhängigkeit vor. Lagere dann zum Beispiel TeilnehmerID → TeilnehmerName in eine Teilnehmerrelation aus. Für die dritte Normalform (3NF) gilt bei jeder nichttrivialen Abhängigkeit X → A: X ist ein Superschlüssel, bestimmt also die ganze Zeile, oder A gehört zu einem Kandidatenschlüssel. In den einfachen Beispielen mit genau einem Schlüssel verhindert dies, dass Nichtschlüsselattribute über andere Nichtschlüsselattribute vom Schlüssel abhängen. BuchungID → KundenID → KundenName ist eine solche transitive Abhängigkeit, wenn KundenID nicht selbst Schlüssel der Buchungsrelation ist. Speichere den Namen dann in KUNDE(KundenID, KundenName), behalte aber KundenID als Fremdschlüssel in BUCHUNG. So kann die Zuordnung wiederhergestellt werden. Auch alternative Kandidatenschlüssel zählen: Eine zusätzliche künstliche ID beseitigt vorhandene Abhängigkeiten nicht.

  • funktionale Abhängigkeit
  • Kandidatenschlüssel
  • Nichtschlüsselattribut
  • 1NF
  • 2NF
  • 3NF
  • partielle Abhängigkeit
  • transitive Abhängigkeit

Beispiel

Ausgangsrelation (alle Werte atomar):
BELEGUNG(TeilnehmerID, WorkshopID, TeilnehmerName, Note)
Einziger Kandidatenschlüssel: (TeilnehmerID, WorkshopID)
Regeln: TeilnehmerID -> TeilnehmerName
        (TeilnehmerID, WorkshopID) -> Note

Problem: Der Name hängt nur von einem Schlüsselteil ab.
Zerlegung:
TEILNEHMER(TeilnehmerID PK, TeilnehmerName)
BELEGUNG(TeilnehmerID, WorkshopID, Note)
  PK: (TeilnehmerID, WorkshopID)
  FK: TeilnehmerID -> TEILNEHMER.TeilnehmerID

Der Name wird einmal je Teilnehmer gespeichert;
jede Belegung und ihre Note bleiben rekonstruierbar.

Typische Fehler

  • Abhängigkeiten allein aus wenigen gleich aussehenden Werten ableiten
  • Nur den ausgewählten Primärschlüssel statt aller Kandidatenschlüssel betrachten
  • Bei der Zerlegung verbindende Schlüsselattribute entfernen
  • 2NF und 3NF ohne Prüfung der vorherigen Normalformen behaupten

Kurz zusammengefasst

Prüfe zunächst atomare Werte, dann vollständige Abhängigkeit von allen Kandidatenschlüsseln und schließlich problematische transitive Abhängigkeiten. Erhalte bei der Zerlegung die Zuordnungen über Schlüssel.

Abi-Bezug

Nenne die gegebene Abhängigkeit, erkläre die verletzte Normalform und gib anschließend die neuen Relationen samt Schlüsseln an. Eine künstliche ID allein ist keine Normalisierung.

Jetzt selbst ausprobieren

Prüfe deine Lösung automatisch. Bei Bedarf helfen dir ein Tipp und anschließend die Musterlösung.

BPE 6J11 Punkteleicht

Erste Normalform: einzelne Werte

Noch nicht begonnen

Aufgabenstellung

Ein Kontakt soll mehrere Telefonnummern haben können. Jede Telefonnummer wird unabhängig gesucht und geändert. KONTAKT(KontaktID als PK, Telefon) speichert in Telefon die Zeichenfolge 0151-123; 0160-456 als Liste. Welche Änderung entspricht dem vorgesehenen einzelnen Telefonnummer-Wertebereich?

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Gesucht und geändert werden hier einzelne Nummern, nicht die Liste als unteilbare Information.
  2. Speichere die Wiederholung in mehreren Zeilen und erhalte die Zuordnung zum Kontakt über KontaktID.
Lösung anzeigen
TELEFON(KontaktID, Nummer) speichert jede Nummer separat. Wenn dieselbe Nummer pro Kontakt höchstens einmal vorkommt, ist das Paar ein passender PK; KontaktID ist zugleich FK auf KONTAKT. Ein anderes Trennzeichen verändert die Struktur nicht.
BPE 6J11 Punkteleicht

Eine funktionale Abhängigkeit benennen

Noch nicht begonnen

Aufgabenstellung

WORKSHOP hat den eindeutigen Identifikator WorkshopID und das Attribut Titel. Jeder WorkshopID ist genau ein aktueller Titel zugeordnet; verschiedene WorkshopIDs dürfen denselben Titel haben. Welches Identifikatorattribut bestimmt Titel funktional? Nenne nur seinen Namen.

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. X → Titel bedeutet: Gleicher X-Wert erzwingt denselben Titel.
  2. Die Umkehrung gilt hier nicht, weil ein Titel bei mehreren Workshops vorkommen darf.
Lösung anzeigen
WorkshopID → Titel. Titel → WorkshopID gilt nach der Geschäftsregel nicht, denn ein Titel kann mehreren IDs zugeordnet sein.
BPE 6J12 Punktemittel

Partielle Abhängigkeiten erkennen

Noch nicht begonnen

Aufgabenstellung

BELEGUNG(TeilnehmerID, WorkshopID, TeilnehmerName, WorkshopTitel, Anmeldedatum) hat als einzigen Kandidatenschlüssel (TeilnehmerID, WorkshopID). Es gelten genau die angegebenen Regeln und ihre Folgerungen: TeilnehmerID → TeilnehmerName; WorkshopID → WorkshopTitel; das gesamte Paar → Anmeldedatum. Welche Nichtschlüsselattribute hängen bereits von einem echten Teil des Schlüssels ab? Wähle alle richtigen Antworten.

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Ein echter Schlüsselteil enthält hier nur eine der beiden IDs.
  2. Das Datum benötigt laut Regeln das gesamte Paar; Name und Titel jeweils nur eine ID.
Lösung anzeigen
TeilnehmerName und WorkshopTitel hängen partiell ab. Anmeldedatum hängt vollständig vom Paar ab. TeilnehmerID ist kein Nichtschlüsselattribut.
BPE 6J12 Punktemittel

Die höchste erfüllte Normalform bestimmen

Noch nicht begonnen

Aufgabenstellung

BELEGUNG(TeilnehmerID, WorkshopID, TeilnehmerName, Note) enthält ausschließlich atomare Werte. Einziger Kandidatenschlüssel ist (TeilnehmerID, WorkshopID). Es gelten TeilnehmerID → TeilnehmerName und (TeilnehmerID, WorkshopID) → Note, sonst keine weiteren unabhängigen Abhängigkeiten. Was ist die höchste erfüllte Normalform aus 1NF, 2NF und 3NF? Antworte nur mit ihrer Bezeichnung.

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Atomare Werte erfüllen die erste Stufe.
  2. Der TeilnehmerName hängt nur von einem Teil des zusammengesetzten Kandidatenschlüssels ab.
Lösung anzeigen
1NF ist erfüllt. 2NF ist wegen TeilnehmerID → TeilnehmerName verletzt; damit ist auch 3NF nicht erfüllt.
BPE 6J12 Punktemittel

Eine passende Zerlegung in die 2NF auswählen

Noch nicht begonnen

Aufgabenstellung

BELEGUNG enthält TeilnehmerID, WorkshopID, TeilnehmerName, WorkshopTitel und Anmeldedatum. Einziger Kandidatenschlüssel ist das ID-Paar. Regeln: TeilnehmerID → TeilnehmerName, WorkshopID → WorkshopTitel, das Paar → Anmeldedatum. Welche drei Relationen entfernen die beiden partiellen Abhängigkeiten und erhalten alle Angaben ohne zusätzliche Namens- oder Titelkopien? Wähle alle drei.

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Lagere die Fakten über einzelne Teilnehmer beziehungsweise Workshops in eigene Relationen aus.
  2. Die Beziehung selbst und ihr Datum bleiben über beide IDs verbunden.
Lösung anzeigen
TEILNEHMER, WORKSHOP und BELEGUNG sind die passenden Relationen. Namen und Titel stehen jeweils einmal beim zugehörigen Objekt; BELEGUNG bewahrt das Paar und dessen Anmeldedatum.
BPE 6J12 Punktemittel

2NF von 3NF unterscheiden

Noch nicht begonnen

Aufgabenstellung

BUCHUNG(BuchungID, KundenID, KundenName) hat ausschließlich atomare Werte und als einzigen Kandidatenschlüssel BuchungID. Ein Kunde kann mehrere Buchungen haben. Regeln: BuchungID → KundenID und KundenID → KundenName; weitere unabhängige Abhängigkeiten bestehen nicht. Welche höchste Normalform aus 1NF, 2NF und 3NF ist erfüllt?

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Ein einteiliger Kandidatenschlüssel hat hier keinen echten Teil, von dem ein Nichtschlüsselattribut abhängen könnte.
  2. KundenID bestimmt KundenName, aber nicht die ganze Buchungszeile, da ein Kunde mehrere Buchungen haben darf.
Lösung anzeigen
2NF ist erfüllt, 3NF nicht. KundenID ist kein Superschlüssel von BUCHUNG und KundenName gehört zu keinem Kandidatenschlüssel. Der Name gehört deshalb in eine eigene Kundenrelation.
BPE 6J13 Punkteanspruchsvoll

Eine transitive Abhängigkeit auflösen

Noch nicht begonnen

Aufgabenstellung

BUCHUNG(BuchungID, KundenID, KundenName) hat den einzigen Kandidatenschlüssel BuchungID. Ein Kunde kann mehrere Buchungen haben. Es gelten BuchungID → KundenID und KundenID → KundenName. Welche Zerlegung entfernt die transitive Namensabhängigkeit und erhält die Zuordnung jeder Buchung?

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Der Name gehört zu dem Attribut, das ihn direkt bestimmt: KundenID.
  2. Die Buchung muss ihren Kunden weiterhin identifizieren können.
Lösung anzeigen
KUNDE speichert KundenID → KundenName. BUCHUNG behält KundenID als Fremdschlüssel, sodass jede Buchung wieder ihrem Kunden zugeordnet werden kann. Ohne diesen Verweis ginge die Zuordnung verloren.
BPE 6J13 Punkteanspruchsvoll

Auch alternative Kandidatenschlüssel prüfen

Noch nicht begonnen

Aufgabenstellung

BELEGUNG(BelegungID, TeilnehmerID, WorkshopID, TeilnehmerName) enthält atomare Werte. Die einzigen Kandidatenschlüssel sind ausdrücklich BelegungID und (TeilnehmerID, WorkshopID); das Paar ist also ebenfalls eindeutig. Zusätzlich gilt TeilnehmerID → TeilnehmerName. Beseitigt die Auswahl von BelegungID als Primärschlüssel den 2NF-Verstoß?

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Die Definition der 2NF betrachtet alle Kandidatenschlüssel, nicht nur den ausgewählten PK.
  2. TeilnehmerID bleibt ein echter Teil des minimalen Schlüssels (TeilnehmerID, WorkshopID).
Lösung anzeigen
Nein. Der alternative Kandidatenschlüssel muss ebenfalls vollständig betrachtet werden. TeilnehmerName ist von TeilnehmerID allein abhängig. Eine künstliche ID verändert diese Geschäftsregel nicht; die Teilnehmerdaten müssen weiterhin ausgelagert werden.

Lektionsabschluss

Bearbeite Aufgaben, um deine Auswertung zu sehen.