Sie sind auf Seite 1von 9

Normalisierung (Datenbank)

Unter Normalisierung eines relationalen Datenschemas


(Tabellenstruktur) versteht man die Aufteilung von
Attributen (Tabellenspalten) in mehrere Relationen (Tabellen) gem den Normalisierungsregeln (s. u.), so dass
eine Form entsteht, die keine vermeidbaren Redundanzen
mehr enthlt.

TBL_AdressenAlles
Firma
Strasse
PLZ
Ort

Ein konzeptionelles Schema, das Datenredundanzen enthlt, kann dazu fhren, dass bei nderungen der damit
realisierten Datenbank die mehrfach enthaltenen Daten
nicht konsistent, sondern nur teilweise und unvollstndig
gendert werden, womit sie obsolet oder widersprchlich
werden knnen. Man sagt auch, dass Anomalien auftreten
knnen. Zudem belegt mehrfache Speicherung derselben
Daten unntig Speicherplatz. Aus diesen Grnden wird
versucht, solche Redundanzen durch Normalisierung zu
vermeiden.

TBL_Adressen
AdressID
Firma
Strasse
PLZ

TBL_PLZOrt
PLZ
Ort

Aufspaltung der Tabelle TBL_AdressenAlles

Es gibt verschiedene Ausmae, in denen ein Datenbankschema gegen Anomalien gefeit sein kann. Je nachdem
spricht man davon, dass es in erster, zweiter, dritter usw.
Normalform vorliege. Diese Normalformen sind durch
bestimmte formale Anforderungen an das Schema deniert.

in neue Spalten aufgeteilt, z. B. Adressen in Postleitzahl,


Ort und Strasse. Zweitens werden Tabellen aufgeteilt,
zum Beispiel eine Tabelle
tbl_AdressenAlles mit den Feldern Firma, Strasse, PLZ
und Ort in diese Tabellen:

Man bringt ein relationales Datenschema in eine Normalform, indem man fortschreitend anhand fr sie geltender
tbl_Adressen mit den Feldern AdressID, Firma,
funktionaler Abhngigkeiten seine Relationen in einfaStrasse und PLZ
chere zerlegt, bis keine weitere Zerlegung mehr mglich
tbl_PLZOrt mit den Feldern PLZ und Ort
ist. Dabei drfen jedoch auf keinen Fall Daten verloren
gehen. Mit dem Satz von Delobel kann man fr einen
Zerlegungsschritt formal nachweisen, dass er keine Da- Siehe Bild Aufspaltung der Tabelle tbl_AdressenAlles
tenverluste mit sich bringt.
wobei die Tabelle tbl_Adressen noch den eindeutigen PriNormalisiert wird vor allem in der Phase des Ent- mrschlssel AdressID erhlt. In diesem Beispiel wird anwurfs einer relationalen Datenbank. Fr die Normalisie- genommen, dass es zu jeder Postleitzahl nur jeweils einen
rung gibt es Algorithmen (Synthesealgorithmus (3NF), Ortsnamen gibt, was in Deutschland jedoch nicht immer
Zerlegungsalgorithmus (BCNF) usw.), die automatisiert zutrit.
werden knnen.

Die Normalisierung hat den Zweck, Redundanzen (mehrDie Zerlegungsmethodik folgt der relationalen Entwurfs- faches Festhalten des gleichen Sachverhalts) zu verringern und dadurch verursachte Anomalien (z. B. infolge
theorie.
nderung an nicht allen Stellen) zu verhindern, um so die
Aktualisierung einer Datenbank zu vereinfachen (wegen
nderung an lediglich einer Stelle) sowie die Konsistenz
1 Vorgehen
der Daten zu gewhrleisten.

1.1

Ziel: Konsistenzerhhung durch Red- 1.2 Beispiel


undanzvermeidung

Dazu ein Beispiel: Eine Datenbank enthlt Kunden und


Bei der Normalisierung in diesen Bereichen werden zu- deren Adressen sowie Auftrge, die den Kunden zugenchst Spalten (synonyme Begrie: Felder, Attribute) von ordnet sind. Da es mehrere Auftrge vom selben KunTabellen innerhalb dieser Bereiche (der Datenschemen) den geben kann, wrde eine Erfassung der Kundenda1

2 NORMALFORMEN

ten (womglich mit Adressdaten) in der Auftragstabelle dazu fhren, dass sie dort mehrfach vorkommen, obwohl der Kunde immer nur einen Satz gltiger Daten hat
(Redundanz). Beispielsweise kann es dazu kommen, dass
in einem Auftrag fehlerhafte Adressdaten zum Kunden
eingegeben werden, im nchsten Auftrag werden die korrekten Daten erfasst. So kann es in dieser Tabelle oder
auch gegenber anderen Tabellen zu widersprchlichen
Daten kommen. Die Daten wren dann nicht konsistent,
man wsste nicht, welche Daten korrekt sind. Womglich
sind sogar beide Adressen nicht korrekt, weil der Kunde
umgezogen ist (Lsung siehe unten).

Anfragen zu vereinfachen und damit die Fehleranflligkeit zu verringern oder


Besonderheiten von Prozessen (zum Beispiel
Geschftsprozessen) abzubilden.
In diesen Fllen sollten regelmig automatische Abgleichroutinen implementiert werden, um Inkonsistenzen
zu vermeiden. Alternativ knnen die betreenden Daten
auch fr nderungen gesperrt werden.

