Sie sind auf Seite 1von 78

Datenbanken

-
Problemstellung
Funktionale Abhngigkeit
Ableitungsregeln fr funktionale
Abhngigkeiten
Algorithmen fr funktionale
Abhngigkeiten
Normalformen bezgl. funktionaler
Abhngigkeiten
BOYCE-CODD Normalform
Mehrwertige Abhngigkeiten und
4. Normalform

Formaler
Datenbankentwurf





KAPITEL 5:
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf 5-1
Datenbanken
-
PROBLEMSTELLUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-2
formale Kriterien fr die "Gte" eines Relationenschemas
Vermeidung von Redundanz
Vermeidung von Anomalien, die bei schlechtem Entwurf
auftreten

Beispielsrelation:

Vorrat (Teilnr., Lager, Menge, Lageradresse)

101 1 25 Waagg. 10
102 2 5 Griesg. 12
102 1 10 Waagg. 10
105 4 23 Heuplatz 12

Datenbanken
-
a) Redundanz:
dieselben Daten sind mehrfach vorhanden
Bsp.: die Adresse eines Lagers

b) Einfgeanomalie (insertion anomaly)
Bekannte Daten knnen nicht eingefgt werden, weil
andere Daten unbekannt (nicht vorhanden) sind.
Bsp.: neues Lager 5 am Marktplatz 13 hat
noch keine Teile
PROBLEMSTELLUNG (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-3
Datenbanken
-
c) Entfernungsanomalie (deletion anomaly)
Beim Entfernen einer Information geht weitere Information verloren
Bsp.: Wenn der letzte Teil aus einem Lager entfernt wird, gehen
auch die Daten ber das Lager verloren.

d) nderungsanomalie (update anomaly)
Wenn sich ein Tatbestand ndert, so mssen mehrere Tupel gendert
werden.
Bsp.: Wenn das Lager 1 auf eine neue Adresse verlegt wird, so
muss diese Adresse bei jedem Teil, der im Lager vorrtig ist,
gendert werden.
PROBLEMSTELLUNG (3)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-4
Datenbanken
-
Vermeiden (bzw. Reduzieren) der Anomalien durch inhaltserhaltende
Transformationen (insbesondere Zerlegung von Relationen) in
sogenannte Normalformen (Normalisierungstheorie).

Bsp.: Zerlegung der Relation Vorrat in 2 Relationen

Vorrat (Teilnr., Lager, Menge)

101 1 25
102 2 5
102 1 10
105 4 23


Lager (Lager, Lageradresse)

1 Waagg. 10
2 Griesg. 12
4 Heuplatz 12

LSUNGSANSATZ
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-5
Datenbanken
-
Funktionale Abhngigkeiten als Integrittsbedingungen
Integrittsbedingungen sind Einschrnkungen im Zustandsraum
einer Datenbank.
Funktionale Abhngigkeiten sind besondere
Integrittsbedingungen, die fr die Normalisierung verwendet
werden.
Ist eine funktionale Abhngigkeit als statische Einschrnkung
auf einem Schema R definiert, so muss jede Relation r ber R
diese Einschrnkung zu jedem Zeitpunkt erfllen
FUNKTIONALE ABHNGIGKEIT
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-6
Datenbanken
-
(functional dependency, FD)
Sei R ein Relationenschema, seien X und Y Teilmengen von R.
Eine Relation r (R) erfllt die funktionale Abhngigkeit X Y,
wenn fr je zwei Tupel u, v e r (R) gilt: u (X) = v (X) u (Y) = v (Y).
X heit linke Seite, Y rechte Seite der FD X Y.
Bsp.: F = {AngNr AbtNr, AbtNr Ort}

R1 = (AngNr AbtNr Ort) F erfllt
110 1 Linz
112 2 Wien
113 1 Linz

R2 = (AngNr AbtNr Ort) F nicht erfllt
110 1 Linz
112 2 Wien
110 2 Graz

DEFINITION: FUNKTIONALE ABHNGIGKEIT
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-7
Datenbanken
-
Oberschlssel
X ist Oberschlssel in R, wenn gilt:
X R
Schlsselkandidat (Schlssel)
K ist Schlsselkandidat in R, wenn gilt:
K R, - Z: Z c X . Z R
Primes Attribut
Ein Attribut, das in mindestens einem Schlssel
vorkommt, heit prim in R oder Schlsselattribut in R.

SCHLSSEL
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-8
Datenbanken
-
Problemstellung
Gegeben sei eine Menge F von funktionalen Abhngigkeiten.
Welche zustzlichen Abhngigkeiten f werden durch F impliziert
(F f)?
Bsp.: aus F = {AngNr AbtNr, AbtNr Ort}
folgt auch: AngNr Ort
Gltigkeitsbegriff, modelltheoretisch
Ableitbarkeitsbegriff, beweistheoretisch
Ziel: Axiomatisierung derart, dass F f F f

ABLEITUNGSREGELN FR
FUNKTIONALE ABHNGIGKEITEN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-9
Datenbanken
-
Sei R ein Relationsschema und X, Y, Z, W _ R

(A1) Reflexivitt (reflexivity)
Y _ X X Y
(A2) Erweiterung (augmentation)
X Y, Z _ W XW YZ
(A3) Transitivitt
X Y, Y Z X Z

AXIOMENSYSTEM VON ARMSTRONG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-10
Datenbanken
-
Satz:

