Die zweite normale Form

Die zweite normale Form (2NF) ist eine normale in der Datenbanknormalisierung verwendete Form. 2NF wurde von E.F. Codd 1971 ursprünglich definiert.

Ein Tisch, der in der ersten normalen Form (1NF) ist, muss zusätzlichen Kriterien entsprechen, wenn es sich für die zweite normale Form qualifizieren soll. Spezifisch: Ein Tisch ist in 2NF, wenn, und nur wenn es in 1NF und nicht ist, nicht Hauptattribut von einer richtiger Teilmenge eines Kandidat-Schlüssels des Tisches abhängig ist. Ein nicht erstes Attribut eines Tisches ist ein Attribut, das nicht ein Teil jedes Kandidat-Schlüssels des Tisches ist.

Gestellt einfach ist ein Tisch in 2NF, wenn, und nur wenn es in 1NF und jedes Nichthauptattribut des Tisches ist, entweder Abhängiger auf dem ganzen ein Kandidat-Schlüssel, oder auf einem anderen nicht Hauptattribut ist.

Bemerken Sie, dass, wenn 1NF Tisch keine zerlegbaren Kandidat-Schlüssel (Kandidat-Schlüssel hat, die aus mehr als einem Attribut bestehen), der Tisch automatisch in 2NF ist.

Beispiel

Denken Sie einen Tisch, der die Sachkenntnisse von Angestellten beschreibt:

Weder {Angestellter} noch {Sachkenntnis} sind ein Kandidat-Schlüssel für den Tisch. Das ist, weil ein gegebener Angestellter eventuell mehr erscheinen müsste als einmal (er könnte vielfache Sachkenntnisse haben), und eine gegebene Sachkenntnis müsste eventuell mehr erscheinen als einmal (sie könnte von vielfachen Angestellten besessen werden). Nur der zerlegbare Schlüssel {Angestellter, Sachkenntnis} qualifiziert sich als ein Kandidat-Schlüssel für den Tisch.

Das restliche Attribut, Aktuelle Arbeitsposition, ist von nur einem Teil des Kandidat-Schlüssels, nämlich Angestellter abhängig. Deshalb ist der Tisch nicht in 2NF. Bemerken Sie die Überfülle in der Weise, wie Aktuelle Arbeitspositionen vertreten werden: Uns wird dreimal gesagt, dass Jones auf 114 Main Street, und zweimal arbeitet, dass Ellis an 73 Industrieweg arbeitet. Diese Überfülle macht den Tisch verwundbar, um Anomalien zu aktualisieren: Es ist zum Beispiel, möglich, die Arbeitsposition von Jones auf seinen "Schreiben-" und "Schnellschrift"-Aufzeichnungen zu aktualisieren und seine "Schnitzende" Aufzeichnung nicht zu aktualisieren. Die resultierenden Daten würden widersprechende Antworten auf die Frage einbeziehen "Wie ist die aktuelle Arbeitsposition von Jones?"

2NF würde die Alternative zu diesem Design dieselbe Information in zwei Tischen vertreten: ein "Mitarbeiter"-Tisch mit dem Kandidat-Schlüssel {Angestellter}, und "die Sachkenntnisse von Angestellten" Tisch mit dem Kandidat-Schlüssel {Angestellter, Sachkenntnis}:

Keiner dieser Tische kann unter Aktualisierungsanomalien leiden.

Nicht alle 2NF sind Tische von Aktualisierungsanomalien jedoch frei. Ein Beispiel 2NF Tisch, der unter Aktualisierungsanomalien leidet, ist:

Wenn auch Sieger und Sieger-Geburtsdatum durch den ganzen Schlüssel {Turnier, Jahr} und nicht ein Teil davon, besonderer Sieger / bestimmt werden, werden Sieger-Geburtsdatum-Kombinationen überflüssig auf vielfachen Aufzeichnungen gezeigt. Das führt zu einer Aktualisierungsanomalie: Wenn Aktualisierungen durchweg nicht ausgeführt werden, konnte als ein besonderer Sieger gezeigt werden, zwei verschiedene Geburtsdaten zu haben.

Das zu Grunde liegende Problem ist die transitive Abhängigkeit, der das Sieger-Geburtsdatum-Attribut unterworfen ist. Sieger-Geburtsdatum hängt wirklich von Sieger ab, der der Reihe nach vom Schlüsselturnier / Jahr abhängt.

Dieses Problem wird durch die dritte normale Form (3NF) gerichtet.

2NF und Kandidat-Schlüssel

Ein Tisch, für den es keine teilweisen funktionellen Abhängigkeiten vom primären Schlüssel gibt, ist normalerweise, aber nicht immer, in 2NF. Zusätzlich zum primären Schlüssel kann der Tisch andere Kandidat-Schlüssel enthalten; es ist notwendig festzustellen, dass keine Nichthauptattribute Abhängigkeiten des Teil-Schlüssels von einigen dieser Kandidat-Schlüssel haben.

Vielfache Kandidat-Schlüssel kommen im folgenden Tisch vor:

Selbst wenn der Entwerfer den primären Schlüssel als {Vorbildlicher Voller Name} angegeben hat, ist der Tisch nicht in 2NF. {Hersteller, Modell} ist auch ein Kandidat-Schlüssel, und Hersteller-Land ist von einer richtigen Teilmenge davon abhängig: Hersteller. Um sich das Design 2NF anpassen zu lassen, ist es notwendig, zwei Tische zu haben:

Siehe auch

System des Attribut-WertsDie dritte normale Form

Weiterführende Literatur

Die Tipps von Litt: NormalisierungDatum, C. J., & Lorentzos, N., & Darwen, H. (2002). Zeitliche Daten & das Verwandtschaftsmodell (1. Hrsg.). Morgan Kaufmann. Internationale Standardbuchnummer 1-55860-855-9.Kent, W. (1983) Ein Einfaches Handbuch zu Fünf Normalen Formen in der Verwandtschaftsdatenbanktheorie, den Kommunikationen des ACM, vol. 26, Seiten 120-125

Links


Zuerst normale Form / Die dritte normale Form
Impressum & Datenschutz