Bei einer normalisierten Datenbank gibt es fr die Kun- 2 Normalformen


dendaten nur einen einzigen Eintrag in der Kundentabelle, mit der jeder Auftrag dieses Kunden verknpft wird Zurzeit gebruchliche Normalformen sind:
(blicherweise ber die Kundennummer). Im Falle des
Umzugs eines Kunden (ein anderes Beispiel ist die n 1. Normalform (1NF)
derung der Mehrwertsteuer) gbe es zwar mehrere Eintrge in der entsprechenden Tabelle, die aber zustzlich
2. Normalform (2NF)
durch die Angabe eines Gltigkeitszeitraums unterscheid 3. Normalform (3NF)
bar sind und im obigen Kundenbeispiel ber die Kombination Auftragsdatum/Kundennummer eindeutig ange Boyce-Codd-Normalform (BCNF)
sprochen werden knnen.
4. Normalform (4NF)
Ein weiterer Vorteil von Redundanzfreiheit, der bei Millionen Datenstzen einer Datenbank auch heute noch ei 5. Normalform (5NF)
ne wichtige Rolle spielt, ist der geringere Speicherbedarf, wenn der Datensatz einer Tabelle zum Beispiel
tbl_Auftrag auf einen Datensatz einer anderen Tabelle z. Zum einen dienen sie der Beurteilung der Qualitt eines
B. tbl_Kunde verweist, anstatt diese Daten selbst zu ent- betrachteten Datenbankschemas, zum anderen helfen sie,
Fehler beim Erzeugen neuer Schemata zu vermeiden.
halten.
Auerdem knnen mit Hilfe der Normalisierung Datenstrukturen aus nichtrelationalen Quellen gewonnen werden, die im Sinne des Normalisierungskonzepts formal
korrekt sind und die Daten aus ihren jeweiligen nichtrelationalen Quellen, aus denen sie entstanden sind (zum
Beispiel Formulardaten oder Spreadsheets), aufnehmen
knnen.
Nachfolgend werden die Kriterien der jeweiligen Normalformen erklrt. Dabei ist zu beachten, dass jede Normalform die Kriterien der vorhergehenden Normalformen mit einschliet.
Aufspaltung von Tabellen zur Normalisierung

2.1 Erste Normalform (1NF)


Dieses sind die Empfehlungen, die ausgehend von der
Theorie der Normalisierung bei der Datenbankentwicklung gegeben werden, um vor allem Konsistenz der Daten
und eine eindeutige Selektion von Daten zu gewhrleisten. Die hierzu angestrebte Redundanzfreiheit steht allerdings in speziellen Anwendungsfllen in Konkurrenz zur
Verarbeitungsgeschwindigkeit oder zu anderen Zielen. Es
kann daher sinnvoll sein, auf eine Normalisierung zu verzichten oder diese durch eine Denormalisierung rckgngig zu machen, um
die Verarbeitungsgeschwindigkeit (Performanz) zu
erhhen oder

2.1.1 Erluterung
Jedes Attribut der Relation muss einen atomaren Wertebereich haben, und die Relation muss frei von Wiederholungsgruppen sein. (Anm.: statt atomar wird auch die
Bezeichnung atomisch verwendet.)
Das heit, zusammengesetzte, mengenwertige oder geschachtelte Wertebereiche (relationenwertige Attributwertebereiche) sind nicht erlaubt. Damit sind auch Wiederholungsgruppen nicht zugelassen. Kurz: Kein Attributwertebereich einer Relation in 1NF kann in weitere (sinnvolle) Teilbereiche aufgespaltet werden (Beispiel:

2.2

Zweite Normalform (2NF)

Die Adresse darf nicht als Attribut verwendet werden,


sondern muss sofern es der zugrunde liegende Prozess
erfordert in PLZ, Ort, Strae und Hausnummer aufgeteilt werden).

3
Die Titel knnen (mit einfachen Mitteln) nur alle
gleichzeitig als Titelliste oder gar nicht dargestellt
werden.

Dass die Relation frei von Wiederholungsgruppen 2.1.3 Lsung


sein muss, bedeutet, dass Attribute, die gleiche oder
gleichartige Information enthalten, in eine andere Die Attributwertebereiche werden in atomare AttributRelation ausgelagert werden mssen.
wertebereiche aufgespalten:
Ein Beispiel fr eine Wiederholungsgruppe wre eine
Das Feld Album wird in die Felder Albumtitel und
Spalte { Telefon }, die mehrere Telefonnummern enthlt
Interpret gespalten.
oder auch eine Spaltengruppe { Telefon1, Telefon2, Telefon3 }, wobei im letzteren Fall anzumerken ist, dass
Das Feld Titelliste wird in die Felder Track und Ties sich dabei nicht notwendigerweise um eine Wiedertel gespalten sowie auf mehrere Datenstze aufgeholungsgruppe handeln muss (siehe Alternative Formuteilt.
lierungen).
Praktischer Nutzen
Abfragen der Datenbank werden durch die 1NF erleichtert bzw. berhaupt erst ermglicht, wenn die Attributwertebereiche atomar sind. So ist es beispielsweise in einem Feld, das einen ganzen Namensstring aus Titel, Vorname und Nachname enthlt, schwierig bis unmglich,
nach Nachnamen zu sortieren.
Alternative Formulierungen
Alle Attribute enthalten atomare Inhalte, und die Relation
hat eine feste Breite. Diese Formulierung bezieht sich darauf, dass es niemals ntig sein darf, weitere Attribute in
die Relation aufnehmen zu mssen, weil die Wiederholungszahl der Wiederholungsgruppe zu klein wird (z. B.:
es wird bei drei Attributen Telefon13 eine 4. Telefonnummer fr eine Person bekannt). Sie ist insofern interessant, als sie helfen kann zu entscheiden, ob tatschlich
eine Wiederholungsgruppe vorliegt: Obwohl z. B. { .., Telefon1, Telefon2, Telefon3,.. } sehr stark das Vorhandensein einer Wiederholungsgruppe impliziert, knnte es bei
lediglich anderen Attributnamen klar werden, dass freilich unter dem Licht der Anwendung dem nicht so sein
muss: { .., Telefon, Fax, Mobil,.. }

