4.1 Relationale DB-Entwurfstheorie, Normalformen · 2016-03-30 · Diese und die Armstrong-Axiome...

21
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-ad¨ aquater Datenmodellierung ( Anomalien“). Funktionalabh¨ angigkeiten, Normalformenlehre (1.-3. Normalform) Sonstige Ziele beim relationalen DB-Entwurf In diesem Kapitel: kurzes Resum´ ee der Normalformen aus IM-Vorlesung weiterf¨ uhrende Normalformen auf der Basis weiterer Datenabh¨ angigkeiten Objektorientierung in Datenbanken ( Postrelationale DBen“) c M. Scholl, 2001/02 – Informationssysteme: 4. Relationaler Datenbankentwurf 4-1

Transcript of 4.1 Relationale DB-Entwurfstheorie, Normalformen · 2016-03-30 · Diese und die Armstrong-Axiome...

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