1NF gegen 2NF gegen 3NF

Die 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 genau definierte Beziehungen miteinander verknüpft. In einer gut normalisierten Datenbank muss für jede Änderung oder Modifikation der Daten nur eine einzige Tabelle geändert werden. Die erste Normalform (1NF), die zweite Normalform (2NF) und die dritte Normalform (3NF) wurden von Edgar F. Codd eingeführt, der auch der Erfinder des relationalen Modells und des Konzepts der Normalisierung ist.

Was ist 1NF?

1NF ist die erste Normalform, die die Mindestanforderungen für die Normalisierung einer relationalen Datenbank enthält. Eine Tabelle, die 1NF entspricht, stellt sicher, dass sie tatsächlich eine Beziehung darstellt (dh sie enthält keine sich wiederholenden Datensätze), es gibt jedoch keine allgemein akzeptierte Definition für 1NF. Eine wichtige Eigenschaft ist, dass eine Tabelle, die 1NF entspricht, keine Attribute enthalten kann, die einen relationalen Wert haben (dh alle Attribute sollten atomare Werte haben).

Was ist 2NF?

2NF ist die zweite Normalform, die in relationalen Datenbanken verwendet wird. Damit eine Tabelle 2NF entspricht, sollte sie 1NF entsprechen, und jedes Attribut, das nicht Teil eines Kandidatenschlüssels ist (dh Nicht-Primat-Attribute), sollte vollständig von einem der Kandidatenschlüssel in der Tabelle abhängen.

Was ist 3NF?

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

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

1NF, 2NF und 3NF sind normale Formen, die in relationalen Datenbanken verwendet werden, um Redundanzen in Tabellen zu minimieren. 3NF wird als stärkere Normalform als 2NF und als stärkere Normalform als 1NF angesehen. Um eine Tabelle zu erhalten, die dem 3NF-Formular entspricht, muss daher im Allgemeinen eine Tabelle im 2NF zerlegt werden. In ähnlicher Weise erfordert das Erhalten einer Tabelle, die dem 2NF entspricht, das Zerlegen einer Tabelle, die sich im 1NF befindet. Wenn jedoch eine Tabelle, die 1NF entspricht, Kandidatenschlüssel enthält, die nur aus einem einzelnen Attribut bestehen (dh nicht zusammengesetzte Kandidatenschlüssel), entspricht eine solche Tabelle automatisch 2NF. Die Zerlegung von Tabellen führt bei der Ausführung von Abfragen zu zusätzlichen Verknüpfungsoperationen (oder kartesischen Produkten). Dies erhöht die Rechenzeit. Andererseits würden die Tabellen, die stärkeren Normalformen entsprechen, weniger Redundanzen aufweisen als Tabellen, die nur schwächeren Normalformen entsprechen.