Da jetzt jeder Attributwertebereich atomar ist sowie


die Tabelle einen eindeutigen Primrschlssel (Verbundschlssel aus den Spalten CD_ID und Track) besitzt, bendet sich die Relation in 1NF.

2.2 Zweite Normalform (2NF)


2.2.1 Erluterung
Eine Relation ist in der zweiten Normalform, wenn die
erste Normalform vorliegt und kein Nichtschlsselattribut funktional abhngig von einer echten Teilmenge eines
Schlsselkandidaten ist.
Anders gesagt: Jedes nicht-primre Attribut (nicht Teil
eines Schlssels) ist jeweils von allen ganzen Schlsseln abhngig, nicht nur von einem Teil eines Schlssels.
Wichtig ist hierbei, dass die Nichtschlsselattribute wirklich von allen Schlsseln vollstndig abhngen.

Somit gilt, dass Relationen in der 1NF, deren Schlsselkandidat(en) nicht zusammengesetzt sind, sondern lediglich aus jeweils (einem) einzelnen Attribut(en) bestehen,
Eine weitere Variante entsteht durch folgenden Zusatz: .. automatisch die 2NF erfllen.
und die Relation einen Primrschlssel hat. Obwohl die- In einer Relation R(A,B) ist das Attribut B von dem Atse Formulierung so nicht bei Codd nachgelesen werden tribut A funktional abhngig, falls zu jedem Wert des Atkann, handelt es sich um eine Erweiterung, die zu ausge- tributs A genau ein Wert des Attributs B gehrt. In einer
sprochen praxistauglichen Datenstrukturen fhrt.
Relation R(S1,S2,B) ist das Attribut B von den Schls2.1.2

Negativbeispiel; 1NF verletzt

selattributen S1 und S2 voll funktional abhngig, wenn B


von den zusammengesetzten Attributen (S1,S2) funktional abhngig ist, nicht aber von einem einzelnen Attribut
S1 oder S2.

Das Feld Album enthlt die Attributwertebereiche


Diese informelle Denition kann wie folgt przisiert werInterpret und Albumtitel.
den:
Das Feld Titelliste enthlt eine Menge von Titeln.
Eine Relation ist genau dann in zweiter Normalform,
wenn sie
Dadurch hat man ohne Aufspaltung folgende Probleme
bei Abfragen:
1. in der ersten Normalform ist und
Zur Sortierung nach Albumtitel muss das Feld Album in Interpret und Albumtitel aufgeteilt werden.

2. fr jedes Attribut a der Relation gilt:


a ist Teil eines Schlsselkandidaten oder

2 NORMALFORMEN

a ist von einem Schlsselkandidaten abhngig, 2.2.3 Lsung


aber
a ist nicht von einer echten Teilmenge eines Die Daten in der Tabelle werden in zwei Tabellen aufgeteilt: CD und Lied. Die Tabelle CD enthlt nur noch
Schlsselkandidaten abhngig.
Felder, die voll funktional von CD_ID abhngen, hat also
a ist voll funktional abhngig von jedem Schlsselkandi- CD_ID als Primrschlssel. Auch der Albumtitel allein
daten (wobei die Schlsselkandidaten KC auch durch die sei eindeutig, also ein Schlsselkandidat. Da keine weiKombination mehrerer Attribute gebildet werden kn- teren (zusammengesetzten) Schlsselkandidaten existienen). Die 2NF eliminiert alle partiellen funktionalen Ab- ren, liegt die Tabelle damit automatisch in der 2. Normalhngigkeiten, d. h. kein Nichtschlsselattribut ist funktio- form vor. Die Tabelle Lied enthlt schlielich nur noch
Felder, die voll funktional von CD_ID und Track abhnnal abhngig von Teilen des Schlsselkandidaten.
gen, liegt also auch in der 2. Normalform vor. Mit HilFalls ein Schlsselkandidat zwei Attribute besitzt, knfe dieser verlustfreien Zerlegung sind auch die genannten
nen bei der Zerlegung in die 2NF hchstens drei RelatioRedundanzen der Daten beseitigt.
nen entstehen. Falls ein Schlsselkandidat drei Attribute
besitzt, knnen bei der Zerlegung in die 2NF hchstens Das Attribut CD_ID aus der Tabelle Lied bezeichnet man
sieben Relationen entstehen. Das sind jeweils die Anzahl als Fremdschlssel, der auf den Primrschlssel der Tader Teilmengen einer gegebenen Menge minus 1 (lee- belle CD verweist. Zugleich stellen die Attribute CD_ID
re Menge) und entspricht der Anzahl der Elemente der und Track den zusammengesetzten Primrschlssel der
Tabelle Lied dar.
Potenzmenge ( 2n ) als Obergrenze.
Praktischer Nutzen
Die 2NF erzwingt wesentlich monothematische Relationen im Schema: jede Relation modelliert nur einen 2.3 Dritte Normalform (3NF)
Sachverhalt.
2.3.1 Erluterung
Dadurch werden Redundanz und die damit einhergehende Gefahr von Inkonsistenzen reduziert. Nur noch lo- Die dritte Normalform ist genau dann erreicht, wenn
gisch/sachlich zusammengehrige Informationen nden sich das Relationenschema in der 2NF bendet, und kein
sich in einer Relation. Dadurch fllt das Verstndnis der Nichtschlsselattribut (hellgraue Zellen in der Tabelle) von
Datenstrukturen leichter.
einem Schlsselkandidaten transitiv abhngt.
2.2.2

