Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
Relationale Entwurfstheorie
Katrin Seyr
Institut fu r Informationssysteme Technische Universit at Wien
Katrin Seyr
Seite 1
Relationale Entwurfstheorie
1. Uberblick
Uberblick
1 2 3
Katrin Seyr
Seite 2
Relationale Entwurfstheorie
2. Ziele
Ziele
Bisher: Modellierung mittels Constraints Nun: zus atzlich Modellierung mittels Datenabh angigkeiten
Funktionale Abh angigkeiten Inklusionsabh angigkeiten Verbundabh angigkeiten
Katrin Seyr
Seite 3
Relationale Entwurfstheorie
2. Ziele
Ziele
Katrin Seyr
Seite 4
Relationale Entwurfstheorie
: wenn zwei Tupel die gleichen Werte fu r alle Attribute in haben, so haben sie die gleichen Werte auch fu r alle Attribute in . Die -Werte bestimmen die -Werte eindeutig (funktional)
Katrin Seyr
Seite 5
Relationale Entwurfstheorie
Stammbaum Kind Soe Soe Niklas Niklas Soe Mutter Sabine Sabine Sabine Sabine ... Vater Alfons Alfons Alfons Alfons ... Oma Linde Lisa Linde Lisa Linde Opa Lothar Hubert Lothar Hubert Willi
Katrin Seyr
Seite 6
Relationale Entwurfstheorie
A a4 a1 a1 a2 a3
B b2 b1 b1 b2 b2
C c4 c1 c1 c3 c4
D d3 d1 d2 d2 d3
Katrin Seyr
Seite 7
Relationale Entwurfstheorie
Einhaltung einer FD
Gesucht: Algorithmus zur Uberpr u fung, ob eine gegebene Relation R die FD erfu llt:
Input: (R , ), Relation R und eine FD Output: ja, wenn FD erfu llt, nein sonst Einhaltung (R , ) sortiere R nach den Werten von falls alle Gruppen von Tupeln mit gleichen Werten die gleichen Werte aufweisen: output(ja) sonst output(nein)
Laufzeit von Einhaltung ist bestimmt durch Aufwand fu r die Sortierung O (nlogn)
Katrin Seyr
Seite 8
Relationale Entwurfstheorie
Schlu ssel
Denition (Schlu ssel)
R ist ein Kandidatenschlu ssel oder Schlu ssel, falls die beiden folgenden Bedingungen erfu llt sind:
1 2
Im Relationenmodell: Auszeichnung eines Schlu arschlu ssels als Prim ssel zur Verknu ar- und Fremdschlu pfung von Tabellen mittels Prim ssel
Katrin Seyr
Seite 9
Relationale Entwurfstheorie
Schlu sselbestimmung
Beispiel
Eine Stadt wird beschrieben durch ihren Namen (Name), das Bundesland (BLand) in dem sie liegt, die Vorwahl (VW) und die Einwohnerzahl (EW). Frage: Welche FDs ergeben sich aufgrund der Semantik der zu modellierenden Miniwelt? Ortsnamen sind innerhalb eines Bundeslandes eindeutig d.h. {Name, BLand} VW, EW mehrere St adte k onnen dieselbe Vorwahl haben, aber nur, wenn sie einen unterschiedlichen Namen haben d.h. {Name, VW} BLand, EW Frage: Welche Kandidatenschlu ssel ergeben sich aufgrund der gefundenen FDs? {Name, BLand} {Name, VW}
Katrin Seyr
Seite 10
Relationale Entwurfstheorie
Schlu sselbestimmung
St adte Name Frankfurt Frankfurt Mu nchen Passau Garching ... BLand Hessen Brandenburg Bayern Bayern Bayern ... Vorwahl 069 0335 089 0851 089 ... EW 650.000 84.000 1.200.000 50.000 15.200 ...
Katrin Seyr
Seite 11
Relationale Entwurfstheorie
Katrin Seyr
Seite 12
Relationale Entwurfstheorie
Katrin Seyr
Seite 13
Relationale Entwurfstheorie
Theorem
Die Armstrong Axiome sind vollst andig (erzeugen alle implizierten FDs) und korrekt (erzeugen nur gu ltige FDs)
Katrin Seyr
Seite 14
Relationale Entwurfstheorie
Reexivit at: Sei eine Teilmenge von ( ) dann gilt immer . Insbesondere gilt . Verst arkung: Falls gilt, dann gilt auch . Transitivit at: Falls , gelten, dann gilt auch . Zus atzliche Axiome, die die Herleitung der Hu lle erleichtern: Vereinigung: und . Dekomposition: und
wichtig: kann immer erreichen, dass rechts nur ein Attribut steht.
Katrin Seyr
Seite 15
Relationale Entwurfstheorie
Katrin Seyr
Seite 16
Relationale Entwurfstheorie
Problem: gesucht ist eine m oglichst knappe Darstellung von FDs (Basis) Lo sung: die Kanonische Uberdeckung
Mathematik: Basis eines Vektorraumes
Katrin Seyr
Seite 17
Relationale Entwurfstheorie
Kanonische Uberdeckung
Denition (Kanonische Uberdeckung)
FC heit kanonische Uberdeckung einer Menge von FDs F , wenn die folgenden drei Kriterien erfu llt sind:
1 2 3 + FC = F + (FC ist aquivalent zu F ) In FC existieren keine FDs, die u beru ssige Attribute enthalten Jede linke Seite einer FD in FC ist einzigartig.
Theorem
Zu jeder Menge von funktionalen Abh angigkeiten F gibt es eine kanonische Uberdeckung FC .
Mathematik: Zu jeder Menge von Vektoren, die einen Vektorraum aufspannen, gibt es eine Basis.
Katrin Seyr
Seite 18
Relationale Entwurfstheorie
Fu hre fu r jede FD B F die Linksreduktion durch, also: kann aus ein Attribut geku aquivalent zur rzt werden, sodass das Ergebnis urspru nglichen Menge von FDs bleibt? Fu hre fu r jede (verbliebene) FD B F die Rechtsreduktion durch, also: kann B geku aquivalent zur rzt werden, sodass das Ergebnis urspru nglichen Menge von FDs bleibt?
Damit in den Ku aquivalente rzungsschritten sichergestellt bleibt, dass nur Ergebnisse erhalten werden, verwenden wir den Algorithmus AttrHu lle
Katrin Seyr
Seite 19
Relationale Entwurfstheorie
Relationale Entwurfstheorie
1 2
Zerlege alle FDs mittels Dekomposition auf der rechten Seite Ku rze u beru ssige Attribute wie folgt:
1
Fu hre fu r jede FD B F die Linksreduktion durch: A : gilt B AttrHu lle(F , A) (ist A u beru ssig?) wenn ja: ersetze B durch ( A) B .
Fu hre fu r jede (verbliebene) FD B F die Rechtsreduktion durch: gilt B AttrHu lle(F ( B ), ) (ist B bzw. B u beru ssig?) wenn ja: streiche B
Katrin Seyr
Seite 21
Relationale Entwurfstheorie
Linksreduktion: A B : bereits reduziert B C : bereits reduziert AB C : C AttrHu lle(F , A) ja F := {A B , B C , A C } Rechtsreduktion: A B : B AttrHu lle(F \ A B , A) nein B C : C AttrHu lle(F \ B C , B ) nein A C : C AttrHu lle(F \ A C , A) ja F := {A B , B C }
Katrin Seyr
Seite 22
Relationale Entwurfstheorie
Relationale Entwurfstheorie
Rechtsreduktion: A B : B AttrHu lle(F \ A B , A) nein A D : D AttrHu lle(F \ A D , A) nein A E : E AttrHu lle(F \ A E , A) ja F = {A B , A D , D E , E A, D C } D E : E AttrHu lle(F \ D E , D ) nein E A: A AttrHu lle(F \ E A, E ) nein D C : C AttrHu lle(F \ D C , D ) nein Zusammenfassen: FC = {A BD , D EC , E A}
Katrin Seyr
Seite 24
Relationale Entwurfstheorie
R ist minimal, d.h. A : ( {A}) R R, wenn AttrHu lle(F , ) = R die Minimalit at ist erfu llt, wenn fu r jedes Attribut A aus gilt: AttrHu lle(F , A) = R
1 2
Katrin Seyr
Seite 25
Relationale Entwurfstheorie
Katrin Seyr
Seite 26
Relationale Entwurfstheorie
Katrin Seyr
Seite 27
Relationale Entwurfstheorie
3. Uberblick Wh.
Uberblick Wh.
Katrin Seyr
Seite 28
Relationale Entwurfstheorie
Katrin Seyr
Seite 29
Relationale Entwurfstheorie
Schlechte Relationenschemata
ProfVorl PersNr 2125 2125 2125 ... 2132 2137 Name Sokrates Sokrates Sokrates ... Popper Kant Rang C4 C4 C4 ... C3 C4 Raum 226 226 226 ... 52 7 VorlNr 5041 5049 4052 ... 5295 4630 Titel Ethik M aeutik Logik ... Der Wiener Kreis Die drei Kritiken SWS 4 2 4 ... 2 4
Update-Anomalie: Sokrates zieht um L osch-Anomalie: Bsp: Die 3 Kritikenf allt weg Einfu geanomalie: Bsp: Curie ist neu und liest noch keine Vorlesungen (hat keinen Schlu ssel?!)
Katrin Seyr
Seite 30
Relationale Entwurfstheorie
Anomalien beruhen auf der Tatsache, dass nicht zusammenpassende Informationen zusammen gespeichert wurden. Intuitiv:
alle Informationen zu Professoren werden in einer Relation gespeichert, alle Informationen zu Vorlesungen werden in einer Relation gespeichert, die Information u ber die Verknu pfung beider Relationen wird in einer
Relation gespeichert.
L osung: Zerlegung des Schemas in Teilschemata Frage: was ist eine sinnvolle Zerlegung?
Katrin Seyr
Seite 31
Relationale Entwurfstheorie
Katrin Seyr
Seite 32
Relationale Entwurfstheorie
Katrin Seyr
Seite 33
Relationale Entwurfstheorie
Katrin Seyr
Seite 34
Relationale Entwurfstheorie
Katrin Seyr
Seite 35
Relationale Entwurfstheorie
Vorlesungen ?
Nein: die Verknu pfung mittels Join wird mangels Joinattributs zum Karthesischen Produkt.
Katrin Seyr Seite 36
Relationale Entwurfstheorie
Frage: gilt ProfVorl = Professoren Vorlesungen ? Ja: das Joinattribut PersNr ist Schlu ssel in Professoren hinreichende Bedingung ist erfu llt Zerlegung ist verlustlos
Katrin Seyr Seite 37
Relationale Entwurfstheorie
Katrin Seyr
Seite 38
Relationale Entwurfstheorie
Katrin Seyr
Seite 39
Relationale Entwurfstheorie
Katrin Seyr
Seite 40
Relationale Entwurfstheorie
Katrin Seyr
Seite 41
Relationale Entwurfstheorie
5. Normalformen
Normalformen
1. Normalform
NF2 Relationen
2. Normalform 3. Normalform
Zerlegung in 3NF Synthesealgorithmus
Boyce-Codd Normalform
Zerlegung in BCNF Dekompositionsalgorithmus
Katrin Seyr
Seite 42
Relationale Entwurfstheorie
5. Normalformen
5.1. 1. Normalform
1. Normalform
Denition (1. Normalform)
Ein Relationenschema R ist in 1. Normalform, wenn die Dom anen von R atomar sind.
Eltern Vater Johann Heinz Mutter Martha Martha Eltern Vater Johann Johann Heinz Mutter Martha Martha Martha Kind Else Lucie Cleo Kinder {Else, Lucie} {Cleo}
nicht in 1NF
in 1NF
Katrin Seyr
Seite 43
Relationale Entwurfstheorie
5. Normalformen
NF2 Relationen
Non-First Normal Form Relationen Attribut einer Relation kann selbst eine Relation sein im SQL2003 Standard enthalten
Eltern Vater Johann Johann Heinz Mutter Martha Maria Martha Else Lucie Theo Josef Cleo Kinder KName KAlter 5 3 3 1 9
Katrin Seyr
Seite 44
Relationale Entwurfstheorie
5. Normalformen
5.3. 2. Normalform
2. Normalform
Intuitiv: Relationenschema R verletzt die 2. Normalform, wenn in der Relation Informationen u ber mehr als ein Konzept modelliert werden. Nur von historischem Interesse, da es immer noch zu Anomalien kommen kann.
Katrin Seyr
Seite 45
Relationale Entwurfstheorie
5. Normalformen
5.4. 3. Normalform
3. Normalform
B , d.h., die FD ist trivial das Attribut B ist in einem der Schlu ssel von R enthalten ist Superschlu ssel von R.
Katrin Seyr
Seite 46
Relationale Entwurfstheorie
5. Normalformen
5.4. 3. Normalform
3. Normalform
Beispiel (Check auf 3NF 1)
R = (ABCDEF ), F = {C BDAE } = {C B , C D , C A, C E }. Der Schlu ssel von R ist: CF (R, F ) ist in 3NF, wenn fu r jede FD eine der drei NF-Bedingungen gilt:
1 2
Keine FD ist trivial: Bedingung 1 gilt nicht Ist das Attribut auf der rechten Seite der FDs in einem der Schlu ssel von R enthalten? Nein, Bedingung 2 gilt fu r keine FD. Ist die Attributmenge auf der linken Seite der FDs ein Superschlu ssel von R? Nein, Bedingung 3 gilt fu r keine FD.
Katrin Seyr
Seite 47
Relationale Entwurfstheorie
5. Normalformen
5.4. 3. Normalform
3. Normalform
Beispiel (Check auf 3NF 2)
R = (ABCDEF ) F = {C B , C D , D A, D E , E C , E F , F E } Die Schlu ssel von R sind: C , E , F , D
1 2
Keine FD ist trivial: Bedingung 1 gilt nicht Ist das Attribut auf der rechten Seite der FDs in einem der Schlu ssel von R enthalten? OK fu r C D , D E , E CF , F E , gilt aber nicht fu r C B, D A Ist die Attributmenge auf der linker Seite der FDs ein Superschlu ssel von R? OK fu r C B , D A.
Katrin Seyr
Seite 48
Relationale Entwurfstheorie
5. Normalformen
Zerlegung in 3NF
Theorem
Ein Relationenschema R = R1 Rn ist in dritter Normalform, wenn alle Ri in dritter Normalform sind. Gegeben Relationenschema R mit FDs F . Gesucht: Zerlegung in Teilschemata R1 . . . Rn , fu r die gilt:
Zerlegung in R1 . . . Rn ist verlustlos, Zerlegung in R1 . . . Rn ist abh angigkeitstreu, alle R1 . . . Rn sind in dritter Normalform.
L osung: Synthesealgorithmus
Katrin Seyr
Seite 49
Relationale Entwurfstheorie
5. Normalformen
Der Synthesealgorithmus
1 2
Enth alt eines der in Schritt 2. erzeugten Teilschemata einen Schlu ssel von R bzgl. Fc fertig andernfalls: w ahle einen Schlu ssel R aus und deniere folgendes zus atzliche Schema: R := mit F :=
Informell: erzeuge ein Schema zum Verknu pfen der Teilschemata (Bedingung fu r Verlustfreiheit erfu llt)
Katrin Seyr
Seite 50
Relationale Entwurfstheorie
5. Normalformen
Der Synthesealgorithmus
Beispiel (Synthesealgorithmus 1)
R = {PersNr , Name , Rang , Raum, Ort , Strae , PLZ , Vorwahl , BLand , EW , Landesregierung } = {P , N , R , Z , O , S , Plz , V , B , E , L} und die FDs von fru her. 1 Kanonische Uberdeckung: P NRZOSB , Z P , SBO Plz , OB EV , B L, Plz BO
2
Generierung der Teilschemata und Zuordnung aller FDs: {PNRZOSB } es gelten: P NRZOSB und Z P {ZP } es gelten: Z P und P Z {SBOPlz } es gelten: SBO Plz und Plz BO {OBEV } es gilt: OB EV {BL} es gilt: B L {PlzBO } es gilt: Plz BO
Katrin Seyr
Seite 51
Relationale Entwurfstheorie
5. Normalformen
Der Synthesealgorithmus
Beispiel (Synthesealgorithmus 1)
3
Enth alt eines der Teilschemata einen Schlu ssel von R bezu glich F ? Ja: P war Schlu ssel und ist in {PNRZOSB } enthalten fertig Schemaelimination: {ZP } ist schon in {PNRZOSB } enthalten ku rzen {PlzBO } ist schon in {SBOPlz } enthalten ku rzen
{[PersNr, Name, Rang, Raum, Ort, Strae, BLand]} {[Strae, Ort, BLand,PLZ]} {[Ort, BLand, EW, Vorwahl]} {[BLand, Landesregierung]}
Katrin Seyr
Seite 52
Relationale Entwurfstheorie
5. Normalformen
Der Synthesealgorithmus
Beispiel (Synthesealgorithmus 2)
R = (ABCDEF ), F = {A EC , BC F , D B }
1 2
ist schon kanonisch R1 = (AEC ), R2 = (BCF ), R3 = (DB ) keine (nichttrivialen) Zuordnungen m oglich Schlu ssel von R: AD hinzufu gen von R4 = (AD ) Nichts ist zu eliminieren. R = (AEC ) (BCF ) (DB ) (AD )
3 4
Katrin Seyr
Seite 53
Relationale Entwurfstheorie
5. Normalformen
Boyce-Codd Normalform
Denition (Boyce-CoddNormalform)
Ein Relationenschema R ist in Boyce-Codd Normalform, wenn fu r jede auf R geltende funktionale Abh angigkeit der Form B mit R und B R eine der folgenden zwei Bedingungen gilt:
1 2
Katrin Seyr
Seite 54
Relationale Entwurfstheorie
5. Normalformen
Boyce-Codd Normalform
Keine FD ist trivial: Bedingung 1 gilt nicht Ist die Attributmenge auf der linken Seite der FDs ein Superschlu ssel von R? Ja, Bedingung 2 gilt fu r alle FDs.
Katrin Seyr
Seite 55
Relationale Entwurfstheorie
5. Normalformen
Boyce-Codd Normalform
Beispiel (Check auf BCNF 2)
R = St adte:{Ort, BLand, Ministerpr asident/in, EW} F = {Ort, BLand EW, BLand Ministerpr asident/in, Ministerpr asident/in BLand} Schlu asident/in} ssel: {Ort, BLand} bzw. {Ort, Ministerpr
1 2
keine FD ist trivial ist die Attributmenge auf der linken Seite der FDs ein Superschlu ssel? Nein fu asident/in, Ministerpr asident/in BLand r BLand Ministerpr
R nicht in BCNF Aber: in 3NF, da Bedingung 2 (3NF): auf der rechten Seite steht ein Schlu sselattribut erfu llt ist.
Katrin Seyr
Seite 56
Relationale Entwurfstheorie
5. Normalformen
Zerlegung in BCNF
Theorem
Ein Relationenschema R = R1 Rn ist in Boyce-Codd Normalform, wenn alle Ri in Boyce-Codd Normalform sind. Gegeben Relationenschema R mit FDs F . Gesucht: Zerlegung in Teilschemata R1 . . . Rn , fu r die gilt:
Zerlegung in R1 . . . Rn ist verlustlos, Zerlegung in R1 . . . Rn ist abh angigkeitstreu, alle R1 . . . Rn sind in Boyce-Codd Normalform.
nur die BCNF garantiert v ollige Anomaliefreiheit Problem: eine verlustlose Zerlegung in BCNF ist immer m oglich, aber die Abh angigkeitstreue ist nicht immer erzielbar in der Praxis: 3NF wegen Abh angigkeitstreue Lo angigkeitstreue) sung: Dekompositionsalgorithmus (ohne Abh
Katrin Seyr
Seite 57
Relationale Entwurfstheorie
5. Normalformen
5.9. Dekompositionsalgorithmus
Dekompositionsalgorithmus
Starte mit Z = R Solange es ein Relationenschema Ri in Z gibt, das die BCNF verletzt d.h. es gibt eine FD in Ri mit oder ( Ri ): W ahle eine solche FD aus und zerlege wie folgt:
Ri1 := ( ) und Ri2 := Ri Entferne Ri aus Z und fu ge Ri1 und Ri2 ein:
Ri1 = ( )
Katrin Seyr
Relationale Entwurfstheorie
5. Normalformen
5.9. Dekompositionsalgorithmus
Dekompositionsalgorithmus
Beispiel (Dekompositionsalgorithmus 1)
R = St adte:{Ort, BLand, Ministerpr asident/in, EW} F = {Ort BLand EW, BLand Ministerpr asident/in, Ministerpr asident/in BLand} Z := R BLand Ministerpr asident/in verletzt die BCNF
R1 := (BLand, Ministerpr asident/in) und R2 := (Ort, BLand, EW) Z := {BLand, Ministerpr asident/in} {Ort, BLand, EW}
Katrin Seyr
Seite 59
Relationale Entwurfstheorie
5. Normalformen
5.9. Dekompositionsalgorithmus
Dekompositionsalgorithmus
Beispiel (Dekompositionsalgorithmus 2)
R = PLZListe:{Strae, Ort, BLand, PLZ} F = {PLZ Ort BLand, Strae Ort BLand PLZ} Z := R {PLZ Ort BLand} verletzt die BCNF
R1 := (PLZ, Ort, BLand) und R2 := (PLZ, Strae) Z := Orte:{PLZ, Ort, BLand} Straen:{PLZ, Strae}
die Zerlegung ist verlustfrei aber die Abh angigkeit {Strae Ort BLand PLZ} ist verloren gegangen
Katrin Seyr
Seite 60