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
Gesucht und geändert werden hier einzelne Nummern, nicht die Liste als unteilbare Information.
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
X → Titel bedeutet: Gleicher X-Wert erzwingt denselben Titel.
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
Ein echter Schlüsselteil enthält hier nur eine der beiden IDs.
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
Atomare Werte erfüllen die erste Stufe.
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
Lagere die Fakten über einzelne Teilnehmer beziehungsweise Workshops in eigene Relationen aus.
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
Ein einteiliger Kandidatenschlüssel hat hier keinen echten Teil, von dem ein Nichtschlüsselattribut abhängen könnte.
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
Der Name gehört zu dem Attribut, das ihn direkt bestimmt: KundenID.
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
Die Definition der 2NF betrachtet alle Kandidatenschlüssel, nicht nur den ausgewählten PK.
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.