Negativbeispiel; 2NF verletzt

Der Primrschlssel der Relation ist aus den Feldern


CD_ID und Track zusammengesetzt. (Grundstzlich
darf ein Primrschlssel aus mehreren Attributen
bestehen, jedoch entsteht daraus im genannten Beispiel ein Konikt.)

Ein Attribut A2 ist vom Schlsselkandidaten P1 transitiv abhngig, wenn es eine Attributmenge A1 gibt, sodass
(P1 A1 ) und (A1 A2 ) .

Hierbei handelt es sich um eine Abhngigkeit, bei der


ein Attribut A2 ber eine Attributmenge A1 von einem
Schlsselkandidaten P1 der Relation abhngig ist (ohne
dass zugleich auch P1 direkt von A1 abhngig, also A1 ein
Schlsselkandidat ist). Das heit: Wenn die Attributmen Die Felder Albumtitel, Interpret und Erscheinungs- ge A1 von der Attributmenge P1 abhngt und Attribut A2
jahr sind vom Feld CD_ID abhngig, aber nicht vom von A1 , dann ist A2 transitiv abhngig von P1 . Formal
Feld Track. Dieser (Punkt 2) verletzt die 2. Normal- ausgedrckt: (P1 A1 ) (A1 A2 ) P1 A2 .
form, da die drei nicht-primren Attribute nicht nur
von einem Teil des Schlssels (hier CD_ID) abhn- Einfach gesagt: Ein Nichtschlsselattribut darf nicht von
gen drfen. Wre der Schlssel nicht zusammenge- einer Menge aus Nichtschlsselattributen abhngig sein.
setzt (siehe Punkt 1), so knnte dies nicht passieren. Ein Nichtschlsselattribut darf also nur direkt von einem Primrschlssel (bzw. einem Schlsselkandidaten)
abhngig sein.
Probleme, die sich daraus ergeben:
Die Informationen aus diesen drei Feldern sind, wie am Siehe auch: Transitive Relation, Synthesealgorithmus
Beispiel der CD Not That Kind zu erkennen, mehrfach
vorhanden, d. h. redundant. Dadurch besteht die Gefahr, Praktischer Nutzen
dass die Integritt der Daten verletzt wird. So knnte man Transitive Abhngigkeiten sind sofort ersichtlich, ohne
den Albumtitel fr das Lied Not That Kind in I Dont dass man die Zusammenhnge der Daten kennen muss.
Mind ndern, ohne jedoch die entsprechenden Eintrge Sie sind durch die Struktur der Relationen wiedergegefr die Titel Im Outta Love und Cowboys & Kisses zu n- ben.
dern (Update-Anomalie).
Auerdem werden verbliebene thematische DurchmiIn dem Fall ist ein Zustand erreicht, den man als schungen in der Relation behoben: nach der 3NF sind die
Dateninkonsistenz bezeichnet. ber die komplette Tabel- Relationen des Schemas zuverlssig monothematisch.
le betrachtet, passen die Daten nicht mehr zusammen.

Alternative Formulierung

2.4

Boyce-Codd-Normalform (BCNF)

Die dritte Normalform ist erreicht, wenn sich das Relatio- Es sollen die folgenden Bedingungen gelten:
nenschema in 2NF bendet, und kein Nichtschlsselattribut (hellgraue Zellen in der Tabelle) Determinante ist.
jeder Verein bietet nur eine Sportart an.
Oder: Die dritte Normalform ist erreicht, wenn sich
ein Sportler kann in verschiedenen Vereinen spiedas Relationenschema in 2NF bendet, und kein Nichtlen, aber nur, wenn diese Vereine unterschiedlischlsselattribut (hellgraue Zellen in der Tabelle) von eiche Sportarten betreiben. Damit wird sichergestellt,
nem anderen Nichtschlsselattribut funktional abhngig
dass der Sportler nie gegen einen Verein spielt, in
ist.
dem er selbst Mitglied ist.
2.3.2

Negativbeispiel; 3NF verletzt

Oensichtlich lsst sich der Interpret einer CD aus


der CD_ID bestimmen, das Grndungsjahr der
Band/Interpreten hngt wiederum vom Interpreten
und damit transitiv von der CD_ID ab.
Das Problem ist hierbei wieder Datenredundanz. Wird
zum Beispiel eine neue CD mit einem existierenden Interpreten eingefhrt, so wird das Grndungsjahr redundant
gespeichert.
2.3.3

Lsung

