Title: Anleitung für den NF-Trainer
Course: Das relationale Datenmodell > Section: Normalisierung

Das Tool "NF-Trainer" wurde im Projekt EILD.nrw als OER (Open Educational Ressource) von der Datenbankgruppe der Technischen Hochschule Köln entwickelt.

Es werden Kenntnisse der Begriffe und Definitionen von funktionalen Abhängigkeiten und den einzelnen Normalformen vorausgesetzt.

- Beschreibung des Tools
- Erste Normalform
- Zweite Normalform
- Dritte Normalform

Beschreibung

In sechs Schritten zur dritten Normalform: Eine Herausforderung bei der Datenmodellierung ist die Normalisierung eines Relationenschemas. Der 3NF-Trainer demonstriert in einem stufenweisen Verfahren, wie die Normalisierung von Relationen interaktiv bis zur 3. Normalform (3NF) bewältigt werden kann. Dabei wird der Gesamtalgorithmus in Einzelschritte zerlegt und nach jedem Schritt die korrekte Lösung mit einem Zwischenergebnis angezeigt sowie die Bewertung der eigenen Lösung mit Punkten versehen.

Vorausgesetzt werden Kenntnisse der Begriffe und Definitionen  von funktionaler Abhängigkeit, 1NF, 2NF und 3NF.

Zuerst wählen Sie eine NF-Aufgabe aus. Ihnen wird eine Aufgabenbeschreibung mit der zugehörigen Ausgangstabelle angezeigt.

Die sechs Schritte sehen wie folgt aus.

Erste Normalform

Definition: In der ersten Normalform existieren nur skalare Attributwerte.

Erreichung: Mehrwertige Attribute werden in separate Relationen oder verschiedene Attribute innerhalb einer Relation zerlegt.

  - Schritt 1: Erste Normalform (1NF)
Entscheiden Sie (Ja/Nein-Auswahl), ob sich die Tabelle schon in der ersten Normalform befindet. Falls nicht, markieren Sie alle Spalten, welche die erste Normalform verletzen. Unterscheiden Sie zwischen zusammengesetzten und vielfachen Werten. Die Tabelle wird anschließend vom System in die 1NF überführt.

Zweite Normalform

Definition: In der zweiten Normalform sind die Bedingungen für die 1NF erfüllt und alle Nicht-Schlüssel-Attribute sind von den Schlüsseln voll funktional abhängig.

Erreichung: Partielle funktionale Abhängigkeiten von Teilen des Schlüssels werden durch informationserhaltende Zerlegung mittels Schlüssel-Fremdschlüsselbeziehung aufgelöst.

  - Schritt 2: Funktionale Abhängigkeiten bestimmen
Bestimmen Sie alle vollen funktionalen Abhängigkeiten, indem Sie auf die entsprechenden Spalten für (zukünftige) Primärschlüssel und abhängige Spalten klicken. Die Primärschlüssel sind die Determinanten der funktionalen Abhängigkeiten. Berücksichtigen Sie die gegebene Beschreibung der Anwendung.

  - Schritt 3: Primärschlüssel auswählen
Wählen Sie diejenigen Spalten aus, aus denen der Primärschlüssel besteht.

  - Schritt 4: Typen der funktionalen Abhängigkeiten bestimmen
Bestimmen Sie anhand der Primärschlüssel die Typen der funktionalen Abhängigkeiten:

- partiell: die Determinante ist Teil eines Schlüssels
- voll: alle Attribute der Determinante sind notwendig
- transitiv: ein Attribut ist sowohl Determinante als auch bestimmtes Attribut

  - Schritt 5: Zerlegung (2NF)
Bringen Sie das Schema in die zweite Normalform. Die Zerlegung erfolgt anhand des Primärschlüssels. Eine Determinante, die Teil des Primärschlüssels ist, wird als Schlüssel mit "ihren" bestimmten Attributen in eine separate Tabelle ausgelagert werden (partielle funktionale Abhängigkeit vom Schlüssel). Definieren Sie das passende Relationenschema, indem Sie auf die entsprechenden Spalten (Primärschlüssel und abhängige Spalten) klicken. Die Tabelle wird anschließend vom System in die 2NF überführt.

Dritte Normalform

Definition: In der dritten Normalform sind die Bedingungen für die 1NF und 2NF erfüllt und es existieren keine transitiven Abhängigkeiten von Nichtschlüssel-Attributen durch Schlüssel.

Erreichung: Transitive Abhängigkeiten werden durch informationserhaltende Zerlegungen mittels Schlüssel-Fremdschlüsselbeziehung aufgelöst.

  - Schritt 6: Dritte Normalform (3NF)
Entscheiden Sie (Ja/Nein-Auswahl), ob sich die Tabelle nun bereits in der dritten Normalform befindet. Falls nicht, bringen Sie das Schema in die dritte Normalform, indem Sie auf die entsprechenden Spalten (Primärschlüssel und abhängige Spalten) klicken. Auch wenn eine Zerlegung in 2NF schon angezeigt wird, müssen alle Abhängigkeiten angegeben werden. Die Tabelle wird anschließend vom System in die 3NF überführt.

direkt  zum NF-Trainer