Unternehmen sammeln und speichern große Datenmengen, die Informationen über das Geschäftsprofil enthalten, z. B. Verkäufe, Zusammenarbeit mit Auftragnehmern, Ressourcen in Lagern, Liefer- und Produktpreise. Die offensichtliche Tatsache ist, dass Daten in Datenbanksystemen nicht beliebig lokalisiert werden können. In dieser Situation ist es notwendig, die relationale Datenbank richtig zu entwerfen. Eine gut gestaltete relationale Datenbank zeichnet sich dadurch aus, dass alle notwendigen Informationen in den Geschäftsbereichen des Unternehmens klar und lesbar dokumentiert sind und regelmäßig einfach zu verwenden sind.
Eine Möglichkeit, eine relationale Datenbank intuitiv zu erstellen, ist die Normalisierung. Dabei handelt es sich um einen Prozess der Organisation von Daten in einer Datenbank, bei dem Tabellen erstellt werden, die ein bestimmtes Segment der Geschäftstätigkeit des Unternehmens repräsentieren (z. B. Lieferanten oder Kunden), und das Herstellen einer Beziehung zwischen diesen Tabellen, indem Redundanzen und inkonsistente Abhängigkeiten beseitigt werden. Gleichzeitig kann die Normalisierung als Ziel in der Entwurfsphase einer relationalen Datenbank betrachtet werden.
Manchmal gibt es jedoch Situationen, in denen von dieser Regel abgewichen werden muss und möglicherweise die sogenannte Datenbank-Denormalisierung durchgeführt werden muss.
Was ist Datenbankdenormalisierung?
Kurz gesagt, die Denormalisierung einer Datenbank ist die Kombination von normalisierten Tabellen zu einer. Dabei handelt es sich um die Implementierung einer kontrollierten Redundanz in der Datenbank, um den Betrieb der Datenbank zu beschleunigen. Aufgrund der großen Datenmenge in relationalen Tabellen kann es zu teuer werden, diese Tabellen zu verknüpfen, um die Informationen zu erhalten, die Sie für Ihr Unternehmen benötigen. Daher besteht eine Lösung darin, Schlüssel oder Spalten zwischen Tabellen, die häufig verknüpft werden, abzugleichen.
Folglich enthält die Zieltabelle nicht nur die für sie relevanten Daten, sondern auch Informationen aus anderen Tabellen. Natürlich beinhaltet diese Lösung die Möglichkeit der Datenredundanz innerhalb der Tabellen, was wiederum zu einer schnellen Zunahme ihrer Größe führt. Ein häufiges Symptom ist die Möglichkeit von Datenduplikationen.
Unter diesem Gesichtspunkt scheint die Denormalisierung der Datenbank eine Art Kompromiss zu sein. Während bei der Datenbanknormalisierung das Ziel darin besteht, sie auf die maximale Form von Tabellen zu vereinfachen, die unabhängig für jeden betroffenen Bereich verantwortlich sind, wird die Denormalisierung der Spezifität des Browsens in diesen Daten zugeordnet, und dies kann nicht für jeden Fall allgemein definiert werden. Ihre effiziente Funktionsweise muss auf der Grundlage der Geschäftsanforderungen definiert werden. Wenn Sie wissen möchten, wie Sie es richtig umsetzen können, besuchen Sie unsere Beratung im Bereich Datentechnik Seite
Denormalisierung von Datenbanken — Vor- und Nachteile.
Bei einem schnellen Anstieg der Datenmenge in einer Datenbank bringt die Denormalisierung spürbare Vorteile, hat jedoch mehrere Nachteile. Lassen Sie uns einige davon vorstellen:
Vorteile der Datenbankdenormalisierung:
- Die Geschwindigkeit der Abfrageausführung wurde erhöht.
Da keine Verknüpfungen zwischen Tabellen erforderlich sind, ist es möglich, die erforderlichen Informationen aus einer Tabelle zu extrahieren, wodurch die Geschwindigkeit der Abfrageausführung automatisch erhöht wird. Darüber hinaus spart diese Lösung Speicherplatz.
- Das Schreiben von Abfragen ist viel einfacher.
Wenn die Tabelle für die häufigsten Anforderungen ordnungsgemäß neu organisiert ist, können Sie Daten aus nur einer Tabelle extrahieren und keine Zeit mit der Suche nach Join-Schlüsseln verschwenden. Man sollte jedoch an die Datenredundanz denken und die Abfrage entsprechend aktualisieren.
- Es ist nicht erforderlich, Daten aus Wörterbuchtabellen abzurufen, in denen die Werte im Laufe der Zeit konstant sind.
Tabellen mit Länderwörterbüchern sind gute Beispiele. Wenn ein Unternehmen auf einer festen Anzahl von Weltmärkten tätig ist, scheint es unnötig, fortlaufende Verknüpfungen mit der Wörterbuchtabelle mit Ländern vorzunehmen. In diesem Fall lohnt es sich, beispielsweise einer Verkaufstabelle eine Spalte mit dem Namen des Landes hinzuzufügen.
- Möglichkeit, aggregierte Daten hinzuzufügen, die für eine effizientere Berichterstattung verwendet werden können.
Bestimmte Statistiken, wie die Anzahl der Verkaufsaktionen, der durchschnittliche Umsatz usw., sind sehr wichtig, um verschiedene Bereiche der Geschäftstätigkeit des Unternehmens zu analysieren. Daher ist es möglicherweise einfacher, wichtige Statistiken zu definieren und in eine Tabelle aufzunehmen, als sie durch Zusammenfügen mehrerer Tabellen abzurufen.
- Reduzierung der Anzahl der Tabellen in einer relationalen Datenbank.
Bei einer komplexen relationalen Datenbankarchitektur kann es schwierig sein, Daten aus den mehreren Tabellen abzurufen. Wenn die Datenbank ordnungsgemäß denormalisiert ist, kann die Anzahl dieser Tabellen effektiv reduziert und folglich die Datenbankarchitektur vereinfacht werden.
Nachteile der Datenbankdenormalisierung:
- Höhere Verarbeitungsgröße.
Aufgrund von Datenredundanz und möglicher Datenduplizierung nimmt der Umfang der Abfrageverarbeitung zu.
- Größere Tabellengrößen.
Infolge der Denormalisierung der Datenbank kann die Tabelle ihre Größe erheblich erhöhen, was mit der Belastung des Speicherplatzes zusammenhängen kann.
- Höhere Kosten für die Aktualisierung von Tabellen und Beilagen.
In einer Tabelle, in der Daten aufgrund der Denormalisierung der Datenbank einer Redundanz unterzogen wurden, kann die Datenaktualisierung ein Problem sein. Nehmen wir beispielsweise an, dass eine zusätzliche Spalte hinzugefügt wurde, die Daten zur Kundenadresse enthält. Das Aktualisieren dieser Daten kann mühsam und kostspielig sein, wenn der Kunde die Adresse ändert. Wenn die Datenbank normalisiert ist, kann die Aktualisierung nur in der Wörterbuchtabelle zu wesentlich geringeren Kosten durchgeführt werden. Ähnlich verhält es sich mit Einfügungen. Aufgrund der Redundanz von Daten, die sich aus der Verknüpfung mehrerer Tabellen ergeben, kann das Abrufen vieler Daten für eine Tabelle aufwändig sein.
- Die Daten sind möglicherweise inkonsistent.
Vor der Ausführung der Abfrage ist es notwendig, die Tabelle gründlich kennenzulernen und Datenduplikationen zu berücksichtigen. Die Abfrage, mit der die erforderlichen Daten extrahiert werden, ohne dass das Risiko einer Dateninkonsistenz besteht, sollte umfassend vorbereitet werden.
Denormalisierung von Datenbanken — Beispiele.
- Spalten mit aggregierten Daten.
Nehmen wir an, die Datenbank enthält Tabellen für Werbetreibende, Verkäufe und Kampagnen. Für die Berichterstattung über die Ergebnisse der Werbetreibenden müssen die Kampagnen und die Verkaufsspalte für jeden Werbetreibenden gezählt werden. Es ist möglich, zusätzliche Spalten in der Tabelle der Werbetreibenden hinzuzufügen, in denen die Anzahl der Kampagnen und das Verkaufsvolumen gezählt werden. Aufgrund dieser Transformation müssen diese Daten nicht jedes Mal mithilfe von Zählfunktionen aus den Verkaufs- und Kampagnentabellen abgerufen werden.

