Dritte Normalform (3nf)

Definition - Was bedeutet Dritte Normalform (3NF)?

Die dritte Normalform - oder 3NF - ist Teil einer Reihe von Konzepten zur Datenbanknormalisierung, die auch die erste Normalform (1NF) und die zweite Normalform (2NF) umfassen.

Diese Ideen gehen auf den Datenwissenschaftler Edgar Codd und seine Arbeit in den 1970er Jahren zurück. Codd arbeitete für IBM und entwickelte diese Konzepte für die relationale Datenbankarbeit.

Technische.me erklärt die dritte Normalform (3NF)

Diese drei „normalen Formen“ oder Normalisierungen neigen dazu, Leute zu verwirren, die keine professionellen Datenbankadministratoren oder Mathematiker sind.

Hier ist jedoch eine einfache Möglichkeit, über die dritte Normalform sowie die beiden vorangegangenen Normalformen nachzudenken.

Wie Sie sich vorstellen können, ist die erste Normalform ähnlich wie die dimensionale Komplexität im Vergleich zu den darauf folgenden Formen sehr einfach. Das gilt auch für die zweite Normalform.

Hier sind die grundlegenden Definitionen für jedes dieser drei aufeinander folgenden Konzepte.

Erste Normalform (1NF)

Die erste Normalform hat einfach damit zu tun, sicherzustellen, dass jedes Datenfeld einen einzelnen Wert enthält und keinen zusammengesetzten Wert oder mehrere Werte.

Das ist ziemlich einfach zu verstehen, wenn man sich ein Diagramm ansieht, in dem eine Datentabelle beispielsweise die folgenden Kennungen für den Tabelleninhalt enthält: Name, Telefonnummer, Bundesland und Land sowie einen Primärschlüssel, der die Datensatznummer identifiziert.

Um der ersten normalen Form zu entsprechen, gehen Sie die gesamte Tabelle durch und stellen sicher, dass keine dieser Werte mehrere Werte hat.

Zweite Normalform (2NF)

Die Idee für die zweite Normalform ist nicht ganz so einfach oder unkompliziert.

Die zweite Normalform wird von Experten als "Eliminieren sich wiederholender Gruppen" und "Eliminieren partieller Abhängigkeiten zwischen Datenbankbeziehungen" definiert.

Wenn das verwirrend klingt, können Sie sich 2NF auch als einen Versuch vorstellen, „redundante Daten, die im Speicher gespeichert sind, zu reduzieren“.

Wenn eine Tabelle beispielsweise einen Datensatz enthält, der einen bestimmten Status für einen Benutzer in einer Tabelle angibt, und der für 100 verschiedene Benutzer 100-mal angegeben wird, möchten Sie nicht alle diese redundanten Werte separat speichern.

Sie möchten den Status stattdessen einmal referenzieren und diesen 100 Benutzerkonten hinzufügen. Sie möchten das Wort "Administrator" nicht in einer Tabelle mit 100 verschiedenen Einzeladministratoren speichern. Es ist einfach keine gute Datenhygiene.

Wenn Sie also die zweite Normalform einhalten, organisieren Sie die Tabellenbeziehungen neu, um sicherzustellen, dass sie ziemlich unabhängig sind, um dieses Ziel zu erreichen.

Dritte Normalform (3NF)

Hier ist die Definition der dritten Normalform:

"Eine Beziehung liegt in der dritten Normalform vor, wenn keine transitive Abhängigkeit für Nicht-Primat-Attribute besteht (und liegt auch in der zweiten Form vor ...)."

Hier ist der wichtige Teil: Keine transitive Abhängigkeit für Nicht-Primat-Attribute.

Außerdem hat in einer 3NF-kompatiblen Tabelle kein Nicht-Primärschlüsselattribut transitiv abhängige Beziehungen zum Primärschlüssel.

Dies hat wiederum mit den Beziehungen zwischen Elementen in einer Datenbanktabelle zu tun, ist jedoch komplexer. Hier ist eine einfache Möglichkeit, über die dritte Normalform nachzudenken: Sie stellt sicher, dass diese Felder keine Anomalien aufweisen, die auf Änderungen beruhen - administrative Einfügungen, Aktualisierungen und Löschungen.

Man könnte sagen, dass verlustfreie Datenbankübergänge erhalten bleiben und dass funktionale Abhängigkeiten beseitigt werden.

Im Allgemeinen ist es also der Prozess, Ihre Datentabelle richtig zu konstruieren, damit jeder Wert unabhängig ist und Ihre Verfahrensänderungen andere Teile Ihrer Datentabelle bei der Ausführung nicht beschädigen.

Das ist ziemlich einfach zu verstehen, wenn Sie Kandidatenschlüssel und Primärschlüssel verwenden, um Datenbanken auf diese Weise zu erstellen.

Sie können auch die drei kaskadierenden Normalformen in Bezug zueinander verstehen - diese Normalisierung erfolgt gemäß diesen Schritten.

Vielleicht entspricht ein System der ersten Normalform, aber nicht den beiden anderen.

Aufgrund der vorausgesetzten Natur des Sets ist es jedoch nicht nur mit der zweiten oder dritten Normalform kompatibel.

Kurz gesagt: 3NF bedeutet wiederum, dass verschiedene Teile des Datensatzes unabhängig voneinander sind, sodass Änderungen keine unbeabsichtigten Konsequenzen haben.

Und das bedeutet, Daten in relationalen Datenbankdesigns anders zu ordnen.