Unterschied zwischen Normalisierung und Denormalisierung

Normalisierung vs. Denormalisierung

Relationale Datenbanken bestehen aus Beziehungen (verwandten Tabellen). Tabellen bestehen aus Spalten. Wenn die Tabellen groß sind (d. H. Zu viele Spalten in einer Tabelle), können Datenbankanomalien auftreten. Wenn die Tabellen zwei klein sind (d. H. Die Datenbank besteht aus vielen kleineren Tabellen), wäre sie zum Abfragen ineffizient. Normalisierung und Denormalisierung sind zwei Prozesse, mit denen die Leistung der Datenbank optimiert wird. Die Normalisierung minimiert die in Datentabellen vorhandenen Redundanzen. Denormalisierung (Umkehrung der Normalisierung) fügt redundante Daten oder Gruppendaten hinzu.

Was ist Normalisierung??

Normalisierung ist ein Prozess, der ausgeführt wird, um die Redundanzen zu minimieren, die in relationalen Datenbanken vorhanden sind. Dieser Prozess unterteilt hauptsächlich große Tabellen in kleinere Tabellen mit weniger Redundanzen (als "Normalformen" bezeichnet). Diese kleineren Tabellen werden durch genau definierte Beziehungen miteinander verknüpft. In einer gut normalisierten Datenbank müssen für Änderungen oder Datenänderungen 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. Boyce-Codd Normalform (BCNF) wurde 1974 von Codd und Raymond F. Boyce eingeführt. Höhere Normalformen (4NF, 5NF und 6NF) wurden definiert, sie werden jedoch selten verwendet.

Eine Tabelle, die 1NF erfüllt, stellt sicher, dass sie tatsächlich eine Relation darstellt (d. H. Sie enthält keine sich wiederholenden Datensätze) und keine Attribute, die einen relationalen Wert haben (d. H. Alle Attribute sollten atomare Werte aufweisen). Damit eine Tabelle 2NF erfüllt, sollte 1NF eingehalten werden, und jedes Attribut, das nicht Teil eines Kandidatenschlüssels ist (d. H. Nicht-Primattribute), sollte vollständig von den Kandidatenschlüsseln in der Tabelle abhängen. Gemäß der Definition von Codd heißt es, dass sich eine Tabelle in 3NF befindet, und zwar nur dann, wenn diese Tabelle in der zweiten Normalform (2NF) vorliegt und jedes Attribut in der Tabelle, das nicht zu einem Kandidatenschlüssel gehört, direkt von jedem abhängig sein sollte Kandidatenschlüssel dieser Tabelle. BCNF (auch bekannt als 3.5NF) erfasst einige Anomalien, die von der 3NF nicht angesprochen werden.

Was ist Denormalisierung??

Denormalisierung ist der umgekehrte Prozess des Normalisierungsprozesses. Die Denormalisierung funktioniert durch Hinzufügen redundanter Daten oder Gruppieren von Daten, um die Leistung zu optimieren. Das Hinzufügen redundanter Daten klingt zwar kontraproduktiv, aber manchmal ist die Denormalisierung ein sehr wichtiger Prozess, um einige der Nachteile der relationalen Datenbanksoftware zu überwinden, die mit normalisierten Datenbanken (sogar auf eine höhere Leistung abgestimmt) zu hohen Performance-Strafen führen können. Dies liegt daran, dass das Verknüpfen mehrerer Beziehungen (die Ergebnisse der Normalisierung sind), um ein Ergebnis zu einer Abfrage zu erzeugen, je nach der tatsächlichen physischen Implementierung der Datenbanksysteme manchmal langsam sein kann.

Was ist der Unterschied zwischen Normalisierung und Denormalisierung??

- Normalisierung und Denormalisierung sind zwei völlig gegensätzliche Prozesse.

- Normalisierung ist der Prozess, bei dem größere Tabellen in kleinere Tabellen unterteilt werden, wodurch redundante Daten reduziert werden, während bei der Denormalisierung redundante Daten zur Optimierung der Leistung hinzugefügt werden.

- Die Normalisierung wird ausgeführt, um Anomalien der Datenbanken zu vermeiden.

- Die Denormalisierung wird normalerweise ausgeführt, um die Leseleistung der Datenbank zu verbessern. Aufgrund der zusätzlichen Einschränkungen für die Denormalisierung können Schreibvorgänge (d. H. Einfügungs-, Aktualisierungs- und Löschoperationen) langsamer werden. Daher kann eine denormalisierte Datenbank eine schlechtere Schreibleistung bieten als eine normalisierte Datenbank.

- Es wird häufig empfohlen, dass Sie "normalisieren, bis es weh tut, denormalisieren, bis es funktioniert.".