- Wörterbuchtabellen.
In diesem Beispiel gibt es zwei Tabellen in der Datenbank: Länder und Kunden. Eine der Anforderungen des Unternehmens besteht darin, Kunden und Länder unter dem Gesichtspunkt der Vertriebseffektivität zu untersuchen. Daher werden Verknüpfungen regelmäßig zwischen den Tabellen „Kunden“ und „Länder“ vorgenommen. Um das häufige Zusammenfügen dieser beiden Tabellen zu begrenzen, könnte der Kundentabelle eine zusätzliche Spalte hinzugefügt werden — der Ländername.

- Erstellen Sie eine neue Tabelle, die den Geschäftsanforderungen entspricht.
Nehmen wir an, dass häufig Daten aus mehreren Tabellen extrahiert werden müssen. Wenn die Geschäftsanforderungen richtig definiert sind, ist es möglich, eine Tabelle zu erstellen, die die Verarbeitungsgröße und den Zeitaufwand für regelmäßige Verknüpfungen reduziert. Kehren wir zum ersten Beispiel zurück. Angenommen, ein Unternehmen möchte regelmäßig Verkaufsdaten wie Kampagnen oder Werbetreibende mit vollständigen Namen extrahieren. Zu diesem Zweck ist es möglich, eine Tabelle zu erstellen, die alle erforderlichen Daten in der Verkaufstabelle enthält. In einer solchen Tabelle kann das Unternehmen die erforderlichen Daten abrufen, ohne regelmäßig mehrere Tabellen zusammenfügen zu müssen.

Wenn Sie wissen möchten, wie diese Lösungen Ihrem Unternehmen helfen können, kontaktiere uns.Weitere Informationen zu Data Engineering finden Sie in unserem Blog: