DB-EnginesExtremeDB for everyone with an RTOSEnglish
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

Milvus logo

Vector database designed for GenAI, fully equipped for enterprise implementation.
Try Managed Milvus for Free

SingleStore logo

Database for your real-time AI and Analytics Apps.
Try it today.

RaimaDB logo

RaimaDB, embedded database for mission-critical applications. When performance, footprint and reliability matters.
Try RaimaDB for free.

Neo4j logo

See for yourself how a graph database can make your life easier.
Use Neo4j online for free.

Datastax Astra logo

Bring all your data to Generative AI applications with vector search enabled by the most scalable
vector database available.
Try for Free

Präsentieren Sie hier Ihr Produkt