Zweite Normalform
Eine Tabelle befindet sich in zweiter Normalform (2NF), wenn sie sich in erster Normalform befindet und jedes Nichtschlüsselattribut voll funktional von existierenden Schlüsselkandidaten abhängig ist. chat_bubble_outline chat_bubble_outline
Das Nichtschlüsselattribut ist somit abhängig von der Kombination aller Attribute der Schlüsselkandidaten, nicht nur von einer Teilmenge von ihnen. Wenn der einzige Schlüssel einer Tabelle in 1NF nur aus einem Attribut besteht, ist sie somit auch in 2NF. chat_bubble_outline
Werfen wir noch einmal einen Blick auf unsere Tabelle:
Tabelle: Aufträge
Datum | Kennzeichen | Automarke | Modell | KdNr. | Kunde | MNr. | Mechaniker | DNr. | Dienstleistungen | Beendet |
---|---|---|---|---|---|---|---|---|---|---|
16.3.2018 | MK:KI 163 | Volvo | 850 | K101 | Kiwits | M01 | Meinecke | D801 | Scheinwerfer reparieren | Ja |
4.5.2018 | MS:KU 458 | Ford | Mondeo | K102 | Kurze | M02 | Münz | D106 | Ausbeulen | Ja |
Hier kann man einige Attribute erkennen, bei denen das nicht der Fall ist:
- Das Modell ist nicht vollfunktional abhängig vom Primärschlüssel, da es schon funktional abhängig vom Kennzeichen ist.
- Die Dienstleistung ist ebenfalls nicht voll funktional abhängig, da sie bereits funktional abhängig von der D-Nr. ist.
Überführung in die 2NF
Um die Relation in die 2NF zu überführen, sind folgende Schritte notwendig: Für jedes Attribut A des Schlüssels, von dem Nichtschlüsselattribute N funktional abhängig sind, wird eine eigene Tabelle erstellt. In dieser neuen Tabelle ist A der Primärschlüssel. chat_bubble_outline
In unserem Beispiel besteht der Primärschlüssel aus drei Attributen:
- Für das Datum existieren keine funktionalen Abhängigkeiten.
- Für das Kennzeichen existieren die folgenden funktionalen Abhängigkeiten: Automarke, Modell, Kd-Nr., Kunde
- Die Dienstleistung ist außerdem funktional abhängig von der D-Nr.
Das bedeutet, dass zwei neue Tabellen erstellt werden müssen. Die Nichtschlüsselattribute, die in die neue Tabelle überführt werden, werden aus der bestehenden Tabelle entfernt.
Tabelle: Aufträge
Datum | Kennzeichen | MNr. | Mechaniker | DNr. | Beendet |
---|---|---|---|---|---|
16.3.2018 | MK:KI 163 | M01 | Meinecke | D801 | Ja |
16.3.2018 | MK:KI 163 | M01 | Meinecke | D401 | Ja |
4.5.2018 | MS:KU 458 | M02 | Münz | D106 | Ja |
5.5.2018 | DO:KL 558 | M02 | Münz | D408 | Nein |
8.6.2018 | MK:KI 163 | M03 | Maler | D402 | Nein |
9.6.2018 | MK:KL 96 | M03 | Maler | D002 | Nein |
Tabelle: Kunden
Kennzeichen | Automarke | Modell | KdNr. | Kunde |
---|---|---|---|---|
MK:KI 163 | Volvo | 850 | K101 | Kiwits |
MS:KU 458 | Ford | Mondeo | K102 | Kurze |
DO:KL 558 | VW | Golf | K103 | Klein |
MK:KL 96 | Opel | Astra | K103 | Klein |
Tabelle: Dienstleistungen
DNr. | Dienstleistungen |
---|---|
D002 | Ölwechsel |
D106 | Ausbeulen |
D401 | Bremsen kontrollieren |
D402 | Bremsen erneuern |
D408 | Batterie wechseln |
D801 | Scheinwerfer reparieren |
Duplikate werden in den neu erstellten Tabellen selbstverständlich entfernt.
Diese Relation befindet sich nun in der zweiten Normalform.
In manchen Fällen kann es vorkommen, dass durch diesen Schritt Abhängigkeiten verloren gehen. Nähere Informationen dazu finden Sie beim Syntheseverfahren.
chevron_right Dritte Normalform