DB-EnginesInfluxDB download bannerEnglish
Deutsch
Informationen zu relationalen und NoSQL DatenbankmanagementsystemenEin Service von solid IT

Enzyklopädie > Artikel

Normalisierung

Normalisierung ist ein wichtiger Begriff bei der relationalen Datenmodellierung. Das Ziel dabei ist die einzelnen Tabellen so zu modellieren, dass insgesamt möglichst wenig redundante Daten gespeichert werden und damit auch semantische Probleme (sogenannte Anomalien) vermieden werden.

Vorteile der Normalisierung:

Beispielsweise könnte eine Unternehmensorganisation durch folgende einfache Tabelle abgebildet sein:

 

Diese einfache Modellierung bringt (wenn man sich vorstellt, dass in dieser Tabelle sehr viele Mitarbeiter gespeichert sind) folgende Probleme mit sich:

  • Es ist mühsam, alle Personen mit dem Vornamen 'Werner' zu finden, da das Attribut Name nicht atomar ist.
  • Der Abteilungsname 'Einkauf' und die Abteilungsbezeichnung sind doppelt gespeichert. Änderungen daran müssen in beiden Sätzen durchgeführt werden. Wird dies übersehen, ist die Integrität der Datenbank verletzt. (Update Anomalie).
  • Verlässt 'Faimann Angela' das Unternehmen, wird der entsprechende Satz gelöscht. Dadurch geht aber auch die Information, dass die Abteilung 'Public Relations' die Nummer 16 hat sowie die Beschreibung dieser Abteilung verloren (Delete-Anomalie).

Es gibt mehrere Stufen der Normalisierung (Normalformen), die in den höheren Stufen aber eher nur mehr akademische Bedeutung haben. Üblicherweise genügt die Normalisierung bis zur Dritten Normalform.

Durch Normalisierung erhält man im Beispiel zwei einzelne Tabellen und hat obige Probleme gelöst.

 

Nachteile der Normalisierung

Logisch zusammengehörige Daten sind nicht mehr zusammen gespeichert. Möchte man im normalisierten Datenmodell beispielsweise die Namen aller Mitarbeiter mit dem Namen ihrer Abteilung auflisten, muss ein Join über beide Tabellen durchgeführt werden. Dies kann bei großen Datenmengen sehr aufwändig werden, insbesondere auch wenn die Tabellen verteilt sind.

In so einem Fall nimmt man gezielt Normalisierungsschritte zurück (Denormalisierung), beispielsweise könnte man den Abteilungsnamen redundant in die Personentabelle aufnehmen.

NoSQL Systeme

Ein Kennzeichen von NoSQL Systemen ist, dass die Daten typischerweise nicht normalisiert gespeichert sind. In Key-Value Stores werden durch den Zugriff über einen Schlüssel alle dazugehörenden Daten gefunden. In Document Stores sind die einzelnen Attribute häufig nicht atomar, sondern können selbst eine Substruktur (beispielsweise eigene Objekte oder Arrays) enthalten.

Dies kommt daher, da NoSQL Systeme für den Umgang mit großen, häufig verteilten Datenmengen konzipiert sind, in dem für das Lesen eines logischen Datensatzes das vorherige Selektieren und Zusammenführen von 'normalisierten Teilen' zu aufwändig und langsam wäre.

Immer jedoch gilt es redundante Speicherung gegen Performance abzuwägen.



Featured Products

Couchbase logo

SQL + JSON + NoSQL.
Power, flexibility & scale.
All open source.
Get started now.

Neo4j logo

Get your free copy of the new O'Reilly book Graph Algorithms with 20+ examples for
machine learning, graph analytics and more.

Redis logo

Start now with Redis Cloud
Secure, highly available Redis as a serverless, hosted, fully managed cloud service.
Sign up here.

RavenDB logo

Runs on Windows, Linux, Raspberry Pi. Easy to Operate, Fast Performance.
APIs for JS, .NET, Python.
Take a Free Download

Präsentieren Sie hier Ihr Produkt