Zweite Normalform (2NF)

Die zweite Normalform ist ein wichtiger Schritt zu einer voll normalisierten relationalen Datenbank. Sie prüft, ob eine vollständige funktionale oder nur eine funktionale Abhängigkeit von Werten zu einer bestimmten Teilmenge existiert.

Die zweite Normalform wird meistens schon indirekt erreicht, wenn der Datenbankentwickler mit der Erstellung eines ER-Diagramms beschäftigt ist. Die logische Aufspaltung von komplexen Sachverhalten zwingt den Datenbankentwickler Geschäftsprozesse in Relationen abzubilden.

Gute Datenbankentwickler brauchen für die Zweite Normalform kein Modell auf dem Papier, sondern können Geschäftsprozesse direkt mit dem Kunden besprechen und zeitnah in einer Datenbankapplikation implementieren.

Zweite Normalform Definition

Ein Relationstyp (Tabelle) befindet sich genau dann in der zweiten Normalform (2NF), wenn er sich in der ersten Normalform (1NF) befindet und jedes Nichtschlüsselattribut von jedem Schlüsselkandidaten voll funktional abhängig ist.

Zweite Normalform Beispiel

Gegeben sei wieder folgende Rechnungstabelle:

ReNr Datum Name Vorname Straße PLZ Ort Artikel Stk. Preis
187 01.01.2012 Mustermann Max Musterstr. 1 12345 Musterort Stift 2 1,00 €

Nach der Anwendung der Zweiten Normalform (2NF) sieht das Ergebnis wie folgt aus:

Neue Tabelle: „Rechnung“

Nr Datum KundenNr
187 01.01.2012 007

Neue Tabelle: „Kunde“

KundeNr Name Vorname Straße PLZ Ort
007 Mustermann Max Musterstr. 1 12345 Musterort

Neue Tabelle: „Rechnungsposition“

RePosNr ReNr ArtNr Anzahl
1 187 69 2

Neue Tabelle „Artikel“

ArtNr Artikel Preis
69 Stift 1,00 €

Da ein Name (Nachname) nicht eindeutig ist, wird jedem Kunden eine Kundennummer (KundeNr) zugeordnet. Diese ist der Primärschlüssel der neuen Tabelle „Kunde“. Danach wird das gleiche mit den Artikeln durchgeführt. Des Weiteren wird eine Rechnungspositionstabelle eingebaut, da eine Rechnung von einem Kunden eine Vielzahl von Rechnungspositionen mit verschiedenen Artikeln beinhalten kann.

Die Spalten, die von einem Schlüsselkandidaten nicht vollständig funktional abhängig sind, werden in einer Untertabelle ausgelagert. Der Teil des Schlüsselkandidaten, von dem eine ausgelagerten Spalte funktional abhängig ist, wird Primärschlüssel der neuen Tabelle. In der zweiten Normalform werden auch die ersten Beziehungen in Datenbanken festgelegt.

Weiterführende Artikel

Autor: Markus
202 Bewertungen 1 Stern2 Sterne3 Sterne4 Sterne5 Sterne
Loading...
0