Aus den oben genannten Bedingungen folgt, dass das Attribut Sportart funktional abhngig vom Attribut Verein ist, d. h. Verein ist eine Determinante. Jedoch ist
Verein kein Schlsselkandidat. Mgliche Schlsselkandidaten sind {Name,Verein} und {Name,Sportart}. Eine Konvertierung in BCNF ist mglich, indem (Name,
Verein) als Primrschlssel verwendet und die Relation
aufgeteilt wird:
2.4.3 Lsung
2.4.4 Zerlegungsalgorithmus

Die Relation wird aufgeteilt, wobei die beiden voneinander abhngigen Daten in eine eigene Tabelle ausgelagert
werden. Der Schlssel der neuen Tabelle muss als Fremdschlssel in der alten Tabelle erhalten bleiben.

Es existiert ein Algorithmus, der relationale Schemata durch Zerlegung (engl. decomposition) in die BoyceCodd-Normalform berfhrt. Alle Schemata werden dabei solange aufgespalten, bis keines mehr die BCNF
An der Tabelle Lied wurden keine nderungen bei der bricht. Jede Aufspaltung erfolgt anhand einer, die BCNF
bertragung in die 3. Normalform vorgenommen. Sie ist verletzenden, funktionalen Abhngigkeit. Die Attribute der verletzenden Abhngigkeit bilden das erste neue
hier nur der Vollstndigkeit halber gelistet.
Schema, und die restlichen Attribute plus die Determinante ein weiteres Schema. Die beiden neuen Schemata
2.4 Boyce-Codd-Normalform (BCNF)
enthalten von den ursprnglichen funktionalen Abhngigkeiten lediglich solche, welche nur Attribute des jeweili2.4.1 Erluterung
gen Schemas nutzen, der Rest geht verloren.
Folgender
Pseudocode
beschreibt
den
Ein Relationenschema ist in BCNF, wenn es in der 3.NF
Zerlegungsalgorithmus:[1]
ist und jede Determinante (Attributmenge, von der andere Attribute funktional abhngen) ein Superschlssel ist Durchlauf des Algorithmus am obigen Beispiel (ohne
Darstellung aller trivialen Abhngigkeiten):
(oder die Abhngigkeit ist trivial).
Die BCNF (nach Raymond F. Boyce und Edgar F. Codd)
verhindert, dass Teile zweier aus mehreren Feldern zusammengesetzten Schlsselkandidaten voneinander abhngig sind.
Die berfhrung in die BCNF ist zwar immer verlustfrei mglich, aber nicht immer abhngigkeitserhaltend.
Die Boyce-Codd-Normalform war ursprnglich als Vereinfachung der 3NF gedacht, fhrte aber zu einer neuen
Normalform, die diese verschrft: Eine Relation ist automatisch frei von transitiven Abhngigkeiten, wenn alle
Determinanten Schlsselkandidaten sind.
2.4.2

Negativbeispiel; BCNF verletzt

In diesem Beispiel gibt es eine einfache Datenbank, in der


die Vereinszugehrigkeit von Sportlern gespeichert wird.

1: R = ( { Name, Sportart, Verein }, { ( { Name,


Sportart } { Verein } ), ( { Verein } { Sportart
} ), ( { Name, Verein } { Name, Verein } ) } )
2: Dekomposition = { R }
3: da R aus Dekomposition nicht die BCNF erfllt
mache folgendes:
4,5: { Verein } { Sportart } ist die Abhngigkeit, die die Verletzung der BCNF bedingt,
damit ist S1 = ( { Verein, Sportart }, { ( { Verein } { Sportart }) } ) und S2 = ( { Name,
Verein }, { ( { Name, Verein } { Name,
Verein } ) } )
6: Ergebnis: Dekomposition := {S1 , S2 }

6
2.4.5

2 NORMALFORMEN

Die Beispielgrak zeigt die fehlerhafte Modellierung der


mehrwertigen Abhngigkeiten und die korrekte Lsung.
Die BCNF-Normalform ist strenger hinsichtlich der er- Zwischen Haustier und Fahrzeug besteht keine Bezielaubten funktionalen Abhngigkeiten: in Relationssche- hung, somit war die Beziehung besitzt falsch modelliert.
mata in 3NF knnen einige Informationen doppelt vorkommen, in der BCNF jedoch nicht.
2.5.3 Lsung

2.5
2.5.1

Unterschied zur 3.NF

Vierte Normalform (4NF)


Erluterung

2.5.4 Hinweis
Folgendes Relationsschema erfllt die 4NF, obwohl auch
hier mehrere MWAs vorliegen:

