4 Relationaler Datenbankentwurf
4.1 Relationale DB-Entwurfstheorie, Normalformen
➢ Vorgaben des Relationalen Datenmodells:
❏ Attributwerte von Relationen sind atomar (→”1. Normalform“)
❏ Entities und Beziehungen zwischen Entities werden als Relationen modelliert
❏ Beziehungen zwischen Relationen werden ausschließlich uber Wertebeziehungen (keine
Pointer o.a.) hergestellt
➢ Ansonsten:
❏ Hier bislang eher”intuitive“ Datenmodellierung in relationaler Form
❏ In”Informationsmanagement“:
✧ Modellierung von Anwendungen mittels Entity-Relationship-Modell
✧ Abbildung ERM −→ Relationenmodell
✧ Probleme nicht-adaquater Datenmodellierung (”Anomalien“).
✧ Funktionalabhangigkeiten, Normalformenlehre (1.-3. Normalform)
✧ Sonstige Ziele beim relationalen DB-Entwurf
➢ In diesem Kapitel:
❏ kurzes Resumee der Normalformen aus IM-Vorlesung
❏ weiterfuhrende Normalformen auf der Basis weiterer Datenabhangigkeiten
❏ Objektorientierung in Datenbanken (”Postrelationale DBen“)
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-1
4.2 Wiederholung: Funktionale Abhangigkeiten und Normalformen
Hintergrund/Ausgangspunkt:
➢ Ursprunglich wurden von Codd (1971/72) drei Normalformen vorgeschlagen (1NF, 2NF,
3NF).
➢ Jede”Stufe“ (1NF → 2NF → 3NF) stellt eine Verscharfung hinsichtlich der Anforderungen
(und damit der”Qualitat“ des Schemas) bezogen auf die vorherige Stufe dar.
➢ Der Normalisierungsprozeß fuhrt i.a. zur Aufspaltung von Relationen.
➢ Definition der 3. Normalform hatte einige Schwachen und wurde spater (ca. 1974) revidiert
(→ Boyce-Codd-NF, (BCNF)).
➢ Spater kamen einige weitere, speziellere Normalformen hinzu.
➢ Fagin fuhrte 1977 eine”neue“ Normalform (Fagin 1977) und 1979 eine
”projection-join
normal form“ (Fagin 1979) ein, die heute uberwiegend als 4. und 5. Normalform bezeichnet
werden.
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-2
➢ Die Zusammenhange zwischen den verschiedenen Normalformen lassen sich wie folgt (im
Sinne von”beinhaltet“) beschreiben:
Wichtige Fragestellungen daruber hinaus (theoretische Grundlagen):
➢ Welche Zerlegungen sind verlustfrei?
❏ kein Verlust von Information (im engeren Sinne)
❏ keine”neuen“ (falschen) Informationen
➢ Welche Zerlegungen sind abhangigkeitsbewahrend?
❏ kein Verlust an Integritatsbedingungen
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-3
4.2.1 Funktionale Abhangigkeiten (functional dependencies, FD’s)
Definition 4-1: (Funktionale Abhangigkeit (FD))
Seien X, Y ⊆ sch(R). Eine Funktionale Abhangigkeit (FD) X −→R
Y ist in R erfullt, wenn
fur alle korrekten Auspragungen val(R) gilt:
t1, t2 ∈ val(R) : t1(X) = t2(X)⇒ t1(Y ) = t2(Y )
Wir sagen dann”X bestimmt Y (funktional)“ oder
”Y hangt von X ab“
➢ FDs sind eine spezielle Form von Integritatsbedingungen. Schlussel einer Relation werden uber
entsprechende FDs definiert!
➢ Alternative Schreibweise (als logische Schlußregel):
statt A −→R
B: A B
a b1
a b2
⇒ b1 = b2 ⇒ ”Equality Generating Dependency“
Lies:”Wenn (a, b1) ∈ val(R(A, B)) und (a, b2) ∈ val(R(A, B)) dann gilt b1 = b2“
➢ Ableitungsregeln (Inferenzregeln, Armstrong-Axiome) erlauben uns die Ableitung aller
gultigen FDs (der transitiven Hulle F +) zu einer gegebenen Menge F bzw. der Hulle einer
geg. Menge X von Attributen, X+, also aller Attribute, die von X funktional abhangen.
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-4
4.2.2 FD-basierte Normalformen
Definition 4-2: (1. Normalform)
Eine Relation ist in 1. Normalform (1NF-Relation) genau dann, wenn alle ihre Attributwerte
atomar sind.
➢ Beispiel fur eine Nicht-1NF-Relation:
Vorauss’ KursNr VorNrn
P13 {G08, G10}I09 {G08, G10, P13}
Definition 4-3: (2. Normalform)
Relation R ist in 2. Normalform (2NF-Relation) genau dann, wenn (sie eine 1NF-Relation ist
und) es keinen Schlussel S und kein Nichtschlussel-Attribut A gibt, fur das gilt:
∃S′ ⊂ S, S′ 6= S, mit S
′ → A.
Ein Attribut Ai, das die o.g. Bedingung erfullt, heißt voll funktional abhangig von S. Bei
einer 2NF-Relation sind also alle Nichtschlusselattribute von (allen) Schlusseln voll funktional
abhangig.
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-5
(Hilfs-)Definition 4-4: (Transitive Abhangigkeit)
Ein Attribut B in R ist transitiv abhangig vom Schlussel S, wenn gilt:
1. B /∈ S
2. es gibt eine Menge A(B /∈ A) von Attributen in R, so daß gilt:
S → A, A 6→ S, A→ B
Definition 4-5: (3. Normalform)
Relation R ist in 3. Normalform (3NF-Relation) genau dann, wenn (sie eine 2NF-Relation ist
und) kein Nichtschlusselattribut transitiv vom Schlussel abhangt.
Alternative Definition 3NF (aquivalent):
R ist in 3NF, wenn fur alle Y ⊂ sch(R), A /∈ Y , A Nichtschlusselattribut in R, gilt:
Y → A =⇒ Y ist Schlussel in R (d.h. Y → sch(R))
Definition 4-6: (Boyce-Codd-Normalform (BCNF))
R ist in BCNF, wenn fur alle Y ⊂ sch(R), A /∈ Y (A beliebiges Attribut von R) gilt:
Y → A =⇒ Y enthalt einen Schlussel
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-6
4.2.3 Eigenschaften von Zerlegungen
Definition 4-7: (Verlustfreiheit)
Eine Zerlegung einer Relation R in Teile R1, . . . , Rn (mit R1 ∪ · · · ∪Rn = sch(R)) heißt
verlustfrei (genauer: PJ-verlustfrei), wenn fur alle gultigen Werte val(R) gilt:
R = (πR1R) 1 . . . 1 (πRnR)
Definition 4-8: (Abhangigkeitsbewahrung)
Eine Zerlegung einer Relation R in Teile R1, . . . , Rn (mit R1 ∪ · · · ∪Rn = sch(R)) heißt
abhangigkeitsbewahrend, wenn gilt:
F+
= (F1 ∪ . . . ∪ Fn)+
. . . mit F : Menge der FDs uber sch(R)
Fi: Menge der FDs ∈ F + uber sch(Ri)
Satz 4-1: (”Zerlegung entlang einer FD“)
Sei X −→R
Y ∈ F +, X, Y ⊆ sch(R) und X ∩ Y = ∅. Dann ist die folgende Zerlegung
von R PJ–verlustfrei.R1 = X ∪ Y R2 = R− Y
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-7
Zusammenfassung Zerlegungseigenschaften:
1. Es gibt immer eine verlustfreie BCNF-Zerlegung. Diese ist:
➢ nicht immer abhangigkeitsbewahrend
➢ Ergebnis reihenfolgeabhangig
➢ Verfahren: Dekompositionsalgorithmus
2. Es gibt immer eine abhangigkeitsbewahrende 3NF-Zerlegung
➢ verlustfrei durch ursprunglichen Schlussel zusatzlich moglich (siehe Literatur)
➢ Verfahren: Relationensythese
3. Allgemein gilt:
Immer moglich:
3NF + verlustfrei + abhangigkeitsbewahrend
Nicht immer moglich:
BCNF + verlustfrei + abhangigkeitsbewahrend
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-8
4.3 Weitergehende Normalformen
➢ Bisher betrachtet:
Funktionale Abhangigkeiten der Form A→ B bzgl. einer Relation R, mit A, B ⊆ R, wobei
fur einen gegebenen Wert von A der Wert von B ebenfalls eindeutig bestimmt ist.
➢ Damit sind
❏ noch nicht alle Arten von unerwunschten Abhangigkeiten erfaßt
❏ einige Formen von vermeidbaren Redundanzen noch moglich
❏ noch Einfuge- und Losch-Anomalien moglich.
➢ Also: durch funktionale Abhangigkeiten konnen nicht alle Probleme beim Datenbankentwurf
beschrieben werden.
➢ Beispiel:”Jeder Lieferant bietet eine Menge von Produkten und eine Menge von Lieferarten
an“.
schlechtes Datenbankschema:
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-9
4.3.1 Mehrwertige Abhangigkeiten und 4NF
Beispiel 4-1:AngInfo PersNr Hobbies Kinder
2733 Kochen Susanne
2733 Kochen Horst
2733 Malen Susanne
2733 Malen Horst
5176 Lesen Maria
5176 Lesen Klara
5176 Basteln Maria
5176 Basteln Klara
. . . . . . . . .
➢ Obwohl Relation AngInfo in BCNF ist, enthalt sie redundante Informationen.
Es gilt hier offensichtlich:
2733→ {Kochen, Malen} sowie 2733→ {Susanne, Horst}5176→ {Lesen, Basteln} sowie 5176→ {Maria, Klara}
➢ Man bezeichnet dies als”mehrwertige“ Abhangigkeiten (multi-valued dependencies,
MVDs), in Symbolen:
PersNr � Hobbies bzw. PersNr � Kinder.
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-10
➢ Probleme dieser Art treten durch die Normalisierung (”Flachklopfen“) beim Zusammenfassen
mehrerer, voneinander unabhangiger 1:n-Beziehungen in einer Relation auf:
AngInfo-NF2 PersNr {Hobbies} {Kinder}2733 Kochen Susanne
Malen Horst5176 Lesen Maria
Basteln Klara. . . . . . . . .➩
AngInfo PersNr Hobbies Kinder
2733 Kochen Susanne2733 Kochen Horst2733 Malen Susanne2733 Malen Horst5176 Lesen Maria5176 Lesen Klara5176 Basteln Maria5176 Basteln Klara. . . . . . . . .
Losung: Aufspalten von AngInfo:
PersNr � Hobbies =⇒ AngHobbies (PersNr, Hobby)
PersNr � Kinder =⇒ AngKinder (PersNr, Kinder)
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-11
Definition 4-9: (Mehrwertige Abhangigkeit (multi-valued dependency (MVD)))
Sei sch(R) = X ∪ Y ∪ Z.
Eine mehrwertige Abhangigkeit (MVD) X � Y (X � Z) ist in R erfullt, wenn fur alle
korrekten Auspragungen val(R) gilt:
∀ t1, t2 ∈ val(R): t1(X) = t2(X) ⇒∃ s1, s2 ∈ val(R): s1(X) = s2(X) = t1(X) ∧
s1(Y ) = t1(Y ) ∧ s1(Z) = t2(Z) ∧s2(Y ) = t2(Y ) ∧ s2(Z) = t1(Z)
. . . zu einem X-Wert treten die Y - und Z-Werte”uber Kreuz kombiniert“ auf
Bemerkungen:
➢ MVDs treten immer paarweise auf X � Y ⇐⇒ X � R− Y −X
➢ Es gibt triviale MVDs, die immer gelten:
X � ∅, X � R−X
X � Y mit Y ⊆ X
➢ FDs sind spezielle MVDs: X → A =⇒ X � A
(nicht jedoch umgekehrt)
➢”
eingebettete MVDs“ (EMVD) X � Y | Z fur X ∪ Y ∪ Z $ R sinngemaß
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-12
Definition 4-10: (4. Normalform)
Eine Relation R ist eine 4NF-Relation dann und nur dann, wenn fur jede mehrwertige
Abhangigkeit A �R
B, mit A, B ⊆ R, gilt:
Entweder A enthalt einen Schlussel von R oder A ∪ B = R∗).
∗). . . und damit ist A �R
B eine (einfache) FD A −→R
B
Anmerkungen:
➢ AngInfo (PersNr, Hobbies, Kinder) ist nicht in 4NF, da gilt: PersNr � Hobbies, PersNr aber
kein Schlussel in AngInfo ist.
➢ Fur 4NF-Relationen gibt es eine Reihe aquivalenter Definitionen1. Eine aquivalente Definitionware z.B.:
”Eine Relation ist in 4NF, wenn sie in BCNF ist und keine nicht-trivialen mehrwertigen
Abhangigkeiten enthalt.“
➢ Die 4NF-Definition entspricht der BCNF-Definition, nur daß jetzt mehrwertige anstelle
”einfacher“ Abhangigkeiten betrachtet werden.
1 Vgl. z.B. die Definitionen in (Elmasri und Navathe 1994), (Vossen 1994), (Schlageter und Stucky 1983), (Vetter 1991), (Date1992), . . .
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-13
MVDs sind”tuple generating dependencies“:
Als logische Schlußregel (vgl. bei FDs):
statt X �R
Y : X Y Z
x1 y1 z1
x1 y2 z2R x1 y1 z2
[ x1 y2 z1 ]
. . . der zweite Teil der Schlußfolgerung ist (wegen der Symmetrie) redundant !
➢ Axiome fur MVDs: X, Y ⊆ U
M1: (Komplement) X � Y =⇒ X � U −X − Y .
M2: (Erweiterung) X � Y ∧ V ⊆ W =⇒ WX � V Y .
M3: (Transitivitat) X � Y ∧ Y � Z =⇒ X � (Z − Y ).
➢ Axiome fur MVDs und FDs:
FM1: X → Y ⇒ X � Y .
FM2: X � Y, Z ⊆ Y, W ∩ Y = ∅, W → Z =⇒ X → Z.
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-14
Satz 4-2:
Diese und die Armstrong-Axiome sind korrekt (sound) und vollstandig (complete).
➢ Weitere Axiome:
Vereinigung: X � Y, X � Z =⇒ X � Y Z
Pseudotransitivitat: X � Y, WY � Z =⇒ XW � Z
gemischte Pseudotransitivitat: X � Y, XY → Z ⇒ X → Z − Y
Dekomposition: X � Y, X � Z =⇒ X � Y ∩X
X � Y − Z
X � Z − Y
Satz 4-3: (”Verlustfreier Join“)
πxy R 1 πxz R = πxyz R ⇐⇒ X � Y oder X � Z
Zur Erinnerung: X → Y oder X → Z =⇒ πxy R 1 πxz R = πxyz R
. . . eine MVD charakterisiert genau eine verlustfreie (2er-) Zerlegung!
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-15
4.3.2 Join Dependency und 5NF
➢ Selbst bei 4NF-Relationen konnen in seltenen Fallen noch Speicheranomalien auftreten.
➢ Ursache: Zwischen den Schlusselattributen bestehen zyklische Abhangigkeiten.
➢ Beispiel 4-2: Mehrere Firmen arbeiten in unterschiedlicher Zusammensetzung in verschie-
denen Projekten in Arbeitsgemeinschaften zusammen. Werden in einem Projekt Teile eines
bestimmten Typs benotigt, so wird jede beteiligte Firma an der Lieferung beteiligt, sofern sie
diese Teile im Lieferprogramm hat.
Angenommen, dieser Sachverhalt werde durch die folgende Relation beschrieben:
L-T-P (LiefNr, TeileNr, ProjNr)
Bei Einfugungen, Anderungen und Loschungen muß die folgende, komplexe Integritatsregel
beachtet werden:
”Wenn (l1, t1, p2) und (l2, t1, p1) und (l1, t2, p1) in L-T-P enthalten sind, dann muß
auch (l1, t1, p1) in L-T-P enthalten sein.“
➢ Folge der zyklischen Abhangigkeit:Verlustfreie Zerlegung erfordert mehr als zwei Relationen!
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-16
Beispiel 4-3: 2
2 In leicht abgewandelter Form entnommen aus: (Date 1992)
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-17
➢ Angenommen, ein neuer Lieferant stoße zur Arbeitsgemeinschaft hinzu, der
a. an beiden Projekten mitwirkt und
b. Teile t1 und t2 zu liefern vermag.
➢ Angenommen, es gebe nur die L-T-P-Relation.
➢ Frage: Welche(s) Tupel ist (sind) einzufugen? (∗)
➢ Korrekte Einfugung erfordert einiges an Uberlegung.
➢ Entscheidung uber Einfugungen in L-T, T-P und P-L hingegen trivial:
aus a) folgt: Einfugungen in L-P: (l3, p1), (l3, p2)
aus b) folgt: Einfugungen in L-T: (l3, t1), (l3, t2)
➢ Antwort auf Frage (∗): Es waren einzufugen
(l3, t1, p1)
(l3, t1, p2)
(l3, t2, p1)
Definition 4-11: (”Join Dependency“ (JD))
Relation R erfullt JD 1 (X, Y, . . . , Z) :⇔ R = πX(R) 1 πY (R) 1 . . . 1 πZ(R)
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-18
➢ Triviale JD: Eines der X, . . . , Z enthalt alle Attribute von R.
➢ Darstellung JD als logische Schlußregel:
Beispiel:1 (AB, BC, AC) A B C
a1 b1 c2
a2 b1 c1
a1 b2 c1R a1 b1 c1
=⇒ auch JD ist eine”tuple generating dependency“.
Definition 4-12: (5NF/PJNF)
Eine Relation R ist in 5NF, wenn fur alle nicht-trivialen JDs in R von der Form
1 (R1, . . . , Rn)
gilt: Jedes Ri enthalt einen Schlussel von R.
➢ Aussage:”Betrachtete Relationen sind (ohne Informationsverlust) nur noch dadurch weiter
zerlegbar, daß jeweils der gesamte Schlussel mitgegeben wird.“
➢ Bemerkung: es gilt ∀i : Ri ⊆ sch(R) und⋃i
Ri = sch(R)
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-19
➢ Abschließende Bemerkungen:
❏ Es gibt noch eine ganze Reihe weiterer Dependencies und Normalformen (⇒”theoretische
Spielwiese“, eher wenig praktische Bedeutung)
❏ Eine weitere, auch praktisch relevante Dependency: Inclusion Dependency
ID : R(X) ⊆ S(Y ) :⇐⇒ πx(R) ⊆ πy(S)
. . . druckt u.a. Fremdschlussel-Bedingung aus.
❏ Generelles Ziel Normalformen-Lehre:
Moglichst alle Dependencies als Schlusselbedingung darstellen!
⇓Eindeutigkeit
”leicht“ zu prufen (z.B. unique index)
❏ Verbleibendes Problem:
Fremdschlusselbedingung muß ebenfalls gepruft werden (→ referential integrity,
Kap. 3)
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-20
4.4 Zusatzliche Literaturhinweise
Date, C.J. (1992). An Introduction to Database Systems. Addison-Wesley, 5 Aufl.
Elmasri, R. und S. Navathe (1994). Fundamentals of Database Systems. The Benjamin/Cummings Publ. Comp.,Redwood City, CA., 2 Aufl.
Fagin, R. (1977). Multivalued Dependencies and a New Normal Form for Relational Databases. ACM Transactionson Database Systems, 2(3).
Fagin, R. (1979). Normal Forms and Relational Database Operators. In: Proc. ACM SIGMOD Conference onManagement of Data. ACM, New York.
Fahrner, Chr. und G. Vossen (1995). A Survey of Database Design Transformations Based on the Entity-RelationshipModel . dke, 15:213–250.
Heuer, A. und G. Saake (1995). Datenbanken: Konzepte und Sprachen. Int’l Thompson Publishing, Bonn.
Maier, D. (1983). The Theory of Relational Databases. Computer Science Press.
Schlageter, G. und W. Stucky (1983). Datenbanksysteme: Konzepte und Modelle. Teubner-Verlag.
Ullman, J. (1988/1989). Principles of Database and Knowledge-Base Systems I & II . Computer Science Press.
Vetter, M. (1991). Aufbau betrieblicher Informationssysteme. Teubner-Verlag.
Vossen, G. (1994). Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. Addison-Wesley, 2Aufl.
c© M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-21
Top Related