Differenz zwischen 1NF und 2NF und 3NF

Anonim

1NF vs 2NF vs 3NF

Normalisierung ist ein Prozess, der ausgeführt wird, um die Redundanzen zu minimieren, die in Daten in relationalen Datenbanken vorhanden sind. Dieser Prozess unterteilt hauptsächlich große Tabellen in kleinere Tabellen mit weniger Redundanzen. Diese kleineren Tabellen werden durch gut definierte Beziehungen miteinander verknüpft. In einer gut normalisierten Datenbank muss jede Änderung oder Änderung von Daten nur eine einzige Tabelle ändern. Die erste Normalform (1NF), die zweite Normalform (2NF) und die dritte Normalform (3NF) wurde von Edgar F. Codd vorgestellt, der auch der Erfinder des relationalen Modells und des Konzepts der Normalisierung ist.

Was ist 1NF?

1NF ist das erste Normalformular, das die Mindestanforderungen für die Normalisierung einer relationalen Datenbank enthält. Eine Tabelle, die 1NF entspricht, stellt sicher, dass es tatsächlich eine Relation darstellt (dh es enthält keine Datensätze, die sich wiederholen), aber es gibt keine allgemein akzeptierte Definition für 1NF. Eine wichtige Eigenschaft ist, dass eine Tabelle, die 1NF entspricht, keine Attribute enthalten kann, die relational bewertet sind (dh alle Attribute sollten atomare Werte haben).

Was ist 2NF?

2NF ist die zweite normale Form, die in relationalen Datenbanken verwendet wird. Damit eine Tabelle mit 2NF übereinstimmt, sollte 1NF erfüllt sein und jedes Attribut, das kein Teil eines Kandidaten-Schlüssels ist (dh nicht primäre Attribute), sollte in vollem Umfang von den Kandidaten-Schlüsseln in der Tabelle abhängen.

Was ist 3NF?

3NF ist die dritte Normalform, die bei der relationalen Datenbanknormalisierung verwendet wird. Gemäß der Codd-Definition soll eine Tabelle genau dann in 3NF sein, wenn diese Tabelle in der zweiten Normalform (2NF) ist und jedes Attribut in der Tabelle, das nicht zu einem Kandidatenschlüssel gehört, direkt abhängen sollte für jeden Kandidatenschlüssel dieser Tabelle. 1982 brachte Carlo Zaniolo eine anders ausgedrückte Definition für 3NF hervor. Tabellen, die dem 3NF entsprechen, enthalten im Allgemeinen keine Anomalien, die beim Einfügen, Löschen oder Aktualisieren von Datensätzen in der Tabelle auftreten.

Was ist der Unterschied zwischen 1NF und 2NF und 3NF?

1NF, 2NF und 3NF sind normale Formulare, die in relationalen Datenbanken verwendet werden, um Redundanzen in Tabellen zu minimieren. 3NF gilt als eine stärkere Normalform als die 2NF und wird als eine stärkere Normalform als 1NF angesehen. Daher muss im Allgemeinen eine Tabelle, die dem 3NF-Formular entspricht, eine Tabelle zerlegen, die sich in der 2NF befindet. In ähnlicher Weise erfordert das Erhalten einer Tabelle, die mit der 2NF übereinstimmt, die Zerlegung einer Tabelle, die sich in der 1NF befindet. Wenn jedoch eine Tabelle, die 1NF entspricht, Kandidatenschlüssel enthält, die nur aus einem einzigen Attribut bestehen (dh nicht zusammengesetzte Kandidatenschlüssel), würde eine solche Tabelle automatisch 2NF erfüllen.Die Zerlegung von Tabellen führt bei der Ausführung von Abfragen zu zusätzlichen Join-Operationen (oder kartesischen Produkten). Dies erhöht die Rechenzeit. Auf der anderen Seite würden die Tabellen, die stärkeren Normalformen entsprechen, weniger Redundanzen haben als Tabellen, die nur schwächeren Normalformen entsprechen.