Datenbanken: Normalisierung
Das Ziel einer Datenbank-Normalisierung besteht darin, dass man Attribute in mehreren Relationen so aufteilt, sodass eine Form entsteht, die keine vermeidbaren Redundanzen enthält. Dafür existieren insgesamt fünf Normalformen, wobei in der Praxis aber nur die ersten drei Normalformen angewendet werden. Die vierte und die fünfte Normalform rechtfertigen meistens den hohen Aufwand nicht den man aufbringen muss [1,2].
Im folgenden werden Beispiele zu den ersten drei Normalformen gezeigt.
Beispiel: "Unnormale" Form (0NF)
Als Beispiel haben wir hier eine Relation, die noch keine Normalform durchlaufen hat.
Abbildung 1: Eine einfache Relation
Die erste Normalform (1NF)
Die erste Normalform (1NF) ist dann gegeben, wenn alle Informationen elementar/atomar vorliegen. Das bedeutet, in jeder Spalte darf nur ein Wert stehen.
Abbildung 2: Nach der 1NF
Obere Relation vorher, untere Relation nachher
Die zweite Normalform (2NF)
In der zweiten Normalform wird überprüft, ob eine volle funktionale Abhängigkeit oder nur eine funktionale Abhängigkeit von Werten zu einer Teilmenge besteht.
Eine Relation befindet sich in der zweiten Normalform, wenn die erste Normalform durchlaufen wurde und wenn jedes Nichtschlüsselattribut von jedem Schlüsselkandidaten voll funktional abhängig ist.
Abbildung 3: Nach der 2NF
oberste Relation vorher, untere drei Relationen nachher
Da ein Name nicht eindeutig ist, wird jedem Kunden eine Kundennummer zugeordnet. Diese ist der Primärschlüssel der neuen Tabelle Kunde-Relation. Danach wird das gleiche mit den Artikeln durchgeführt.
Die dritte Normalform (3NF)
Eine Relation befindet sich genau dann in der dritten Normalform (3NF), wenn die zweite Normalform durchlaufen wurde und kein Nichtschlüsselattribut transitiv von einem Kandidatenschlüssel abhängt. Dadurch sollen Redundanzen vermieden werden.
Transitiv bedeutet hier, dass die abhängigen Spalten in eine weitere Tabelle ausgelagert werden, da sie nicht direkt vom Schlüsselkandidaten abhängen, sondern nur indirekt.
Abbildung 4: Nach der 3NF
oberste Relation vorher, untere zwei Relationen nachher
Quelle
[1] http://cir.dcs.uni-pannon.hu/cikkek/Database_Normalization.pdf
[2] https://www.researchgate.net/publication/297731569_The_Database_Normalization_Theory_and_the_Theory_of_Normalized_Systems_Finding_a_Common_Ground
Leave Datenbanken: Normalisierung to:
Read more #deutsch posts
Best Posts From ozelot47
We have not curated any of ozelot47's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From ozelot47
- Ion Fury, Level 8: Defense Farce
- Funktionalgleichung mit Parameter
- Ion Fury, Level 7: Alphabet Soup
- Funktionalgleichung mit Brüchen
- Eine Funktionalgleichung lösen
- Integral in Kombination mit der Substitution und Produktintegration lösen
- Ion Fury, Level 6: Abandonment Issues
- Beispiel einer Exponentialgleichung mithilfe der Substitution lösen
- Ein schöner Sonntagsspaziergang
- Ion Fury, Level 5: Reformation Plaza