Die Axiome (A1) bis (A3) sind

korrekt (sound),
d.h. sie leiten von F nur wirklich gltige FD ab (F f F f), und

vollstndig (complete),
d.h. sie erzeugen bei wiederholter Anwendung alle von
F implizierten Abhngigkeiten. (F f F f).



VOLLSTNDIGKEITSSATZ
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-11
Datenbanken
-
Weitere ntzliche Ableitungsregeln, die aus den Armstrong
Axiomen hergeleitet werden knnen:

(A4) Vereinigung (additivity)
X Y, X Z X YZ
(A5) Pseudotransitivitt (pseudotransitivity)
X Y, WY Z WX Z
(A6) Zerlegung (projectivity)
X Y, Z _ Y X Z


WEITERE ABLEITUNGSREGELN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-12
Datenbanken
-
Die Menge aller funktionalen Abhngigkeiten, die von F auf R
impliziert werden, heit die Hlle (closure) von F auf R,
geschrieben F
+
R
. Ist die Attributmenge aus dem Kontext klar,
wird nur F
+
geschrieben.
F
+
= {f | F f}

Die Hlle X
+
einer Menge von Attributen X _ R bezglich F
ist die Menge aller Attribute A, sodass X A aus F
+
ist.
X
+
= {A | (X A) e F
+
}

HLLE VON FUNKTIONALEN ABLEITUNGEN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-13
Datenbanken
-
R = {A, B, C, D} F = {A C, B D}

Wir wollen zeigen, dass AB ein Schlssel fr R ist, d.h. wir mssen
zeigen, dass {AB}
+
= R

1. A C (gegeben)
2. AB ABC (Erweiterung von (1) durch AB)
3. B D (gegeben)
4. ABC ABCD (Erweiterung von (3) mit (ABC))
5. AB ABCD (Transitivitt angewandt auf (2) und (4))

d.h. {AB}
+
= R

BEISPIEL HLLE
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-14
Datenbanken
-
Gegeben: F Menge funktionaler Abhngigkeiten
X Menge von Attributen
Gesucht: Vollstndige Menge der Attribute X
+
,
die sich aus X durch F ableiten lassen


CLOSURE (X, F)
{input: X ... Attributmenge, X _ R
F ... Menge von FDs ber R
output: X
+
}

X
+
:= X
while - (Y Z) e F mit Y _ X
+
und Z e X
+

do
X
+
:= X
+
Z
end
return (X
+
)

ALGORITHMUS ZUR HLLENBESTIMMUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-15
Datenbanken
-
Beispiel:
R = {A,B,C,D,E,F,G}
FD = {ABC, DEF, AGH, GB}
Gesucht A
+



Schritt F A
+

1 A
2 AGH GH
3 GB B
4 ABC C
A
+
= {AGHBC}




BEISPIEL HLLENBESTIMMUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-16
Datenbanken
-
Das Membership-Problem fr funktionale
Abhngigkeiten


Problemstellung:
Gegeben sei eine Menge von funktionalen Abhngigkeiten F auf R.
Welche zustzlichen Abhngigkeiten werden durch F impliziert?

Ist X Y Element von F
+
?


ALGORITHMEN FR
FUNKTIONALE ABHNGIGKEITEN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-17
Datenbanken
-
MEMBER (X Y, F)
{input: X Y ... FD,
F ... Menge von FDs
output: true, wenn F X Y
false, sonst }

return (Y _ CLOSURE (X, F))

CLOSURE (X, F)
{input: X ... Attributmenge, X _ R
F ... Menge von FDs ber R
output: X
+
}

X
+
:= X
while - (Y Z) e F mit Y _ X
+
und Z e X
+

do
X
+
:= X
+
Z
end
return (X
+
)
MEMBERSHIP-ALGORITHMUS
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-18
Datenbanken
-
R
1
=( {A, B, C, D, E},{C A, BD A, D BC, D BC, A E} )
Prfe mit Hilfe des Membership Algorithmus:
AC B e R
1
+

BD E e R
1
+


B _ CLOSURE (AC, R
1
)
{AC}
+
= {A,C,E} nicht enthalten

E _ CLOSURE (BD, R
1
)
{BD}
+
= {A,B,C,D,E} enthalten






BEISPIEL MEMBERSHIP-ALGORITHMUS
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-19
Datenbanken
-
Definition: quivalenz
Zwei Mengen funktionaler Abhngigkeiten F und G sind
quivalent (F G), wenn F
+
= G
+
gilt. F heit dann
berdeckung (cover) von G.

Algorithmus: F G ?
(1) fr alle g e G : F g ?
(2) fr alle f e F : G f ?
QUIVALENZ VON MENGEN
FUNKTIONALER ABHNGIGKEITEN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-20
Datenbanken
-
F = {AB C, A B, B C, A C}
G = {AB C, A B, B C}

Frage: Ist F G ?

(1) Prfe fr alle g e G; ob F g erfllt
(2) Prfe fr alle f e F; ob G f erfllt

(A C) e G
+
, d.h. C e A
+
bzgl. G
A
G
+
= {A, B, C}

daher: F G.

BEISPIEL QUIVALENZ
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-21
Datenbanken
-
X
1
= {C A, CE B, E CD, F B}
X
2
= {C A, E CD, F B , E A, E B}

X
1
X
2
?

