Inhaltsverzeichnis:
Definition - Was bedeutet Dritte Normalform (3NF)?
Die dritte Normalform (3NF) ist der dritte Schritt bei der Normalisierung einer Datenbank und baut auf der ersten und zweiten Normalform (1NF und 2NF) auf.
3NF gibt an, dass alle Spaltenverweise in referenzierten Daten, die nicht vom Primärschlüssel abhängig sind, entfernt werden sollten. Eine andere Möglichkeit, dies zu formulieren, besteht darin, dass nur Fremdschlüsselspalten verwendet werden sollten, um auf eine andere Tabelle zu verweisen, und dass keine anderen Spalten aus der übergeordneten Tabelle in der referenzierten Tabelle vorhanden sein sollten.
Techopedia erklärt die dritte Normalform (3NF)
Stellen Sie sich die Datenbank einer Bank vor, die zwei Tabellen enthält: CUSTOMER_MASTER zum Speichern von Kundendetails und ACCOUNT_MASTER zum Speichern von Details zu Bankkonten, einschließlich dessen, welcher Kunde über welches Konto verfügt. In diesem Fall muss es eine Möglichkeit geben, die beiden Tabellen zu verknüpfen, um ein Konto an den Kunden zu binden, dem es gehört. Dies geschieht über einen Fremdschlüssel. Dies ist eine Spalte in der Tabelle ACCOUNT_MASTER, die auf eine entsprechende Spalte (Primärschlüssel) in der übergeordneten Tabelle CUSTOMER_MASTER verweist oder auf diese verweist. Nennen wir diese Spalte CustID.
Angenommen, der Kunde Andrew Smith erstellt ein Konto in der Tabelle CUSTOMER_MASTER mit der Kundennummer 20454. Herr Smith führt ein Sparkonto mit der Nummer S-200802-005, dessen Details in der Tabelle ACCOUNT_MASTER gespeichert sind. Dies bedeutet, dass die Tabelle ACCOUNT_MASTER eine Spalte mit dem Namen CustID enthält, bei der es sich nicht um ein Originaldatum handelt. Stattdessen hat es auch den Wert 20454, der einfach auf dieselbe CustID in der Tabelle CUSTOMER_MASTER verweist.
3NF schreibt nun vor, dass in unserer Tabelle ACCOUNT_MASTER die einzige Information, die wir über den Kunden haben, die CustID (20454) als Fremdschlüssel sein soll. Sie verweist auf den Kunden und identifiziert ihn, der dieselbe CustID in der Tabelle CUSTOMER_MASTER besitzt (Andrew Smith) ). In der Tabelle ACCOUNT_MASTER oder in einer anderen Tabelle sollten keine weiteren Daten zu unserem Kunden (wie Name, Geburtsdatum, Geschlecht usw.) gespeichert werden, da alle diese Daten bereits in CUSTOMER_MASTER gespeichert sind. Auf diese Weise sind die einzigen Kundendaten, die außerhalb der Tabelle CUSTOMER_MASTER gespeichert sind, die CustID. Dies zahlt sich aus, indem sichergestellt wird, dass keine Daten dupliziert werden, wodurch Abfragen wesentlich effizienter ausgeführt werden und weniger Speicherplatz benötigt wird.
