6 Normalformen
• Normalisieren
• Schlüssel
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 1
Datenmodell
Das Entwickeln einer Anwendung mit Hilfe einer relationalen
Datenbank erfordert die Entwicklung eines Datenmodells, das
möglichst exakt die zu bearbeitenden Daten der realen Welt
widerspiegelt.
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 2
Datensammlung
M atr
Name Vorlesung
Semester
98001
98002
98003
97001
97002
98004
98001
Jutta
Emil
Fritz
Anna
Else
Hans
Jutta
Worzyk
FH Anhalt
Studien Studien
gang
dauer
bis jetzt
M ath
Inf
1
Prog
FÜ
2
DatOrg Inf
2
M ath
FÜ
1
Prog
IM
2
DBS1
Inf, IM
3
Prog
Inf
1
Note
2
4
4
2
4
Regelstudien
zeit
9
8
9
8
10
2
9
2.7
Datenbanksysteme für FÜ SS 2000
Seite 4 - 3
1.3
1.7
2.0
4.0
2.3
Gründe für das Normalisieren
• Vermeidung unerwünschter Abhängigkeiten bei
Datenmanipulationen
• Gundlage für ein leicht erweiterbares Datenmodell
• Verständliches Datenmodell
• Elimination von Redundanzen
• Systematisches Auseindersetzen mit den Daten
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 4
Funktionale Abhängigkeit
In der Relation R(A,B) ist das Attribut B von dem Attribut A
funktional abhängig, falls zu jedem Wert von A genau ein
Wert von B gehört.
A wird Determinante von B genannt.
Beispiel:
Studiengang
Worzyk
FH Anhalt
Regelstudienzeit
Datenbanksysteme für FÜ SS 2000
Seite 4 - 5
Volle funktionale Abhängigkeit
In der Relation R(S1, S2, A) ist das Attribut A von den Attributen
S1, S2 voll funktional abhängig, wenn A von den
zusammengesetzten Attributen (S1, S2) abhängig ist, nicht aber
von je einem einzelnen Attribut S1 oder S2.
Beispiel:
Name
Jutta
Emil
Worzyk
FH Anhalt
Vorlesung
Mathematik
Programmierung
Note
1.3
1.7
Datenbanksysteme für FÜ SS 2000
Seite 4 - 6
Transitive Abhängigkeit
In der Relation R(S, A, B) ist das Attribut B transitiv von S
abhängig, wenn A von S funktional abhängig ist, aber S
nicht von A; und B ist funktional von A abhängig ist.
Beispiel:
Name
Jutta
Emil
Worzyk
FH Anhalt
Studiengang
Informatik
Fachübersetzen
Regelstudienzeit
9
8
Datenbanksysteme für FÜ SS 2000
Seite 4 - 7
Berechnete Attribute
Beispiel:
Name
Jutta
Emil
Hans
Worzyk
FH Anhalt
Studiendauer
1
2
1.5
Semester
2
4
3
Datenbanksysteme für FÜ SS 2000
Seite 4 - 8
Schlüssel
Sei X = {A1, ..., An} die Menge aller Attribute einer Relation R(A1,...,
An).
Eine Teilmenge SX von Attributen ist ein Schlüsselkandidat, wenn
gilt:
X ist funktional von S abhängig
Die funktionale Abhängigkeit gilt nicht für eine echte Teilmenge von
S
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 9
Schlüssel
Eigenschaften eines Schlüssels
– eindeutig
– unmittelbar zuteilbar
– kurz
– schreibbar
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 10
Sprechende Schlüssel
Der Schlüssel enthält einen Hinweis auf das Tupel, das er
identifiziert
Vorteil: leicht zu merken für eine manuelle Bearbeitung der
Tupel
Nachteil: Bei der Änderung eines Attributs des Tupels kann sich
der Schlüssel ändern
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 11
Sprechende Schlüssel
Beispiel
Identifikation eines Personaldatensatzes über den
Personennamen
Vorteil: leicht zu merken
Nachteil:
– Zwei Personen gleichen Namens
– Namensänderung
– komplizierte Namen
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 12
Verdeckter Schlüssel
Beispiel
Der Schlüssel wird nur für datenbankinterne Kennzeichnung
benutzt und bleibt dem Anwender verborgen
Beispiel:
– mehrsprachiger Katalog
– Fehlermeldungen
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 13
Künstlicher Schlüssel
Beispiel
Der Schlüssel wird bei Bedarf vom Rechner generiert. Der
Anwender hat keinen Einfluß auf den Wert des Schlüssels.
Beispiel: fortlaufend generierte Martikel Nummer
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 14
Schlüsselkandidaten
M atr
Name Vorlesung
Semester
98001
98002
98003
97001
97002
98004
98001
Jutta
Emil
Fritz
Anna
Else
Hans
Jutta
Worzyk
FH Anhalt
Studien Studien
gang
dauer
bis jetzt
M ath
Inf
1
Prog
FÜ
2
DatOrg Inf
2
M ath
FÜ
1
Prog
IM
2
DBS1
Inf, IM
3
Prog
Inf
1
Note
2
4
4
2
4
Regelstudien
zeit
9
8
9
8
10
2
9
2.7
Datenbanksysteme für FÜ SS 2000
Seite 4 - 15
1.3
1.7
2.0
4.0
2.3
Erste Normalform
Eine Relation ist in der ersten Normalform (1NF), wenn alle
Attribute nur atomare Werte enthalten.
Beispiel für eine Relation, die nicht in der ersten Normalform
ist:
Name
Hans
Worzyk
FH Anhalt
Vorlesung
DBS1
Studiengang
Inf, IM
Datenbanksysteme für FÜ SS 2000
Seite 4 - 16
Zweite Normalform
Eine Relation ist in der zweiten Normalform (2NF), wenn sie in
der 1NF ist und jedes Nicht-Schlüssel-Attribut voll funktional
abhängig ist vom Gesamtschlüssel.
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 17
Beispiel
nicht zweite Normalform
M atr
98001
98002
98003
97001
97002
98004
98001
Worzyk
FH Anhalt
Vorlesung
M ath
Prog
DatOrg
M ath
Prog
DBS1
Prog
Note
1.3
1.7
2.0
4.0
2.3
2.7
Studiengang
Inf
FÜ
Inf
FÜ
IM
Inf
Inf
Datenbanksysteme für FÜ SS 2000
Seite 4 - 18
Dritte Normalform
Eine Relation ist in der dritten Normalform (3NF), wenn sie in
der 1NF und der 2NF ist und keine transitiven
Abhängigkeiten enthält.
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 19
Beispiel
nicht dritte Normalform
M atr
98001
98002
98003
97001
97002
98004
98001
Worzyk
FH Anhalt
Vorlesung
M ath
Prog
DatOrg
M ath
Prog
DBS1
Prog
Note
1.3
1.7
2.0
4.0
2.3
sehr gut
gut
gut
ausreichend
gut
2.7
befriedigend
Datenbanksysteme für FÜ SS 2000
Seite 4 - 20
Normalisieren
Datensammlung:
M atr Name Addr VorStg.
lesung
Sem Regel Note
98001
98002
98003
97001
97002
98004
98001
2
4
4
2
4
2, 2
2
Worzyk
FH Anhalt
Jutta
Emil
Fritz
Anna
Else
Hans
Jutta
WH1
WH1
WH4
WH5
WH2
WH4
WH1
M ath
Prog
DatOrg
M ath
Prog
DBS1
Prog
Inf
FÜ
Inf
FÜ
IM
Inf, IM
Inf
9
8
9
8
10
9, 10
9
Datenbanksysteme für FÜ SS 2000
Seite 4 - 21
1.3
1.7
2.0
4.0
2.3
4.7, 2.0
2.7
Normalisieren
Nicht-atomare Einträge auflösen:
Stg.
M atr Name Addr Vorlesung
98001
98002
98003
97001
97002
98004
98004
98001
Worzyk
FH Anhalt
Jutta
Emil
Fritz
Anna
Else
Hans
Hans
Jutta
WH1
WH1
WH4
WH5
WH2
WH4
WH4
WH1
M ath
Prog
DatOrg
M ath
Prog
DBS1
DBS1
Prog
Inf
FÜ
Inf
FÜ
IM
Inf
IM
Inf
Sem Regel Note
2
4
4
2
4
2
2
2
9
8
9
8
10
9
10
9
Datenbanksysteme für FÜ SS 2000
Seite 4 - 22
1.3
1.7
2.0
4.0
2.3
4.7
2.0
2.7
Normalisieren
Schlüsel suchen :
M atr
M atr
98001
98002
98003
97001
97002
98004
Worzyk
FH Anhalt
Name
Jutta
Emil
Fritz
Anna
Else
Hans
Addr
WH1
WH1
WH4
WH5
WH2
WH4
Stg.
Inf
FÜ
Inf
FÜ
IM
IM
Sem
2
4
4
2
4
2
Regel
9
8
9
8
10
10
98001
98002
98003
97001
97002
98004
98004
98001
Vorlesung
M ath
Prog
DatOrg
M ath
Prog
DBS1
DBS1
Prog
Stg
Note
Inf
FÜ
Inf
FÜ
IM
Inf
IM
Inf
1.3
1.7
2.0
4.0
2.3
4.7
2.0
2.7
Datenbanksysteme für FÜ SS 2000
Seite 4 - 23
Normalisieren
Transitive Abhängigkeiten auflösen :
M atr
M atr
98001
98002
98003
97001
97002
98004
Worzyk
FH Anhalt
Name
Jutta
Emil
Fritz
Anna
Else
Hans
Adr
WH1
WH1
WH4
WH5
WH2
WH4
Stg.
Inf
FÜ
IM
Regel
9
8
10
Stg.
Inf
FÜ
Inf
FÜ
IM
IM
Sem
2
4
4
2
4
2
98001
98002
98003
97001
97002
98004
98004
98001
Vorlesung
M ath
Prog
DatOrg
M ath
Prog
DBS1
DBS1
Prog
Note
1.3
1.7
2.0
4.0
2.3
4.7
2.0
2.7
Datenbanksysteme für FÜ SS 2000
Seite 4 - 24
Normalisieren
Normalize until it hurts
Denormalize until it works
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 25
Zusammenfassung
• Normalisieren ist eine Bottom-Up Methode zum
strukturieren der Daten
• Die 3NF hat keine funktionalen und transitiven
Abhängigkeiten
Worzyk
FH Anhalt
Datenbanksysteme für FÜ SS 2000
Seite 4 - 26

Schlüssel