Unterschied zwischen Normalisierung und Denormalisierung

Normalisierung gegen Denormalisierung

Relationale Datenbanken bestehen aus Relationen (bezogene Tabellen). Wenn die Tabellen zwei groß sind (dh zu viele Spalten in einer Tabelle), können Datenbankanomalien auftreten, wenn die Tabellen zwei klein sind (dh die Datenbank besteht aus vielen kleineren Tabellen), wäre sie für die Abfrage ineffizient. sind zwei Prozesse, die verwendet werden, um die Leistung der Datenbank zu optimieren: Normalisierung minimiert die Redundanzen, die in Datentabellen vorhanden sind Die 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 wird hauptsächlich große Tabellen in kleinere Tabellen mit weniger Redundanzen aufteilen ("normale Formulare" ) Diese kleineren Tabellen werden sich beziehen d miteinander durch gut definierte Beziehungen. 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) wurden von Edgar F. Codd eingeführt. Die Boyce-Codd-Normalform (BCNF) wurde 1974 von Codd und Raymond F. Boyce eingeführt. Höhere Normalformen (4NF, 5NF und 6NF) wurden definiert, werden aber selten verwendet.

Was ist Denormalisierung?

Denormalisierung ist der umgekehrte Prozess des Normalisierungsprozesses. Die Denormalisierung funktioniert, indem redundante Daten oder Gruppierungsdaten hinzugefügt werden, um die Leistung zu optimieren. Obwohl das Hinzufügen redundanter Daten kontraproduktiv klingt, ist manchmal die Denormalisierung ein sehr wichtiger Prozess, um einige der Mängel in der relationalen Datenbanksoftware zu überwinden, die mit normalisierten Datenbanken (sogar auf höhere Leistung) zu Leistungseinbußen führen können.Dies ist darauf zurückzuführen, dass das Verbinden mehrerer Beziehungen (die Ergebnisse der Normalisierung sind), um ein Ergebnis zu einer Abfrage zu erzeugen, manchmal langsam ist, abhängig von der tatsächlichen physischen Implementierung der Datenbanksysteme.

Was ist der Unterschied zwischen Normalisierung und Denormalisierung?

- Normalisierung und Denormalisierung sind zwei völlig entgegengesetzte Prozesse.

- Normalisierung ist der Prozess der Aufteilung größerer Tabellen in kleinere, wodurch die redundanten Daten reduziert werden, während die Denormalisierung der Prozess ist, redundante Daten hinzuzufügen, um die Leistung zu optimieren.

- Die Normalisierung wird durchgeführt, um Datenbankanomalien zu vermeiden.

- Normalerweise wird die Denormalisierung durchgeführt, um die Leseleistung der Datenbank zu verbessern, aber aufgrund der zusätzlichen Einschränkungen, die für die Denormalisierung verwendet werden, können Schreibvorgänge (dh Operationen zum Einfügen, Aktualisieren und Löschen) langsamer werden. Daher kann eine denormalisierte Datenbank eine schlechtere Schreibleistung bieten als eine normalisierte Datenbank.

- Es wird oft empfohlen, dass Sie "normalisieren, bis es schmerzt, denormalisiert, bis es funktioniert".