Ein Relationenschema ist dann in der 4. Normal- Person Partner und Person Kind sind zwar zwei
form, wenn es in der BCNF ist und nur noch triviale MWAs, aber diese beiden sind auch untereinander abhnmehrwertige Abhngigkeiten (MWA) enthlt.
gig: Partner Kind. Solche untereinander abhngigen
Einfach ausgedrckt: Es darf innerhalb einer Relati- MWAs werden erst in 5NF gelst.
on nicht mehrere 1:n- oder m:n-Beziehungen zu einem
Schlsselwert geben, die thematisch/inhaltlich nichts miteinander zu tun haben. Gehrt etwa zu einem Schlssel- 2.6 Fnfte Normalform (5NF)
wert i-mal Attribut a, aber davon unabhngig auch j2.6.1 Erluterung
mal Attribut b, ist die 4NF verletzt.
Anschaulich ausgedrckt: Die 4NF untersucht n-re BeEine Relation ist in 5NF, wenn sie in der 4NF ist und
ziehungen (mehr als zwei Tabellen stehen gleichzeitig in
keine mehrwertigen Abhngigkeiten enthlt, die voneinBeziehung) und ob diese korrekt modelliert wurden.
ander abhngig sind.
Einfach ausgedrckt: Es darf innerhalb einer Relation nicht mehrere 1:n- oder m:n-Beziehungen zu einem
2.5.2 Negativbeispiel; 4NF verletzt
Schlsselwert geben, die thematisch/inhaltlich miteinanZu einer Personennummer gibt es mehrere Haustiere und der verknpft sind. Gehrt etwa zu einem Schlsselwert
Fahrzeuge. Haustiere und Fahrzeuge einer Person ha- i-mal Attribut a, aber davon abhngig auch j-mal Attriben aber prinzipiell nichts miteinander zu tun; man sagt, but b, ist die 5NF verletzt.
sie sind voneinander unabhngig. Als Primrschlssel Die 5NF verlangt also vereinfachte Relationen, aus dekommt nur eine Kombination aus allen drei Attributen in nen aber durch Projektions- und Verbundoperationen alFrage, somit ist die Tabelle in 3NF. Personnummer le Informationen der ursprnglichen Relation wiederherHaustier ist dabei eine mehrwertige Abhngigkeit, Per- stellbar sein mssen. Sie ist somit sehr generell gehalten
sonnummer Fahrzeug auch. Da diese beiden MWAs und dadurch (vorerst) die letzte Normalform. So knnen
unabhngig voneinander sind, ist die 4NF verletzt.
Relationen in einzelne Abfragen aufgeteilt werden und
durch sptere Verbundsoperationen wieder zusammengefgt werden, wobei eine Teilmenge des so genannten
kartesischen Produkts entsteht.
Die 5NF untersttzt in soweit die Konsistenz, als das
sich durch das Aufteilen auch neue Kombinationen ergeben knnen, falls beim Hinzufgen einer Information sich
theoretisch auch andere Kombinationen ergeben wrden,
die aber nicht bercksichtigt werden, wenn alle Attribute
in einer einzigen Tabelle der Relation stehen.

2.6.2 Negativbeispiel; 5NF verletzt


Die folgende Relation zeigt, welche Lieferanten welche
Bauteile an welches Projekt liefern knnen:

Beispiel 4NF

Die Relation muss weiter zerteilt werden, denn es ist auch


vom Projekt abhngig, welche Teile bei diesem bentigt
werden. Wichtig ist auch, dass sich die Relation aufteilen
lsst, ohne dass Informationen verloren gehen.

7
2.6.3

Lsung

abgeleitete Relationenschema kann dann mit Hilfe der


Normalisierungen berprft werden; es existieren jedoch
Um diese Relation in die 5. Normalform umzuwandeln, Formalismen und Algorithmen, die diese Eigenschaft bemssen drei Relationen erstellt werden (LieferantTeil, reits sicherstellen knnen.
TeilProjekt und LieferantProjekt).
Statt des ursprnglichen von Peter Chen 1976 entwickelten ER-Modells werden heute erweiterte ER-Modelle
Welche Teile kann welcher Lieferant liefern?
verwendet: Das Structured-ERM (SERM), das E3RModell, das EER-Modell sowie das von der SAP AG ver Welche Teile werden von welchem Projekt bentigt? wendete SAP-SERM.
Bendet sich ein Relationenschema nicht in der 1NF,
Welche Projekte knnen von welchem Lieferanten so nennt man diese Form auch Non-First-Normal-Form
beliefert werden?
(NF) oder Unnormalisierte Form (UNF).
Der Prozess der Normalisierung und Zerlegung einer Relation in die 1NF, 2NF und 3NF muss die Wiederherstellbarkeit der ursprnglichen Relation erhalten, das heit
Anders als bei der Umformung zwischen den bisherigen die Zerlegung muss verbundtreu und abhngigkeitstreu
Normalformen wird durch diese Umwandlung etwas an- sein.
deres durch die neuen Relationen ausgedrckt als zuvor
in der 4. Normalform.
2.6.4

Hinweis

Das merkt man leicht, wenn man die drei Relationen aus
dem Beispiel oberhalb wieder vereinigt:

4 Merkspruch

Als eine Gedchtnissttze fr die Grade von Abhngigkeit vom Schlssel in den ersten drei Normalformen wird
Denn Mller knnte theoretisch das Projekt 1 mit Ngeln
in scherzhafter Anlehnung an den amerikanischen Gebeliefern, da
richtseid (The truth, the whole truth and nothing but the
truth. So help me God!) gerne folgender Spruch genannt:
er auch Projekt 2 mit Ngeln beliefert und
Neu ist das Tupel: Mller Nagel Projekt 1.

Projekt 1 auch Ngel bentigt (die jedoch bisher von


Maier geliefert wurden).

The key, the whole key, and nothing but


the key. So help me Codd!

Die berfhrung in 5NF ist also nur dann mglich, wenn


man die Mglichkeiten der Verbindungen aus drei BezieDer Schlssel, der ganze Schlssel und
hungen ausdrcken mchte und nicht eine konkrete Vernichts als der Schlssel. So wahr mir Codd helbindung zwischen den dreien haben mchte. Diese Auffe!
teilung ergibt bei der richtigen Anwendung neue Informationen, wie hier, dass Mller Projekt 1 auch mit Ngeln
Das bedeutet:
beliefern knnte.

