05-Normalisierung

Download Report

Transcript 05-Normalisierung

Relationaler Datenbankentwurf (II)
Normalformenlehre
Prof. Dr. H. Faeskorn-Woyke u.a.
1
Funktionale Abhängigkeiten (1)
X, Y Teilmengen von Attributen einer Relation R.
Y heißt funktional abhängig von X, wenn für alle Tupel r, s aus R
gilt
aus ProjX(s) = ProjX(r) folgt stets: ProjY(s) = ProjY(r)
oder anders:
Alle Zeilen, deren Wert in X übereinstimmt, stimmen auch bezüglich
ihres Wertes in Y überein.
X Y liest man “X bestimmt Y”,
Y ist funktional abhängig von X
ProjX(s) bezeichnet die Projektion von s auf X.
Prof. Dr. H. Faeskorn-Woyke u.a.
2
Funktionale Abhängigkeiten (2)
Kun_Nr
Nachname
Vorname
G.
Ort
Strasse
TelefonNr
1
Tholler
Andreas
m
Köln
Belaw eg
0221/956788
2
Falk
Bernhardt
m
Köln
Auf dem Hügel
0221/2345690
3
Müller
Tobias
m
Köln
Bennst r
0221/5566123
4
Franz
Helga
w
Köln
Bahnhofst r.
0221/5566901
5
Sündbald
Hannelore
w
Gummersbach
Luisenst r
02261/4588
6
Wal
Birgit
w
Gummersbach
Löh
02261/4471
7
Tisch
Hart mut
m
Gladbeck
Agathastr.
02271/75613
Prof. Dr. H. Faeskorn-Woyke u.a.
3
Eindeutiger Schlüssel
Eine Attributkombination K wird eindeutiger Schlüssel
der Relation
1)
2)
R1A1 ,..., An  genannt, wenn

K  A ,..., An