C A, E CD, F B sind gleich, zu prfen sind daher:

1) Ist CE B in X
2
+
?
d.h. wir bilden: ((CE)
X
2
)
+
= {A,B,C,D,E}
B ist enthalten OK
BEISPIEL QUIVALENZ (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-22
Datenbanken
-
2) Ist E A in X
1
+
?
D.h. wir bilden: (E
X
1
)
+
= {B,A,C,D,E}
A ist enthalten OK

3) Ist E B in X
1
+
?
D.h. wir bilden: (E
X
1
)
+
= {B,A,C,D,E}
B ist enthalten OK

Die Menge X
1
ist quivalent zu X
2
.

BEISPIEL QUIVALENZ (3)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-23
Datenbanken
-
Eine Menge von funktionalen Abhngigkeiten F heit minimal,
wenn:

(1) F kanonisch ist
Fr jede FD aus F besteht die rechte Seite nur aus einem Attribut.

(2) F nicht redundant ist
Fr keine FD (X A) aus F ist F - {X A} F

(3) keine FD aus F enthlt berflssige Attribute auf der linken Seite
Fr keine FD (X A) aus F und keine echte Teilmenge Z von X gilt:
(F - {X A}) {Z A} F

DEFINITION: MINIMALE FD
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-24
Datenbanken
-
Satz:
Zu jeder Menge von funktionalen Abhngigkeiten gibt es
eine minimale berdeckung.

Algorithmen:
a) Test auf redundante Abhngigkeiten
(Ist X Y in F redundant?)
MEMBER (X Y, F - {X Y})?

b) Test auf berflssige Attribute
(Ist B in XB Y berflssig?)
MEMBER (X Y, F)?

EXISTENZ MINIMALER BERDECKUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-25
Datenbanken
-
Finde minimale berdeckung fr G = {A BC, B C, AB D}

(1) Mache G kanonisch:
G' = {A B, A C, B C, AB D}

