Die dritte normale Form

In der Informatik ist die dritte normale Form (3NF) eine normale in der Datenbanknormalisierung verwendete Form. 3NF wurde von E.F. Codd 1971 ursprünglich definiert. Die Definition von Codd stellt fest, dass ein Tisch in 3NF ist, wenn, und nur wenn beide der folgenden Bedingungen halten:

  • Die Beziehung R (Tisch) ist in der zweiten normalen Form (2NF)
  • Jedes Nichthauptattribut von R ist nichttransitiv abhängig (d. h. direkt abhängig) auf jedem Superschlüssel von R.

Ein Nichthauptattribut von R ist ein Attribut, das keinem Kandidat-Schlüssel von R gehört. Eine transitive Abhängigkeit ist eine funktionelle Abhängigkeit, in der X  Z (X Z bestimmt) indirekt, auf Grund von X  Y und Y  Z (wo es nicht der Fall dass Y  X ist).

3NF wurde Definition, die Codd gleichwertig ist, aber verschieden ausgedrückt hat, von Carlo Zaniolo 1982 gegeben. Diese Definition stellt fest, dass ein Tisch in 3NF ist, wenn, und nur wenn, für jede seiner funktionellen Abhängigkeiten X  A, mindestens eine der folgenden Bedingungen halten:

  • X enthält (d. h. X  ist A triviale funktionelle Abhängigkeit), oder
  • X ist ein Superschlüssel oder
  • A-X, der Satz-Unterschied zwischen A und X sind ein Hauptattribut (d. h. A-X wird innerhalb eines Kandidat-Schlüssels enthalten)

Die Definition von Zaniolo gibt einen klaren Sinn des Unterschieds zwischen 3NF und die strengere Boyce-Codd Normale Form (BCNF). BCNF beseitigt einfach die dritte Alternative ("A ist ein Hauptattribut").

"Nichts als der Schlüssel"

Eine denkwürdige Behauptung der Definition von Codd 3NF, dem traditionellen Versprechen anpassend, wahre Beweise in einem Gerichtshof zu geben, wurde von Bill Kent gegeben: "[Jeder] Nichtschlüssel [Attribut] muss eine Tatsache über den Schlüssel, den ganzen Schlüssel, und nichts als den Schlüssel zur Verfügung stellen." Eine allgemeine Schwankung ergänzt diese Definition mit dem Eid: "So helfen Sie mir Codd".

Das Verlangen der Existenz "des Schlüssels" stellt sicher, dass der Tisch in 1NF ist; das Verlangen, dass Nichtschlüsselattribute ", vom ganzen Schlüssel" abhängig sein, 2NF sichern; weiter das Verlangen, dass Nichtschlüsselattribute, von "nichts als dem Schlüssel" abhängig sein, 3NF sichern.

Chris Date kennzeichnet die Zusammenfassung von Kent als "eine intuitiv attraktive Charakterisierung" 3NF und bemerkt, dass mit der geringen Anpassung sie als eine Definition des ein bisschen stärkeren Boyce-Codd normaler Form dienen kann: "Jedes Attribut muss eine Tatsache über den Schlüssel, den ganzen Schlüssel, und nichts als den Schlüssel vertreten." 3NF ist die Version der Definition schwächer als die BCNF Schwankung von Date, weil der erstere nur mit dem Sicherstellen betroffen wird, dass Nichtschlüsselattribute von Schlüsseln abhängig sind. Hauptattribute (die Schlüssel oder Teile von Schlüsseln sind) müssen überhaupt nicht funktionell abhängig sein; sie vertritt jeder eine Tatsache über den Schlüssel im Sinne der Versorgung des Teils oder des ganzen Schlüssels selbst. (Es sollte hier bemerkt werden, dass diese Regel nur für funktionell abhängige Attribute als Verwendung gilt, würde davon zu allen Attributen zerlegbare Kandidat-Schlüssel implizit verbieten, da jeder Teil jedes solchen Schlüssels den "ganzen Schlüssel" Klausel verletzen würde.)

Ein Beispiel 2NF Tisch, der scheitert, den Anforderungen 3NF zu entsprechen, ist:

Weil jede Reihe im Tisch uns erzählen muss, die ein besonderes Turnier in einem besonderen Jahr, der zerlegbare Schlüssel {Turnier gewonnen haben, ist Jahr} ein minimaler Satz von Attributen, die versichert sind, eine Reihe einzigartig zu identifizieren. D. h. {Turnier, Jahr} ist ein Kandidat-Schlüssel für den Tisch.

Der Bruch 3NF kommt vor, weil das Nichthauptattribut-Sieger-Geburtsdatum vom Kandidat-Schlüssel {Turnier, Jahr} über den Nichthauptattribut-Sieger transitiv abhängig ist. Die Tatsache, dass Sieger-Geburtsdatum vom Sieger funktionell abhängig ist, macht den Tisch verwundbar für logische Widersprüchlichkeiten, weil es nichts gibt, um dieselbe Person zu verhindern, mit verschiedenen Geburtsdaten auf verschiedenen Aufzeichnungen gezeigt zu werden.

Um dieselben Tatsachen auszudrücken, ohne 3NF zu verletzen, ist es notwendig, den Tisch in zwei zu spalten:

Aktualisierungsanomalien können in diesen Tischen nicht vorkommen, die beide in 3NF sind.

Abstammung der Bedingungen von Zaniolo

Die Definition 3NF angeboten von Carlo Zaniolo 1982 und gegeben oben, wird folgendermaßen bewiesen: Lassen Sie X  A ein nichttrivialer FD sein (d. h. derjenige, wo X A nicht enthält) und lassen Sie A ein Nichtschlüsselattribut sein. Lassen Sie auch Y ein Schlüssel von R sein. Dann Y  X. Deshalb ist A von Y nicht transitiv abhängig, wenn und nur wenn X  Y, d. h. wenn, und nur wenn X ein Superschlüssel ist.

Normalisierung darüber hinaus 3NF

Meiste 3NF Tische sind frei von der Aktualisierung, der Einfügung und den Auswischen-Anomalien. Bestimmte Typen 3NF Tische, die selten mit in der Praxis entsprochen sind, werden durch solche Anomalien betroffen; das sind Tische, die, entweder hinter der Boyce-Codd Normalen Form (BCNF) oder wenn zurückzubleiben, sie BCNF entsprechen, hinter den höheren normalen Formen 4NF oder 5NF zurückbleiben.

Siehe auch

System des Attribut-Werts
  • Boyce-Codd normale Form
Zuerst normale FormDie zweite normale Form

Weiterführende Literatur

Datum, C. J. (1999), Eine Einführung in Datenbanksysteme (8. Hrsg.). Addison-Wesley Longman. Internationale Standardbuchnummer 0-321-19784-4.Kent, W. (1983) Ein Einfaches Handbuch zu Fünf Normalen Formen in der Verwandtschaftsdatenbanktheorie, den Kommunikationen des ACM, vol. 26, Seiten 120-125

Links

Die Tipps von Litt: NormalisierungDatenbanknormalisierungsgrundlagen durch Mike Chapple (About.com)Eine Einführung in die Datenbanknormalisierung durch Mike Hillyer.Ein Tutorenkurs auf den ersten 3 normalen Formen durch Fred CoulsonBeschreibung der Datenbanknormalisierungsgrundlagen durch Microsoft

Die zweite normale Form / Die vierte normale Form
Impressum & Datenschutz