- August 28, 2023
- 10 views
Die Zweite Normalform (2NF) ist ein Konzept in der Datenbanktheorie, das bei der Gestaltung von Datenbanktabellen verwendet wird, um Redundanz und Anomalien in den Daten zu vermeiden. Die 2NF baut auf der ersten Normalform (1NF) auf und stellt sicher, dass Daten in einer Tabelle zusätzlich zu den Anforderungen der 1NF bestimmte weitere Bedingungen erfüllen.
Um die 2NF zu erfüllen, muss eine Tabelle zwei Kriterien erfüllen:
Alle Nichtschlüsselattribute in der Tabelle müssen funktional von einem ganzen Schlüssel (Primärschlüssel) abhängen, nicht nur von einem Teil des Schlüssels. Mit anderen Worten, alle Nichtschlüsselattribute sollten voll funktional von der Gesamtheit des Primärschlüssels abhängen, um Redundanzen und inkonsistente Daten zu vermeiden.
So kann z.B. eine Kontaktdatenbank aus 2 Tabellen bestehen. Daten wie Name, Vorname, Straße, Land usw. Die Telefonnummer steht aber in einer anderen Tabelle. Nun wird der eine oder andere sich fragen, Warum? Ganz einfach. So ist es ja möglich das der Kontakt nicht nur eine Mobil-Nummer und eine Festnetz-Nummer hat, sondern diverse für sein Business zugeschnittenen Telefon-Nummern. Nun will ich doch aber nicht unter meiner Kontakt-Tabelle 20 oder 30 Felder für diverse Telefon-Nummern führen. Also gehen die Telefon-Nummern in eine andere Tabelle. Verbunden werden die Datensätze mit dem Primärschlüssel. In der Praxis wäre dies wahrscheinlich die Kontakt_ID. Jeder Kontakt hat seine eindeutige Kontakt_ID. Jede zum Kontakt gehörende Telefon-Nummer bekommt diese Kontakt_ID zugeordnet. Nun kann ich entweder über einen SQL-Befehl oder in FileMaker über eine Referenz ganz einfach die zum Kontakt gehörenden Nummern anzeigen lassen.
Es dürfen keine teilweisen Abhängigkeiten vorhanden sein, das heißt, Attribute sollten nicht von einem Teil des Schlüssels abhängen, sondern immer vom gesamten Schlüssel.
Wenn eine Tabelle die 2NF nicht erfüllt, kann dies zu Anomalien wie Update-Anomalien (Änderungen führen zu inkonsistenten Daten), Einfüge-Anomalien (Einfügen neuer Daten ist schwierig) und Lösch-Anomalien (Löschen von Daten führt zu unerwartetem Verlust von Informationen) führen.
Um eine Tabelle in die 2NF zu überführen, müssen teilweise abhängige Attribute in separate Tabellen ausgelagert werden, wobei Beziehungen zwischen den Tabellen durch Fremdschlüssel hergestellt werden. Dies verbessert die Datenintegrität und erleichtert das Datenmanagement.
Es ist wichtig zu beachten, dass die Normalisierung von Datenbanken ein komplexer Prozess ist, der sorgfältige Planung und Analyse erfordert, um die optimale Struktur für die Daten zu gewährleisten. Häufig ist der Planungsprozess natürlich bedingt durch Altlasten oder Fehlerhaft aufgebaute Datenbanken Hinfällig. Dann beginnt die Kernkompetenz des Datenbankentwicklers. Daten werden neu strukturiert, aufgeteilt oder aber auch gelöscht.
Ein hervorragendes Instrument dafür ist FileMaker. Über sein mächtiges Import und Export-Tool, seine einzigartige Art über Relationen Daten zu managen, können auch völlig aus der Struktur geratene Datenbanksysteme neu strukturiert, aufgebaut oder aber die Daten neu Organisiert werden.