(2) berprfe auf Redundanz:
A B e (G' - {A B})
+
? nein
A C e (G' - {A C})
+
? ja
eliminiere A C : G'' = {A B, B C, AB D}
B C e (G" - {B C})
+
? nein
AB D e (G" - {AB D})
+
? nein


BEISPIEL MINIMALE BERDECKUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-26
Datenbanken
-
(3) berprfe auf berflssige Attribute:

Ist A in AB D berflssig?
B D e G"
+
? B
+
= {C} nein

Ist B in AB D berflssig?
A D e G"
+
? A
+
= {B C D} ja, eliminiere B

G''' = {A B, B C, A D}

G''' ist eine minimale berdeckung von G.

BEISPIEL MINIMALE BERDECKUNG (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-27
Datenbanken
-
VERFAHREN ZUR SCHLSSELBESTIMMUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-28
X Schlsselkandidaten
X Oberschlssel
Vollstndiger Teilmengenverband


Beispiel:
R = {A,B,C,D}, {C D, B C,
B A, AD B}
Schlssel: B, AC, AD



Datenbanken
-
Gegeben: R = (S, F)
Gesucht: alle Schlssel fr R

Methode:
1. Ermittle folgende Teilmengen von S
N = alle Attribute von S, die in FDs aus F nicht
vorkommen
R = alle Attribute von S, die in FDs aus F nur
auf der rechten Seite vorkommen
L = alle Attribute von S, die in FDs aus F nur auf
der linken Seite vorkommen
M = S - N - R L

Fr alle Schlssel muss gelten: K = N L H mit H _ M


SYSTEMATISCHE ERMITTLUNG
ALLER SCHLSSEL
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-29
Datenbanken
-
2. Schicht 0: S' = N L M
3. Schicht 1: Alle gltigen Teilmengen X von S' mit n 1 Attributen.
berprfe fr jedes X : X S' - X.
Wenn ja: Oberschlssel.
Wenn nein: Nichtschlssel.

4. Schicht i: Enthlt alle gltigen Teilmengen X von S' mit
n - i Attributen, die Teilmenge eines Oberschlssels,
aber nicht Teilmenge eines Nichtschlssels sind.

5. Generiere Schichten, solange Oberschlssel vorhanden.
6. Schlssel sind alle Attributmengen K, die selbst Oberschlssel
sind und fr die gilt, dass keine Teilmenge Oberschlssel ist.
SYSTEMATISCHE ERMITTLUNG
ALLER SCHLSSEL (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-30
Datenbanken
-
R = ({A, B, C, D, E, F, G}, {AB EG, DE C, AC BD})

Ermittle folgende Teilmengen von S: N = {F}
R = {G}
L = {A}
M= {B, C, D, E}

Schicht 0
A B C D E F







Schlssel: A C F, A B D F, A D E F

Schicht 2
A B C F D E
A B D F E C
A B E F 0
A C D F B E
A C E F B D
A D E F C B

BEISPIEL SCHLSSELERMITTLUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-31
Schicht 1
A B C D F E
A B C E F D
A B D E F C
A C D E F B

Schicht 3
A C F B D E
A D F 0


Datenbanken
-
Geben: Relation R(A,F)
o A Menge der Attribute in R
o F Menge der funktionalen Abhngigkeiten
o Jede Abhngigkeit a
i
e A hat die Gestalt X Y mit X,Y A

Mengen N, L, R, B fr die gilt:
o Jedes a
i
e A ist Element in genau einer dieser Menge
o In der Menge N sind alle Attribute enthalten, die in keiner funktionalen
Abhngigkeit vorkommen

oder



o In der Menge M sind alle Attribute enthalten, die sowohl auf der linken als
auch auf der rechten Seite von funkt. Abhngigkeiten vorkommen

und





SCHLSSELBESTIMMUNG MITTELS
BAUMVERFAHREN BOTTOM UP
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-32
Datenbanken
-

o In der Menge L sind alle Attribute enthalten, die nur auf
der linken Seite von funkt. Abhngigkeiten vorkommen

und



o In der Menge R sind alle Attribute enthalten, die nur auf
der rechten Seite von funkt. Abhngigkeiten vorkommen

und




SCHLSSELBESTIMMUNG MITTELS
BAUMVERFAHREN BOTTOM UP (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-33
Datenbanken
-
1) Die Wurzel des Baumes ist N L
2) Prfe ob Wurzel Schlsseleigenschaft hat. Wenn ja, ist das Verfahren
beendet
3) Fr jedes Element aus M wird ein Nachfolgeknoten der Wurzel
gebildet
4) Jeder Knoten wird auf Schlsseleigenschaft berprft. Eigenschaft
vorhanden? Knoten ist ein Blattknoten
5) Alle verbliebenen Knoten werden um ein noch nicht verwendetes
Element aus M erweitert. Sollte ein Knoten Attribute enthalten, die
schon berprft worden sind, kann er gestrichen werden und wird
nicht weiter verfolgt. Der Baum wird wieder berprft und erweitert
(Schritt 4 + 5)
6) Das Verfahren endet, wenn alle Knoten Blattknoten sind, d.h. sie
haben Schlsseleigenschaft oder wurden gestrichen

SCHRITTE DES BAUMVERFAHRENS
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-34
Datenbanken
-
Beispiel:
Gegeben ist das Relationenschema R(A, F)
R = ({A,B,C,D,E,F,G}, {A CD, C F, FA DB, G C,
A EA, DC AB})
Dies ergibt die Mengen:
R = {B,E}
L = {G}
N = {}
M = {A,C,D,F}
BEISPIEL BAUMVERFAHREN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-35
Datenbanken
-
BEISPIEL BAUMVERFAHREN (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-36
Datenbanken
-
BEISPIEL BAUMVERFAHREN (3)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-37
Datenbanken
-
BEISPIEL BAUMVERFAHREN (4)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-38
Datenbanken
-
1. Normalform
Definition: 1NF
Ein Relationenschema R ist in 1. Normalform, wenn die
Wertebereiche aller Attribute von R atomar sind.
D.h.: Die Attributwerte drfen nicht strukturiert (komplexe Werte) sein.

2. Normalform
Definition: 2NF
Ein Relationenschema R ist in 2. Normalform, wenn es in 1NF ist
und wenn jedes nicht prime Attribut von keiner Teilmenge eines Schlssels
funktional abhngig ist.
NORMALFORMEN BEZGL.
FUNKTIONALER ABHNGIGKEITEN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-39
Datenbanken
-
Wenn ein nichtprimes Attribut von einem Teil eines
Schlssels abhngig ist, so fhrt das zu Anomalien.

Bsp.: R = {Teil, Lager, Menge, Lageradresse}
F = {Teil, Lager Menge, Lager Lageradresse}

Schlssel: Teil, Lager
nicht in 2NF wegen Lager Lageradresse

Lsung: Aufspalten in 2 Relationen
R
1
: {Teil, Lager, Menge} mit {Teil, Lager Menge}
R
2
: {Lager, Lageradresse} mit {Lager Lageradr.}

INTUITION
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-40
Datenbanken
-
Definition: transitive Abhngigkeit
Gegeben sei eine Menge funktionaler Abhngigkeiten F auf R,
X _ R, A e R.
A ist transitiv abhngig von X, wenn es eine Attributmenge
Y c R gibt, sodass X Y e F
+

und Y A e F
+
sind und
Y X e F
+
, A e XY gilt.

3. Normalform
Definition: 3NF
Ein Relationenschema R in 1NF ist in 3NF, wenn kein nicht-primes
Attribut von einem Schlssel in R transitiv abhngig ist.
3. NORMALFORM
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-41
Datenbanken
-
Bsp.: R = {AngNr, AngName, AbtNr, Ort}
F = {(AngNr AngName, AbtNr), (AbtNr Ort)}

Schlssel: AngNr
Nicht in 3NF wegen AngNr AbtNr Ort

Lsung: Aufspalten
R
1
= {AngNr, Name, AbtNr} mit {AngNr Name, AbtNr}
R
2
= {AbtNr, Ort} mit {AbtNr Ort}

BEISPIEL 3NF
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-42
Datenbanken
-
Sei R ein Relationenschema mit Attributmenge S und
funktionalen Abhngigkeiten F.
R = (S, F).

Definition: Datenbankschema
Ein relationales Datenbankschema ist eine Menge von
Relationenschemata: R = {R
1
, ..., R
n
}

Definition: xNF
Ein Datenbankschema R ist in 1NF, 2NF, 3NF, wenn jedes
Relationenschema in R in 1NF bzw. 2NF bzw. 3NF ist.


ZERLEGUNG VON RELATIONENSCHEMATA
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-43
Datenbanken
-
Eine Zerlegung (decomposition) eines Relationenschemas R = (S, F)
ist eine Menge von Relationenschemata {R
1
= (S
1
, F
1
), R
2
= (S
2
, F
2
), ..., R
n
= (S
n
, F
n
)},
wobei
(1) S = S
1
S
2
... S
n
(2) F
i
{X Y | X Y e F
+
, XY _ S
i
}
d.h. F
i
ist die Projektion der Abhngigkeitsmenge F auf S
i
(F
i
= F [S
i
])
(3) (F
1
F
2
... F
3
)
+
_ F
+


Die Zerlegung heit abhngigkeitstreu (dependency preserving), wenn
(F
1
F
2
... F
n
)
+
= F
+

Die Zerlegung heit verbundtreu (verlustfrei, lossless), wenn fr jede Relation r(S) gilt:
r(S) = r(S
1
) r(S
2
) ... r(S
n
)

DEFINITION: ZERLEGUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-44
Datenbanken
-
Sei R = ({A B C D E}, {A BCD, CD E, EC B})
ein Relationenschema

Eine mgliche Zerlegung von R ist {R
1
, R
2
} mit
R
1
= ({A B C D}, {A BCD, CD B})
R
2
= ({C D E}, {CD E})

Die Abhngigkeit EC B wird nicht durch die entweder auf R
1

oder R
2
anwendbaren FD aus F impliziert
die Zerlegung ist nicht abhngigkeitstreu


BEISPIEL NICHT ABHNGIGKEITSTREUE
ZERLEGUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-45
Datenbanken
-
R = ({A B C}, {A B, B C})
wird zerlegt in
Q = ({AB}, {A B}),
P = ({BC}, {B C})

Natural Join auf Q und P:
r (A B C) q (A B) p (B C) = r' (A B C)
a1 b1 c1 a1 b1 b1 c1 a1 b1 c1
a2 b2 c1 a2 b2 b2 c1 a2 b2 c1

BEISPIEL VERBUNDTREUE ZERLEGUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-46
Datenbanken
-
R = ({A B C}, {A B, C B})
wird zerlegt in
Q = ({A B}, {A B}),
P = ({B C}, {C B})

Natural Join auf Q und P:
r (A B C) q (A B) p (B C) = r' (A B C)
a1 b1 c1 a1 b1 b1 c1 a1 b1 c1
a2 b1 c2 a2 b1 b1 c2 a1 b1 c2
a2 b1 c1
a2 b1 c2

BEISPIEL NICHT VERBUNDTREUE
ZERLEGUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-47
Datenbanken
-
Satz: Eine Zerlegung von
R = (S, F) in {R
1
= (S
1
, F
1
), R
2
= (S
2
, F
2
), ... R
n
= (S
n
, F
n
)}
ist verbundtreu, wenn bzgl.
F' = F
1
F
2
... F
n
,
die Hlle eines der generierten Relationenschemata S
i
+
gleich S ist.

Satz: Jedes Relationenschema kann verlustfrei und abhngigkeitstreu in ein
2NF und 3NF Schema zerlegt werden.

Satz: 3NF 2NF

Zu einem Schema kann es mehrere verlustfreie und abhngigkeitstreue Zerlegungen
geben. Es ist darauf zu achten, eine semantisch gute Zerlegung zu finden!


THEOREME FR ZERLEGUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-48
Datenbanken
-
Verbundtreue Zerlegung in 3NF
gegeben: Relationenschema R = (S, F)
gesucht: verbundtreue Zerlegung

Dekompositions-Algorithmus 3NF:
Suche FD Y A, die 3NF verletzt (Y nicht Schlssel, A nicht prim)
zerlege in
S
1
= S - A
S
2
= YA
wende Algorithmus auf S
1
und S
2
an.

ALGORITHMEN FR 3NF
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-49
Datenbanken
-
R = ({A B C D E} {AB C, D E, C DE})

Schlsselkandidaten: {AB}
C DE verletzt 3NF

Zerlegung in:
R
1
= ({A B C} {AB C})
R
2
= ({C D E} {C DE, D E})

BEISPIEL 1 DEKOMPOSITION
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-50
Datenbanken
-
R = {A,B,C,D,E,F,G,H,I,J}
F = {A GH, C A, B IJ, F B, FC D}
Schlssel: CEF

R
1
= ({A,B,C,D,E,F,I,J},{C A,CF D,B IJ,F B})
Schlssel: CEF, nicht 3NF
R
2
= ({A,G,H},{A GH}) Schlssel: A, in 3NF

R
1
=({B,C,D,E,F,I,J},{CF D,B IJ,F B})
Schlssel: CEF, nicht 3NF
R
12
=({A,C},{C A}) Schlssel: C, in 3NF
BEISPIEL 2 DEKOMPOSITION
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-51
Datenbanken
-
R
111
= ({B,C,D,E,F},{CF D, F B})
Schlssel: CEF, nicht 3NF
R
112
= ({B,I,J},{B IJ}) Schlssel: B, in 3NF

R
1111
= ({C,D,E,F},{CF D}) Schlssel: CEF, nicht 3NF
R
1112
= ({B,F},{F B}) Schlssel: F, in 3NF

R
11111
= ({C,E,F},{}) Schlssel: CEF, in 3NF
R
11112
= ({C,D,F},{CF D}) Schlssel: CF, in 3NF
BEISPIEL 2 DEKOMPOSITION (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-52
Datenbanken
-
Verbund- und abhngigkeitstreue Zerlegung in 3NF
Gegeben: Relationsschema R = (S, F)
Gesucht: verbund- und abhngigkeitstreue Zerlegung

1) Finde eine minimale berdeckung fr F
a) mache alle FD in F einfach =: F'
b) reduziere unntige Attribute der linken Seite =: F''
c) entferne redundante FDs =: F''' = H
2) Gruppiere H in eine Menge von H
i
,
wobei alle FD einer Gruppe dieselbe linke Seite haben.


3NF-SYNTHESEALGORITHMUS

(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-53
Datenbanken
-
3) Zusammenfassen von Gruppen,
deren linke Seiten wechselseitig abhngig sind.
Sei K
i
die linke Seite einer FD von H
i
H
i
' = {H
j
| K
i
K
j
und K
j
K
i
}
4) Relationsbildung je Gruppe
R
i
= (S
i
, F
i
) S
i
= {A B | A B e H
i
'}
F
i
= {A B e H | A, B e S
i
}
5) Wenn keine Relation einen Schlssel fr R enthlt, ergnze das Schema um:
R
0
= (K, {}),
wobei K ein Schlssel fr R = (S, F) ist.
6) Eliminiere alle Relationen,
die vollstndig in einer anderen Relation enthalten sind.



3NF-SYNTHESEALGORITHMUS (2)

(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-54
Datenbanken
-
R = {A,B,C,D,E,F,G,H,I,J}
F = {A GH, C A, B IJ, F B, CF D, G AI}

1) F ist bereits die minimale berdeckung;
Schlssel: CEF;

2) H
1
: A G, A H;
H
2
: C A;
H
3
: CF D;
H
4
: B I, B J;
H
5
: F B;
H
6
: G A, G I

3) H
1
und H
6
zusammenfassen; H
1
= A G, A H, G A, G I



BEISPIEL 1 SYNTHESEALGORITHMUS
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-55
Datenbanken
-
4) R
1
=({A,G,H,I},{A G, A H, G A, G I})
R
2
=({A,C},{C A}),
R
3
=({C,D,F},{CF D}),
R
4
=({B,I,J},{B I,B J}),
R
5
=({B,F},{F B})

5) R
0
= ({C,E,F},{})

6) keine Relation ist vollstndig in einer anderen enthalten.

BEISPIEL 1 SYNTHESEALGORITHMUS (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-56
Datenbanken
-
R = {A,B,C}, F = {AB C, C B}

1) F ist bereits minimal;
Schlssel: AB, AC;

2) H
1
= AB C;
H
2
= C B;

3) H
1
= H
1

H
2
= H
2
4) R
1
=({ABC},{AB C, C B})
R
2
=({BC},{C B})

5) R
1
enthlt Schlssel

6) R
2
wird eliminiert, da in R
1
enthalten.




BEISPIEL 2 SYNTHESEALGORITHMUS
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-57
Datenbanken
-
Definition: BCNF
Ein Relationenschema R = (S, F) ist in Boyce-Codd
Normalform (BCNF),
wenn fr alle FD X A gilt:
X S oder A e X.

Satz:
BCNF 3NF
Die BCNF ist strikter als 3NF fr Relationen mit mehreren,
zusammengesetzten, nichtdisjunkten Schlsselkandidaten.

BOYCE-CODD NORMALFORM
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-58
Datenbanken
-
R = ({Matr#, LVLeiter, LV}, {Matr# LV LVLeiter, LV-Leiter LV})

Die Abhngigkeit LVLeiter LV verletzt BCNF (aber nicht 3NF).

Zerlegung in:
R
1
= ({Matr#, LVLeiter}, )
R
2
= ({LVLeiter, LV}, {LVLeiter LV})

Diese Zerlegung in BCNF ist verbundtreu, aber nicht abhngigkeitstreu.

Bei Zerlegung in BCNF ist es nicht immer mglich, eine verbund- und
abhngigkeitstreue Dekomposition zu finden. In einem solchen Fall ist auf
Verbundtreue zu achten, auf Abhngigkeitstreue muss verzichtet werden.

BEISPIEL - BCNF
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-59
Datenbanken
-
Gegeben: Relationenschema R = (S, F)
Gesucht: Verbundtreue Zerlegung von R = (S, F) in BCNF
1) F := minimale berdeckung von F
2) Suche eine Abhngigkeit X Y, die BCNF verletzt:
X enthlt keinen Schlsselkandidaten und Y kommt nicht in X vor.
Existiert keine solche Abhngigkeit, ist das Schema in BCNF.
Gibt es eine solche Abhngigkeit, dann spalte R in 2 Schemata
R
1
= (S - Y, F
1
),
R
2
= (XY, F
2
)
wobei F
1
und F
2
die Projektion der von F
+
auf S - Y bzw. XY ist
F
1
+
= F
+
[S - Y]
F
2
+
= F
+
[XY]
3) Wende das Verfahren rekursiv auf R
1
und R
2
an.

VERBUNDTREUE ZERLEGUNG IN BCNF
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-60
Datenbanken
-
Projektion einer Menge von FDs

Gegeben: Relation R = (S, F) und Relation R
1
= (S
1
, F
1
), berechnet mit der Projektion R
1
=
L
(R)
Gesucht: Menge der FDs F
1
, die in R
1
gilt
1) Sei F
1
eine Outputmenge der FDs, die initial leer ist.
2) Berechne fr jede Menge der Attribute X _ S
1
die Hlle X
+
(auf Basis von F)
Fge alle nicht-triviale FDs X A zu F
1
hinzu, sodass A sowohl in X
+
als auch in S
1

vorkommt.
3) Minimalisiere F
1
:
a) Wenn es eine FD f e F
1
gibt, die von anderen FDs aus F
1
abgeleitet werden kann,
entferne f aus F
1
.
b) Sei Y B eine FD aus F
1
, wobei Y aus mindestens zwei Attributen besteht, und sei Z
eine Teilmenge von Y, wobei ein beliebiges Attribut aus Y entfernt wurde. Wenn sich
aus den FDs aus F
1
(inkl. Y B) Z B ableiten lsst, dann ersetze Y B mit Z B.
c) Wiederhole die Schritte a) und b) bis F
1
nicht mehr gendert werden kann.
VERBUNDTREUE ZERLEGUNG IN BCNF (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-61
Datenbanken
-
Die Menge aller nicht mehr zu zerlegenden
Subschemata in BCNF, die im Laufe dieses Verfahrens
erzeugt werden, ist eine Dekomposition des
ursprnglichen Schemas in BCNF.

VERBUNDTREUE ZERLEGUNG IN BCNF (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-62
Datenbanken
-
Schema U = ({C, T, H, R, S, G}, F)
Die Attribute haben folgende Bedeutung:
C: Course
T: Teacher
H: Hour
R: Room
S: Student
G: Grade

F enthlt folgende funktionale Abhngigkeiten
C T, HR C, HT R, CS G, HS R

Wie leicht zu sehen ist, ist HS der einzige Schlsselkandidat.

BEISPIEL - ZERLEGUNG IN BCNF
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-63
Datenbanken
-
Zerlegung:

U = ({C, T, H, R, S, G}, {C T, HR C, HT R, CS G, HS R})
bsartige Abhngigkeit: CS G

U
1
= ({C, T, H, R, S}, {C T, HR C, HT R, HS R}) Schlssel: HS
U
2
= ({C, S, G}, {CS G}) Schlssel: CS, ist in BCNF

Zerlegung U1: C T

U
11
= ({C, H, R, S}, {CH R, HR C, HS R}) Schlssel: HS
U
12
= ({C, T}, {C T}) Schlssel: C, ist in BCNF

BEISPIEL - ZERLEGUNG IN BCNF (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-64
Datenbanken
-
Zerlegung U11 CH R

U
111
= ({C, H, R}, {CH R, HR C}) Schlssel: CH, HR
U
112
= ({C, H, S}, {HS C}) Schlssel: HS

beide Schemata sind in BCNF

Die Zerlegung ist: (U
2
, U
12
, U
111
, U
112
)

BEISPIEL - ZERLEGUNG IN BCNF (3)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-65
Datenbanken
-
Definition: MVD (multi-valued dependencies)

Sei R ein Relationenschema, X, Y _ R mit X Y = 0, Z = R - XY.
Eine Relation r(R) erfllt die mehrwertige Abhngigkeit
(multivalued dependency, MVD), X Y, wenn fr beliebige
zwei Tupel t1 und t2 in r mit t1(X) = t2(X) ein Tupel t3 existiert
mit t3(Z) = t1(Z) und t3(Y) = t2(Y).

Aus der Symmetrie der Definition folgt, dass auch ein Tupel t4
in r existiert, mit t4(X) = t1(X) und t4(Z) = t2(Z) und t4(Y) = t1(Y).


MEHRWERTIGE ABHNGIGKEITEN
UND 4. NORMALFORM
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-66
Datenbanken
-
X Y
aus X Y Z
x y1 z1
x y2 z2

folgt X Y Z
x y1 z1
x y1 z2
x y2 z1
x y2 z2

Intuitiv: Jeder X-Wert x bestimmt eine Menge von Y-Werten,
die fr jede x,z-Kombination immer vollstndig auftreten mssen.
BEISPIEL - MVD
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-67
Datenbanken
-
Mehrwertige Abhngigkeiten treten immer paarweise auf:

X Y, Z = (R - XY) X Z
Schreibweise: X Y | Z

Definition: triviale MVD

Eine mehrwertige Abhngigkeit X Y ist trivial,
wenn entweder Y _ X oder XY = R ist.
MEHRWERTIGE ABHNGIGKEITEN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-68
Datenbanken
-
Angestellten-Relation:
Annahme: Fhigkeiten und Sprachkenntnisse sind unabhngig.
Angestellte Fhigkeit/Sprache

ang(Angestellte Fhigkeit Sprache)
Huber Kochen Deutsch
Huber Kochen Englisch
Huber Kochen Franzsisch
Huber Zeichnen Deutsch
Huber Zeichnen Englisch
Huber Zeichnen Franzsisch

BEISPIEL MVD
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-69
Datenbanken
-
Anomalien:

1. Insertion Anomalie:
Wenn eingefgt werden soll, dass "Huber" auch "Maschinschreiben"
kann, so mssen in diesem Fall 3 Tupel eingefgt werden.
2. Update Anomalie:
Wenn wir fr "Huber" die Sprache "Englisch" auf "Amerikanisch
ndern wollen, so mssen mehrere Tupel gendert werden.
3. Deletion Anomalie:
Wenn wir die Fhigkeit "Kochen" lschen wollen, mssen wir mehrere
Tupel ndern. Wenn wir dann noch "Zeichnen" lschen, geht auch
verloren, welche Sprachen Huber beherrscht.

BEISPIEL MVD (2)
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-70
Datenbanken
-
Zerlegung in 2 Relationen

ang-fhig (Angestellte Fhigkeit)
Huber Kochen
Huber Zeichnen


Anomalien nicht mehr vorhanden.

Wichtig Annahme war: Fhigkeiten und Sprachkenntnisse sind unabhngig.
Wenn Fhigkeiten jeweils auf eine bestimmte Sprache bezogen sind:
nur triviale Abhngigkeiten
Keine Zerlegung mglich!
ang-sprache (Angestellte Sprache)
Huber Englisch
Huber Deutsch
Huber Franzsisch

BEISPIEL MVD (3): LSUNG
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-71
Datenbanken
-
(M1) Komplementregel:
R = X Y Z, Y Z _ X : X Y X Z

(M2) Reflexivitt:
Y _ X X Y

(M3) Transitivitt:
X Y, Y Z X Z - Y

AXIOMENSYSTEM FR MEHRWERTIGE UND
FUNKTIONALE ABHNGIGKEITEN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-72
Datenbanken
-
1) Erweiterung:
Z _ W, X Y XW YZ
2) Pseudotransitivitt:
X Y, YW Z XW Z - YW
3) Vereinigung:
X Y, X Z X YZ
4) Dekomposition:
X Y, Y Z X Y Z, X Y Z, X Z - Y
5) X Y X Y
6) W Y = , Z _ Y, X Y, W Z X Z
7) X Y, XY Z X Z - Y

WEITERE NTZLICHE EIGENSCHAFTEN:
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-73
Datenbanken
-
Definition: Hlle
Sei FM eine Menge funktionaler und mehrwertiger Abhngigkeiten.
Die Hlle FM
+
= {X Y | FM X Y}

Definition: 4NF
Sei FM eine Menge funktionaler und mehrwertiger Abhngigkeiten ber
dem Relationenschema R.
R ist in 4. Normalform, wenn fr jede nichttriviale mehrwertige
Abhngigkeit X Y e FM
+
gilt, dass X R e FM
+

(d.h. X ist Oberschlssel)

4NF: X Y Y _ X oder XY = R oder X R

4. NORMALFORM
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-74
Datenbanken
-
4NF ist eine direkte Verallgemeinerung der BCNF auf MVDs
Bei Prfung auf 4. Normalform sind alle nichttrivialen MVDs zu
betrachten. Dazu zhlen auch alle nichttrivialen FDs, da aus
FD X Y MVD X Y folgt!
4. Normalform verlangt, dass alle nichttrivialen MVDs zu
Schlsselabhngigkeiten degenerieren.
Przise Formulierung: 4NF liegt genau dann vor, wenn fr jede
FD X Y und jede MVD X Y mindestens eine der folgenden
Aussagen zutrifft:
o Y _ X
o X Y = Alle Attribute der betrachteten Relation
o X ist Oberschlssel der betrachteten Relation
4. NORMALFORM - MERKREGELN
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-75
Datenbanken
-
Gegeben: R = (S, D) D: Menge von MVDs
Gesucht: verlustfreie Zerlegung von R in R
1
R
n

1) R
1
: = R

2) solange es eine Relation R
i
gibt, die nicht in 4NF ist:
suche nicht triviale MVD A B in R
i
mit
A B =
A R
i
zerlege R
i
in: R
i1
: = A B
R
i2
:= R
i
- B
ersetze R
i
durch R
i1
und R
i2

DEKOMPOSITIONSALGORITHMUS 4NF
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-76
Datenbanken
-
Satz: verlustfreie Zerlegung
Eine Relation r ber R ist verlustfrei zerlegbar in
R
1
= XY und R
2
= XZ, genau dann, wenn gilt: X Y | Z


Satz:
4NF BCNF 3NF 2NF 1NF


Normalisieren:
durch Aufspalten Dekompositionsalgorithmus (siehe Bsp.)

THEOREME ZU MVD
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-77
1NF
2NF
3NF
BCNF
4NF
Datenbanken
-
R: S={A,B,C,D,E}, F={A B, AB C, A D, AB E}
Schlssel: ABC
Abgeleitete MVDs: A D, AB E
F={A B, AB C, A D, AB E, A D, AB E}

1) Alle FD verletzten die 4NF: Keine MVD ist trivial oder hngt von einem Schlssel ab.
2) Aufspalten von R in zwei Relationen R
1
und R
2
R
1
({A,B}, {A B}) R
1
ist in 4NF: A B ist trivial
R
2
({A,C,D,E}, {A D, A D}) R
2
ist nicht in 4NF: A D ist nicht trivial,
A ist kein Schlssel
3) Aufspalten von R2 in zwei Relationen R
21
und R
22
R
21
({A,D}, {A D, A D}) R
21
ist in 4NF: A D ist trivial
R
22
({A,C,E},{}) R
22
enthlt weder FD noch MVD
demnach auch in 4NF

4NF BEISPIEL
(c) 2013 Johann Eder, DB: Formaler Datenbankentwurf
5-78