Normalisierung
Redundanz: Das Vorkommen von doppelten oder überflüssigen Informationen
0. Normalform
Alle Daten liegen unsortiert in einer Tabelle vor und sind teilweise doppelt. Die Ausgangslage.
Bsp.: - auftrags_id - Vor-/Nachname - Adresse Ort Stadt - alle eingekauften Artikel und deren Preis -
1. Normalform
Die Daten mit unterschiedlichen Datentypen (String, Char, Iniger...) sind in separaten Spalten (atomar).
Bsp.: - auftrags_id - Vorname - Nachname - HausNr. - Straße - PLZ - Ort - 1 Artikel - Anzahl - Preis - Währung -
2. Normalform
vollständige funktionale Abhängigkeit: die Nicht-Schlüsselattribute sind von allen Teilen eines Relationstyp abhängig. In unserem Beispiel werden für den Kunden und für die Artikel neue Tabellen angelegt, weil der Artikel und Kunde nicht direkt vom Auftrag abhängig sind. So entstehen:
#Auftrag# - id - kunden.id
#Bestell# - auftrag.id - artikel.id - Anzahl -
#Kunden# - id - Vorname - Nachname - HausNr. - Straße - PLZ - Ort -
#Artikel# - id - Bezeichnung - Preis - Währung -
Um die Beziehung nicht zu verlieren wurden Primär- und Fremdschlüssel eingeführt. Der Primärschlüssel ist einzigartig und auf ihn verweisen die Fremdschlüssel in der Tabelle Bestell(ungen). Dabei bilden auftrag.id und artikel.id einen zusammengesetzten Primärschlüssel, da im gleichen Auftrag ein Kunde einen Artikel nicht zweimal mit unterschiedlichen Mengen bestellen kann.
3. Normalform
Der Vorname, Nachname, HausNr., Straße und PLZ sind von der Person / dem Kunden abhängig dem eine KundenId zugeordnet wurde. Der Ort ist von der Postleitzahl abhängig und dadurch auch indirekt von der Person. Steckt man den Ort in in eine neue Tabelle (PLZ - Ort) ist eine transitive Abhängigkeit gegeben.
Quelle: 08.09.18; URL: http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/