Normalisierung im Kontext von RAG-Datenbanken (Relationale Datenbanken) bezieht sich auf den Prozess, eine Datenbankstruktur zu entwerfen, bei der Redundanz minimiert wird und die Daten so organisiert werden, dass Anomalien bei der Datenverarbeitung vermieden werden können. Das Ziel der Normalisierung ist es, die Integrität und Effizienz der Datenbank zu erhöhen. Dieser Prozess ist in mehrere Normalformen unterteilt, welche systematisch angewendet werden, um ein optimales Datenmodell zu erreichen.
Die erste Normalform fordert, dass jede Tabelle der Datenbank nur atomare (nicht weiter teilbare) Werte in den Zellen hat, und jede Zeile einzigartig ist. Es dürfen keine wiederholten Gruppen von Daten vorhanden sein. Zum Beispiel soll eine Tabelle mit Kundendaten wie folgt normalisiert werden:
Kunde_ID | Name | Telefonnummern |
————— | ———— | ————————————— |
1 | Bob | 123456, 7891011 |
2 | Alice | 234567, 89101112 |
Kunde_ID | Name | Telefonnummer |
————— | ———— | ———————- |
1 | Bob | 123456 |
1 | Bob | 7891011 |
2 | Alice | 234567 |
2 | Alice | 89101112 |
Die zweite Normalform erfordert, dass eine Tabelle in der ersten Normalform ist und dass jedes Nichtschlüsselattribut vollständig funktional abhängig vom Primärschlüssel ist. Dies bedeutet, dass jede Spalte, die nicht Teil eines Schlüssels ist, vollständig von diesem Schlüssel abhängt.
Bestellung_ID | Kunde_ID | Kunde_Name | Produkt_ID | Produkt_Beschreibung |
———————- | ————— | —————— | —————— | ——————————— |
1 | 100 | Bob | A1 | Laptop |
2 | 100 | Bob | B1 | Maus |
Nach der Normalisierung (2NF):
Kunde_ID | Kunde_Name |
————— | —————— |
100 | Bob |
Bestellung_ID | Kunde_ID | Produkt_ID |
———————- | ————— | —————— |
1 | 100 | A1 |
2 | 100 | B1 |
Produkt_ID | Produkt_Beschreibung |
—————— | ——————————— |
A1 | Laptop |
B1 | Maus |
Eine Tabelle befindet sich in der dritten Normalform, wenn sie in der zweiten Normalform ist und alle Nichtschlüsselattribute voneinander unabhängig sind. Das bedeutet, dass keine Nichtschlüsselattribute transitiv von einem Schlüssel abhängen sollen.
Produkt_ID | Produkt_Name | Lieferant_Name | Lieferant_Ort |
—————— | ——————— | ———————— | ———————- |
A1 | Laptop | Lieferant A | Ort A |
B1 | Maus | Lieferant B | Ort B |
Nach der Normalisierung (3NF):
Produkt_ID | Produkt_Name | Lieferant_ID |
—————— | ——————— | ——————— |
A1 | Laptop | L1 |
B1 | Maus | L2 |
Lieferant_ID | Lieferant_Name | Lieferant_Ort |
——————— | ———————— | ———————- |
L1 | Lieferant A | Ort A |
L2 | Lieferant B | Ort B |
1. Elmasri, R., Navathe, S. B. (2016). Fundamentals of Database Systems. Pearson. ISBN: 978-0133970777.
2. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database System Concepts. McGraw-Hill Education. ISBN: 978-0078022159.
3. Date, C. J. (2019). An Introduction to Database Systems. Addison Wesley. ISBN: 978-0321197849.
Diese Bücher sind als Standardwerke in der Datenbanktheorie anerkannt und bieten eine fundierte Grundlage für das Verständnis von Normalisierung in relationalen Datenbanken.