Bemerkungen

alle (impliziert: atomaren) Werte beziehen sich auf


den Schlssel 1. NF

bei zusammengesetzten Schlsseln beziehen sie sich


Schwchen im Datenmodell aufgrund fehlender Normalijeweils auf den gesamten Schlssel 2. NF
sierung knnen neben den typischen Anomalien einen
hheren Aufwand bei einer spteren Weiterentwicklung
die Werte hngen nur vom Schlssel ab, und nicht
bedeuten. Andererseits kann beim Datenbankentwurf aus
von Nichtschlsselattributen 3. NF
berlegungen zur Performance bewusst auf Normalisierungsschritte verzichtet werden (Denormalisierung). (Anm.: dieser Merkspruch mit Bezug auf den Schlssel
Typisches Beispiel dafr ist das Sternschema im Data- ist im Grunde etwas verkrzt: man muss die NormalforWarehouse.
men 13 auf alle Schlsselkandidaten beziehen, sonst erDie Erstellung eines normalisierten Schemas wird durch gibt die Boyce-Codd Normalform gar keinen Sinn und
automatische Ableitung aus einem konzeptuellen Daten- fhrt zu vllig sinnlosen Tabellenaufteilungen! In der Pramodell gesttzt; hierzu dient in der Praxis ein erweiter- xis weisen allerdings sehr viele Tabellen auer dem Prites Entity-Relationship-Modell (ERM) oder ein Klassen- mrschlssel gar keine weiteren Schlsselkandidaten auf,
diagramm der Unied Modeling Language (UML) als und die Formulierung bringt das Wesentliche sehr einprgAusgangspunkt. Das aus dem konzeptionellen Entwurf sam auf den Punkt.)

Merkregeln
1. Ist die Relation in 1. Normalform und besteht der
Primrschlssel aus nur einem Attribut, so liegt automatisch die 2. Normalform vor.
2. Ist eine Relation in 2. Normalform und besitzt sie
auer dem Primrschlssel hchstens ein weiteres
Attribut, so liegt die Tabelle in 3. Normalform vor.
3. Die 3. Normalform ist die letzte und muss die 1. und
2. Bedingungen erledigen.

Literatur
Ramez Elmasri, Shamkant B. Navathe: Grundlagen
von Datenbanksystemen. Pearson Studium, 2002,
ISBN 3-8273-7021-3
Alfons Kemper, Andre Eickler: Datenbanksysteme. Eine Einfhrung. Oldenbourg, Mnchen 2004,
ISBN 3-486-27392-2
Stefan M. Lang, Peter C. Lockemann: Datenbankeneinsatz. Springer, Berlin u. a. 1995, ISBN 3-54058558-3.

Weblinks
Der Knigsweg: Normalisierung. Hochschule der
Medien Stuttgart
Access: Grundlagen der Datenbanknormalisierung.
Microsoft Hilfe und Support
Normalisierung von Datenbanken. RichardWossidlo-Gymnasium Ribnitz-Damgarten
Erklrung der Normalformen. Ziemers Informatik
Interaktiver Normalformentrainer bis zur 3. Normalform

Einzelnachweise

[1] Philip M. Lewis, Arthur Bernstein, Michael Kifer: Databases and transaction processing: an application-oriented
approach. Addison-Wesley, 2002, ISBN 0-201-70872-8,
S. 232.

EINZELNACHWEISE

Text- und Bildquellen, Autoren und Lizenzen

9.1

Text

Normalisierung (Datenbank) Quelle: https://de.wikipedia.org/wiki/Normalisierung_(Datenbank)?oldid=155770930 Autoren: JeLuF,