A ,..., A  ist von keiner Teilmenge von K
1
1
n
funktional abhängig ist.
Prof. Dr. H. Faeskorn-Woyke u.a.
4
Eindeutiger Schlüssel
Kun_Nr Nachname
Vorname
G.
Ort
Strasse
TelefonNr
1
Tholler
Andreas
m
Köln
Belaweg
0221/956788
2
Falk
Bernhardt
m
Köln
Auf dem Hügel
0221/2345690
3
Müller
Tobias
m
Köln
Bennstr
0221/5566123
4
Franz
Helga
w
Köln
Bahnhofstr.
0221/5566901
5
Sündbald
Hannelore
w
Gummersbach
Luisenstr.
02261/4588
6
Wal
Birgit
w
Gummersbach
Löh
02261/4471
7
Tisch
Hartmut
m
Gladbeck
Agathastr.
02271/75613
Eindeutiger
Schlüssel
Eindeutiger
Schlüssel
Prof. Dr. H. Faeskorn-Woyke u.a.
Eindeutiger
Schlüssel
5
Eindeutiger Schlüssel
Prof. Dr. H. Faeskorn-Woyke u.a.
2. Beispiel: Relation Auftragspositionen
TNr
AuftragsNr
Menge
1
1
1
31
1
2
31
2
2
57
2
1
60
2
1
31
3
10
55
3
1
58
4
1
56
5
1
57
5
12
58
5
18
1
6
120
31
6
130
6
Andere Schlüsselbegriffe (1)
• Eindeutiger Schlüssel
• Primärschlüssel
– Jede Relation besitzt genau einen Primärschlüssel
•
•
– ein eindeutiger Schlüssel wird auserwählt
Fremdschlüssel
– ist Primärschlüssel in einer anderen Relation
Zweitschlüssel
– dienen zum schnellen Zugriff über Spalten, die nicht zum
Primärschlüssel gehören
– Suchbedingungen
– Join-Spalten
Prof. Dr. H. Faeskorn-Woyke u.a.
7
Andere Schlüsselbegriffe (2)
Bereits
gezahlt
Bestelldatum
Lieferdatum
3
30.11.06
07.10.06
06.11.06
2
12
30.11.06
07.10.06
27.10.06
Angebot
5
12
30.11.06
07.10.06
27.10.06
4
Auftrag
2
13
30.11.06
07.10.06
27.10.06
5
Ange bot
3
27
30.11.06
07.10.06
27.10.06
6
Auftrag
2
3
30.11.06
07.10.06
27.10.06
AuftragsNr
Typ
Kun_Nr
1
Auftrag
1
2
Auftrag
3
Primärschlüssel
Prof. Dr. H. Faeskorn-Woyke u.a.
Ang_Nr
Zweitschlüssel
..........
Fremdschlüssel
8
Erläuterungen zu den Schlüsseln
• Künstliche Schlüssel- Surrogate Keys
• Performancegewinne und Verluste durch Zweitschlüssel
– Gewinne beim Lesen
– Verluste beim Schreiben
• Größe der Tabellen bei Zweitschlüsseln: > 10.000 Tupel
• Fremdschlüssel oft Zweitschlüssel
Prof. Dr. H. Faeskorn-Woyke u.a.
9
Normalformen
Schlechte Datenbankschemas sind gekennzeichnet durch:
•
Viele Redundanzen
•
Unübersichtlichkeit
•
Potentielle Inkonsistenz
•
schwer zu handhaben
• Einfügeanomalien
•
Löschanomalien
Prof. Dr. H. Faeskorn-Woyke u.a.
10
Normalformen (2)
1. Normalform
2. Normalform
3. Normalform
weitere
Normalformen
Prof. Dr. H. Faeskorn-Woyke u.a.
11
1. Normalform (1NF)
Eine Relation
R ist (1NF),
wenn
alle Attribute
nur atomare
Werte
enthalten.
VerkaufsPreis
JahresUmsatz
Lief_Nr
ZeitStempel
Rocky Mountain Element Race Typ Mountainbike
3500
200
1, 2
06.10.06
31
Herrenrad GT-LTS 18
Rennrad
3500
400
1, 2, 3
06.10.06
54
Klapprad Prompton P3
Klapprad
1600
180
2
06.10.06
55
CANNONDALE FSL
Mountainbike
3700
80
3
06.10.06
56
HERCULES NEPA
Trekkingrad
1700
80
1
06.10.06
57
Steppenwolf TAO
Mountainbike
1900
80
2
06.10.06
58
SWITCHBACK AGENT
Jugendrad
806
80
2, 3
06.10.06
59
STEVENS R.P.R.2 RX100 8FACH
Rennmaschine
1800
80
1,3
06.10.06
60
Scott ATACAMA TOUR
Crossrad
2306
80
1
06.10.06
61
ROTWILD RCC-03
Mountainbike
3406
80
2
06.10.06
TNr
Bezeichnung
1
Prof. Dr. H. Faeskorn-Woyke u.a.
Artikel_Typ
12
2. Normalform (2NF)
Eine Relation R mit Primärschlüssel S ist (2NF), wenn sie
(1NF) ist und jedes Nicht-Schlüssel-Attribut funktional
abhängig vom Primärschlüssel S ist.
Nichtschlüsselattribute
Zerlegung
Primärschlüssel
Teilschlüssel 1 Teilschlüssel 2
Teilschlüssel 1
Teilschlüssel 2
Prof. Dr. H. Faeskorn-Woyke u.a.
Teilschlüssel 1 Teilschlüssel 2
Nichtschlüsselattribute
13
Beispiel zu 2NF
Ang_
Nr
Name
Ort
Abt_
Nr
Abt_
Name
TNr
Bezeichnung
Zeit
101
Paul
Bonn
1
Chemie
11
Kali
60
101
Paul
Bonn
1
Chemie
12
Farbe
40
102
Hugo
Köln
2
Kunststoff
13
PVC
20
Ang_Nr
Name
Ort
Abt_Nr
Abt_Name
101
Paul
Bonn
1
Chemie
102
Hugo
Köln
2
Prof. Dr. H. Faeskorn-Woyke u.a.
Kunststoff
Ang_Nr
TNr
Zeit
TNr
Bezeichnung
101
11
60
11
Kali
101
12
40
12
Farbe
102
13
20
13
PVC
14
Transitive Abhängigkeit
X, Y und Z paarweise verschiedene
Attributkombinationen einer Relation
Z heißt transitiv abhängig von X, wenn Y funktional
abhängig von X und Z funktional abhängig von Y ist,
aber X nicht funktional abhängig von Y ist.
Also X Y Z, aber nicht Y X.
Ang_Nr Abt_Nr Abt_Name
Prof. Dr. H. Faeskorn-Woyke u.a.
Ang_Nr
Name
Ort
Abt_Nr
Abt_Name
101
Paul
Bonn
1
Chemie
102
Hugo
Köln
2
Kunststoff
15
3. Normalform (3NF)
Eine Relation R ist 3 NF, wenn sie
• (1NF) und (2NF) ist
• kein Nicht-Schlüsselattribut transitiv abhängig von
einem Schlüsselattribut ist.
1NF
Prof. Dr. H. Faeskorn-Woyke u.a.
2NF
3NF
16
3. Normalform
Schlüssel
Zerlegung
X
Nichtschlüsselattribute
Y
Z
Schlüssel
Nichtschlüsselattribute
funktionelle
Abhängigkeit
Prof. Dr. H. Faeskorn-Woyke u.a.
Schlüssel
neu
Nichtschlüssel-attribute
transitive
Abhängigkeit
17
Beispiel: 3. Normalform
Ang_Nr
Name
Ort
Abt_Nr
Abt_Name
101
Paul
Bonn
1
Chemie
102
Hugo
Köln
2
Kunststoff
Ang_Nr
Name
Ort
Abt_Nr
Abt_Nr
Abt_Name
101
Paul
Bonn
1
1
Chemie
102
Hugo
Köln
2
2
Kunststoff
Prof. Dr. H. Faeskorn-Woyke u.a.
18
Nachteile bei Verletzung der Normalformen
• unnötiger Speicherplatzverbrauch
• Änderungsanomalie
• Einfügeanomalie
• Fehlerhäufigkeit ist erhöht
• Gefahr von Inkonsistenz
Prof. Dr. H. Faeskorn-Woyke u.a.
19
Nutzen und Grenzen des Normalisierungsverfahrens
• Normalisierung geht von vorhandenem Datenvolumen
aus.
•
R-Modell ist intuitiv oft schon in dritter Normalform
• Gut für Reorganisation
•
Performanceverluste durch große Anzahl von Tabellen
•
Widerspricht der Objektorientierung
• manchmal ist Verletzung der Normalformen gewollt
•
kein Dogma
Prof. Dr. H. Faeskorn-Woyke u.a.
20