Kku, Zeno Gantner, Andreas Gro, JPense, Gnu1742, Aka, Stefan Khn, Magnus, Beyer, Head, Mathias Schindler, Markobr, Fire, Mentor,
Arved, Tsor, Seewolf, SirJective, Hubi, Oemmler, Blubbalutsch, Erwin E aus U, Dominik~dewiki, Andim, Tzeh, Geof, Paddy, Zwobot, D,
HaeB, Arcy, Ifrost, JuergenL, Michael.chlistalla, MichaelDiederich, HaSee, Wiegels, APPER, MikeTheGuru, Cheeder, Nocturne, Sinn,
Peter200, Daniel B~dewiki, Robbit, FutureCrash, Mvogel, E86, Hardenacke, Sicherlich, Ot, Johnny Yen, Kubrick, Unscheinbar, PeeCee,
Kurt seebauer, Pt, Rat, Darth-Vader, Ralf Pfeifer, Chrisfrenzel, Norro, Conny, ChristophDemmer, Greg5000, TMg, Regnaron, Brevity,
Rwild, Darkcookie, Kam Solusar, Ghw, Floutsch, Robi26, Scytale, Dundak, Lotharp, S.K., Mikano, D235, Dealerofsalvation, Martin Bahmann, Pixelre, Udo T., Kloppenburg, Pelz, AndreasPraefcke, M.L, Bombenleger, Reservoirdog, Diba, KnoXi, He3nry, Sparti, Gerbil,
Friedemann Lindenthal, Baumanns, Clusti, Manuel Strehl, Tafkas, Tonk, Tommy k13, Morricone, Stefan, Schlurcher, Hackbert, Atamari,
AF666, Stargamer, Wolle1024, Quarksteilchen, Fladi, O.Koslowski, Mikeonline, PaulBommel, Itti, Florian Hufsky, F GX, Zaphiro, DasEddy, FritzG, Zenocosini, Daaavid, Heliozentrik, Coredump, ThomasN, Florian Adler, Flogni, Andreas75, Cami de Son Duc, Ra'ike, Th.,
Golgol, Tilla, STBR, Alfred Grudszus, Nobart, Nachtgestalt, Ulm, RobotQuistnix, WIKImaniac, Euku, YurikBot, Eriom, High Contrast,
Androl, Ste ba, Savin 2005, Wasseralm, Spam, Sebastian Muders, Chaddy, Wkrautter, DerHexer, WAH, Stephan Schneider, Schmaecky,
Bijick, Rauwauwi, Divbyzero, JCS, KnightMove, Xzentorzx, Eskimbot, Revvar, Westiandi, Cookiez, Nightyer, Giraldillo, 32X, PortalBot, Mrkr, FordPrefect42, LKD, Uhomm, Lex912, Manecke, Djat, StackEm, Edoe, Der fette mo, Rouven Thimm, StephanGrein, Pendulin, Volker Fritzsche, ZDragon, Stubaital, Windstaerke1111, Mitternacht, Tnjes, Andreas 06, Graphikus, GGShinobi, Mimir~dewiki,
Semper, LoTekk, Spuk968, Parexus, YMS, Jobu0101, Nagy, Horst Grbner, Gustav von Aschenbach, Bernard Ladenthin, S.A.L., Kallistratos, Tobi B., VictorAnyakin, YourEyesOnly, Peter86169, Battlestar~dewiki, Geher, Baumfreund-FFM, Markus108, DreamingInRed,
Kuebi, FunkelFeuer, Totenmontag, Zollernalb, PerfektesChaos, Complex, Gerold Broser, Reaper35, Tischbeinahe, Akkarin, TXiKiBoT,
Heops, Cactus26, La Corona, Zidjian, Korosaspa, Regi51, Dipolmat, Fackt0r, OecherAlemanne, Julius-m, Frber, Krawi, SieBot, Die
tiefe blaue See, Loveless, Patrick Hilke, Phaidros.vie, Der.Traeumer, Cristof, Kaneiderdaniel, Qhx, Chricho, Trustable, Michael Reschke,
Avoided, Justus Brcke, Alnilam, Flash1984, Pittimann, Se4598, Emergency doc, Whsky, Silvicola, Darkicebot, Fish-guts, Guandalug,
VanBot, Senator2108, O!, Hoo man, Paramecium, Andorna, Joerg.haensel, Bhabba, PM3, Luckas-bot, Roman Munich, Williwilli, Krd,
Rubinbot, Small Axe, Quezon95, Mrlegofrau, Vax~dewiki, Xqbot, ArthurBot, Christian140, SDKmac, Grgs, Verita, Howwi, Morten Haan, Geierkrchz, BKSlink, Sunks, Jivee Blau, D'ohBot, MorbZ-Bot, MDXDave, Serols, Timk70, Kalli R, Dorius750, TobeBot, Kghbln,
Daniel5Ko, CDehning, Wolf32at, Martin1978, EmausBot, Faltenwolf, Didym, ChristianMeyer, WikitanvirBot, Randolph33, ChuispastonBot, User13, DerElein, Achim55, Iste Praetor, Tz92, Herr von Quack und zu Bornhft, Rezabot, Joerg Bader, KLBot2, Martin1009,
Ajv39, Justincheng12345-bot, Tobias Fnke, Rmcharb, Abby M., D-hitzel, Holmium, Ocranom, Iwesb, Majo statt Senf, Natsu Dragoneel,
ApolloWissen, HeicoH, Schnabeltassentier, HerrKlein, FNDE, Tietze111, Dmuhs, Wikiniwi, Poliglott, Dienmutter und Anonyme: 713

9.2

Bilder

Datei:4NF_Beispiel.PNG Quelle: https://upload.wikimedia.org/wikipedia/de/8/88/4NF_Beispiel.PNG Lizenz: Bild-frei Autoren:


Matthias Elein
Ursprnglicher Schpfer:
Matthias Elein
Datei:Aufspaltung_einer_Tabelle_in_zwei_(Beispiel).svg
Quelle:
https://upload.wikimedia.org/wikipedia/commons/6/63/
Aufspaltung_einer_Tabelle_in_zwei_%28Beispiel%29.svg Lizenz: Public domain Autoren: Eigenes Werk Ursprnglicher Schpfer:
Euku:<a href='//commons.wikimedia.org/wiki/User_talk:Euku' title='User talk:Euku'> </a>
Datei:Qsicon_lesenswert.svg Quelle: https://upload.wikimedia.org/wikipedia/commons/4/43/Qsicon_lesenswert.svg Lizenz: CC BY-SA
3.0 Autoren: Image:Qsicon_lesenswert.png basierend auf Image:Qsicon inArbeit.png Ursprnglicher Schpfer: User:Superdreadnought,
User:Niabot
Datei:Wp_Normal_1_301208_165800.JPG Quelle: https://upload.wikimedia.org/wikipedia/de/9/9c/Wp_Normal_1_301208_165800.
JPG Lizenz: Bild-frei Autoren:
eigene Grak
Ursprnglicher Schpfer:
Alfred Grudszus

9.3

Inhaltslizenz

Creative Commons Attribution-Share Alike 3.0