Sie sind auf Seite 1von 60

Relationale Entwurfstheorie

Relationale Entwurfstheorie
Katrin Seyr
Institut fu r Informationssysteme Technische Universit at Wien

Katrin Seyr

Seite 1

Relationale Entwurfstheorie

1. Uberblick

Uberblick
1 2 3

Uberblick Ziele Funktionale Abh angigkeiten


Denitionen Kanonische Uberdeckung

Entwurfstheorie und Zerlegung


Schlechte Relationenschemata Zerlegung von Relationenschemata Kriterien fu r eine sinnvolle Zerlegung

Normalformen (1., 2., 3., Boyce-Codd)


Normalisierung durch Synthesealgorithmus Normalisierung durch Dekomposition

Katrin Seyr

Seite 2

Relationale Entwurfstheorie

2. Ziele

Ziele

Finetuning des relationalen Schemas Qualit at eines Relationenschemas:


Einhaltung von Konsistenzbedingungen Vermeidung von Redundanzen

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

Grundlage: Funktionale Abh angigkeiten (FDs)


Denition Schlu ssel Bestimmung Kanonische Uberdeckung

Normalformen als Gu tekriterium Ggs. Verbesserung eines Relationenschemas


Synthesealgorithmus Dekomposition

Katrin Seyr

Seite 4

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

Funktionale Abh angigkeiten


Schema R = {A, B , C , D } Attribute A, B , C , . . . Attributmengen: , , . . . Relation R , Tupel r , s , t

Denition (Funktionale Abh angigkeit)


Seien R, R. Eine Relation R erfu angigkeit (FD) llt eine funktionale Abh genau dann, wenn r , t R mit r . = t . gilt, r . = t . .

: 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

3. Funktionale Abh angigkeiten

Funktionale Abh angigkeiten


Beispiel
Ein Familienstammbaum impliziert folgende FDs:
Kind Vater, Mutter Kind, Oma Opa Kind, Opa Oma

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

3. Funktionale Abh angigkeiten

Funktionale Abh angigkeiten


Beispiel
Schema R = {A, B , C , D } der Relation R Frage: sind folgende FDs auf der Relation R gu ltig oder nicht:
R

{A} {B } {C , D } {B } {B } {C } {A, B } {C } {B , C } {A} {B } {A}

ja ja nein ja nein nein

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

3. Funktionale Abh angigkeiten

3.1. Einhaltung einer FD

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

3. Funktionale Abh angigkeiten

3.2. Schl ussel

Schlu ssel
Denition (Schlu ssel)
R ist ein Kandidatenschlu ssel oder Schlu ssel, falls die beiden folgenden Bedingungen erfu llt sind:
1 2

R ist minimal, d.h. A : ( {A}) R

Im Relationenmodell: Auszeichnung eines Schlu arschlu ssels als Prim ssel zur Verknu ar- und Fremdschlu pfung von Tabellen mittels Prim ssel

Denition (Superschlu ssel)


R ist ein Superschlu ssel (Oberschlu ssel), falls R keine Minimalit at bei Superschlu sseln ein Superschlu ssel ist eine Obermenge eines Schlu ssels

Katrin Seyr

Seite 9

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.3. Schl usselbestimmung

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

3. Funktionale Abh angigkeiten

3.3. Schl usselbestimmung

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

3. Funktionale Abh angigkeiten

3.4. Bestimmung von FDs

Bestimmung von FDs


Beispiel
Gegeben: Information u ber Professoren anhand folgender Attribute: Professoren:{[PersNr, Name, Rang, Raum, Ort, Strae, PLZ, Vorwahl, BLand, EW, Landesregierung]} Frage: Welche funktionalen Abh angigkeiten lassen sich aufgrund der Semantik der zu modellierenden Miniwelt nden? PersNr ist ein Kandidatenschlu ssel: {PersNr} {PersNr, Name, Rang, Raum, Ort, Strae, PLZ, Vorwahl, BLand, EW, Landesregierung} Ortsnamen sind innerhalb eines Bundeslandes eindeutig: {Ort, BLand} {EW, Vorwahl}

Katrin Seyr

Seite 12

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.4. Bestimmung von FDs

Bestimmung von FDs


Beispiel
Die Postleitzahl identiziert einen Ort, das Bundesland und die Einwohnerzahl: {PLZ} {BLand, Ort, EW} Die Postleitzahl andert sich innerhalb der Strae eines Ortes nicht: {BLand, Ort, Strae} {PLZ} Landesregierung speichert die Partei des Ministerpr asidenten: {BLand} {Landesregierung} In einem Raum kann nur ein Professor sitzen: {Raum} {PersNr}

Katrin Seyr

Seite 13

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.5. H ulle von FDs

Hu lle von FDs


Problem: F Menge von FDs. Welche weiteren FDs k onnen daraus abgeleitet werden? Beispiel: Raum PersNr, PersNr Name Raum Name

Denition (Hu lle von FDs)


Die Menge aller aus F ableitbaren FDs wird Hu lle F + von F genannt.
Verst andnishilfe aus der Mathematik: V eine Menge von Vektoren. Die Menge aller Vektoren, die aus V mittels Linearkombinationen erhalten werden: lineare Hu lle von V.

Berechnung der Hu lle F + von F mittels der Armstrong Axiome (1974).

Theorem
Die Armstrong Axiome sind vollst andig (erzeugen alle implizierten FDs) und korrekt (erzeugen nur gu ltige FDs)

Katrin Seyr

Seite 14

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.6. Die Armstrong Axiome

Die Armstrong Axiome

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.

Pseudotransitivit at: und .

Katrin Seyr

Seite 15

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.6. Die Armstrong Axiome

Die Armstrong Axiome


Beispiel
Herleitung der FD {PLZ} {Landesregierung} aus den restlichen FDs im Beispielschema Professoren: Es gelten: {PLZ} {Bland, Ort, EW} und {BLand} {Landesregierung} Dekomposition von {PLZ} {Bland, Ort, EW}: {PLZ} {Bland}, {PLZ} {Ort}, {PLZ} {EW} Transitivit at von {PLZ} {BLand}, {BLand} {Landesregierung}: {PLZ} {Landesregierung }

Katrin Seyr

Seite 16

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.7. Aquivalenz von Mengen von FDs

Aquivalenz von Mengen von FDs

Denition (Aquivalenz von FDs)


Zwei Mengen F , G von FDs sind aquivalent (F G ), wenn sie dieselbe Hu lle besitzen, d.h. F + = G +
Mathematik: zwei Mengen von Vektoren sind aquivalent, wenn sie denselben Vektorraum aufspannen

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

3. Funktionale Abh angigkeiten

3.8. Kanonische Uberdeckung

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

3. Funktionale Abh angigkeiten

3.9. Berechnung Kanonische Uberdeckung (1)

Berechnung Kanonische Uberdeckung (1)


Die Berechnung der Kanonischen Uberdechung ergibt sich direkt aus der Denition: 1 Zerlege alle FDs mittels Dekomposition auf der rechten Seite (Aquivalenz gew ahrleistet) 2 Ku rze u beru ssige Attribute wie folgt:
1

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?

Fasse mittels der Vereinigungsregel FDs zusammen (Aquivalenz gew ahrleistet).

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

3. Funktionale Abh angigkeiten

3.10. Algorithmus AttrH ulle

Algorithmus AttrHu lle


Gegeben: eine Menge von Attributen und F eine Menge von FDs. Frage: Welche Attribute kann ich aus aufgrund von F herleiten?

Denition (Hu lle einer Attributmenge)


Die Menge + der Attribute, die aus einer Menge von Attributen aufgrund einer Menge von FDs F hergeleitet werden k onnen, nennt man die Hu lle der Attributmenge . Input: (F , ), Menge F von FDs und Menge von Attributen Output: Menge der Attribute + . AttrHu lle (F , ) + = while ( ) F mit + und + do + := + return(+ )
Katrin Seyr Seite 20

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.11. Berechnung Kanonische Uberdeckung (2)

Berechnung Kanonische Uberdeckung (2)

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

Fasse mittels der Vereinigungsregel FDs zusammen.

Katrin Seyr

Seite 21

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.11. Berechnung Kanonische Uberdeckung (2)

Berechnung Kanonische Uberdeckung (2)


Beispiel
F = {A B , B C , AB C }
1 2

Dekomposition nicht notwendig Ku rzen


1

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 }

Vereinigungsregel nicht anwendbar FC := {A B , B C }

Katrin Seyr

Seite 22

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.11. Berechnung Kanonische Uberdeckung (2)

Berechnung Kanonische Uberdeckung (2)


Beispiel
F = {A BD , AC E , CD E , E A, D C }
1

Dekomposition: F = {A B , A D , AC E , CD E , E A, D C } Linksreduktion: A B : ok A D : ok E A: ok D C : ok AC E : E AttrHu lle(F , A) ja F = {A B , A D , A E , CD E , E A, D C } CD E : E AttrHu lle(F , C ) nein E AttrHu lle(F , D ) ja F = {A B , A D , A E , D E , E A, D C }


Katrin Seyr Seite 23

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.11. Berechnung Kanonische Uberdeckung (2)

Berechnung Kanonische Uberdeckung (2)


Beispiel
F = {A B , A D , A E , D E , E A, D C }
3

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

3. Funktionale Abh angigkeiten

3.12. Schl usselbestimmung mittels AttrH ulle

Schlu sselbestimmung mittels AttrHu lle


Problem: Suche nach Kandidatenschlu sseln einer Relation R aufgrund der vorhandenen FDs.

Denition (Schlu ssel - Wiederholung)


R ist ein Kandidatenschlu ssel oder Schlu ssel, falls die beiden folgenden Bedingungen erfu llt sind:
1 2

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

3. Funktionale Abh angigkeiten

3.12. Schl usselbestimmung mittels AttrH ulle

Schlu sselbestimmung mittels AttrHu lle


Beispiel
R = {ABCDEF }, F = {C BDAE } Zeitraubende Vorgehensweise: Durchprobieren aller einelementigen, aller zweielementigen, aller dreielementigen Schlu sselkandidaten mittels AttrHu lle Alternativ: Verwendung der folgenden Heuristik: Alle Attribute, die nicht auf der rechten Seite vorkommen, k onnen mittels AttrHu lle nicht hergeleitet werden und mu ssen daher im Schlu ssel enthalten sein. Hier: C und F kommen rechts nicht vor, daher folgender Versuch: AttrHu lle(C BDAE , CF ) = {C , F , B , D , A, E } CF ist Schlu ssel von R

Katrin Seyr

Seite 26

Relationale Entwurfstheorie

3. Funktionale Abh angigkeiten

3.12. Schl usselbestimmung mittels AttrH ulle

Schlu sselbestimmung mittels AttrHu lle


Beispiel
R = {ABCDEF }, F = {C BD , D AE , E CF , F E } Heuristik hier nicht zielfu hrend, da alle Attribute hergeleitet werden ko nnen. C: AttrHu lle(F , C ) = {C , B , D , A, E , F } C ist Schlu ssel von R Achtung: C kann aus E hergeleitet werden also: E: AttrHu lle(F , E ) = {E , C , B , D , A, F } E ist auch Schlu ssel von R Achtung: E kann aus D oder F hergeleitet werden also: D: AttrHu lle(F , D ) = {D , A, E , C , F , B } D ist Schlu ssel von R, F: AttrHu lle(F , F ) = {F , E , C , B , D , A} F ist Schlu ssel von R C , D , E , F sind Schlu ssel von R

Katrin Seyr

Seite 27

Relationale Entwurfstheorie

3. Uberblick Wh.

Uberblick Wh.

Ziele Funktionale Abh angigkeiten


Denitionen Kanonische Uberdeckung

Entwurfstheorie und Zerlegung


Schlechte Relationenschemata Zerlegung von Relationenschemata Kriterien fu r eine sinnvolle Zerlegung

Normalformen (1., 2., 3., Boyce-Codd)


Normalisierung durch Synthesealgorithmus Normalisierung durch Dekomposition

Katrin Seyr

Seite 28

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

Entwurfstheorie und Zerlegung

Schlechte Relationenschemata Zerlegung von Relationenschemata Kriterien fu r eine sinnvolle Zerlegung


Verlustlosigkeit Abh angigkeitstreue

Katrin Seyr

Seite 29

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.1. Schlechte Relationenschemata

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

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata (1)

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

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata


Beispiel
Zerlegung von ProfVorl(PersNr, Name, Rang, Raum, VorlNr, Titel, SWS) in Teilschemata Versuch 1: Zerlegung in: Prof(PersNr, Name, Rang, Raum) Vorlesung(VorlNr, Titel, SWS) Problem: wer h alt welche LVA ? Ursache: Teilschemata k onnen nicht mehr korrekt verknu pft werden Versuch 2: Zerlegung in: Prof(PersNr, Name, Raum, VorlNr, Titel, SWS ) Titel(Name, Rang) Problem: Titel von Professoren gleichen Namens Ursache: die FD {PersNr} {Rang} ist verlorengegangen

Katrin Seyr

Seite 32

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata (2)


Es gibt zwei Korrektheitskriterien fu r die Zerlegung von Relationenschemata: Verlustlosigkeit (Verlust von Information) Abh angigkeitstreue (Verlust von Metainformation)

Denition (Verlustlosigkeit - intuitiv)


Die in der Auspr agung R des Schemas R enthaltenen Informationen mu ssen aus den Auspr agungen R1 , . . . Rn der neuen Schemata R1 , . . . Rn rekonstruierbar sein.

Denition (Abh angigkeitstreue - intuitiv)


Die auf R geltenden funktionalen Abh angigkeiten mu ssen auf die Schemata R1 , . . . Rn u bertragbar sein.

Katrin Seyr

Seite 33

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata (3)


Denition (Verlustlosigheit)
Gegeben ein Schema R = R1 R2 , mit den Auspr agungen R , R1 := R1 (R ) und R2 := R2 (R ) Die Zerlegung von R in R1 und R2 ist verlustlos, falls fu ogliche r jede m (gu agung R von R gilt: ltige) Auspr R = R1 R2

Theorem (Hinreichende Bedingung fu r Verlustlosigkeit)


Eine Zerlegung von R in R1 und R2 ist verlustlos, wenn die Joinattribute in einer der Teilrelationen Schlu ssel sind.

Katrin Seyr

Seite 34

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata


Beispiel (Verlustlose Zerlegung 1)
Zerlegung von ProfVorl(PersNr, Name, Rang, VorlNr, Titel, SWS) in mehrere Teilschemata:
ProfVorl PersNr 2125 2125 2125 ... 2132 2137 Name Sokrates Sokrates Sokrates ... Popper Kant Rang C4 C4 C4 ... C3 C4 VorlNr 5041 5049 4052 ... 5295 4630 Titel Ethik M aeutik Logik ... Der Wiener Kreis Die drei Kritiken SWS 4 2 4 ... 2 4

Katrin Seyr

Seite 35

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata


Beispiel (Verlustlose Zerlegung 1)
Versuch 1:
Professoren PersNr 2125 2132 2137 ... Name Sokrates Popper Kant ... Rang C4 C3 C4 ... VorlNr 5041 5049 4052 5295 4630 ... Vorlesungen Titel Ethik M aeutik Logik Der Wiener Kreis Die drei Kritiken ... SWS 4 2 4 2 4 ...

Frage: gilt ProfVorl = Professoren

Vorlesungen ?

Nein: die Verknu pfung mittels Join wird mangels Joinattributs zum Karthesischen Produkt.
Katrin Seyr Seite 36

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata


Beispiel (Verlustlose Zerlegung 1)
Versuch 2:
Professoren PersNr 2125 2132 2137 ... Name Sokrates Popper Kant ... Rang C4 C3 C4 ... VorlNr 5041 5049 4052 5295 4630 ... Titel Ethik M aeutik Logik Der Wiener Kreis Die drei Kritiken ... Vorlesungen SWS 4 2 4 2 4 ... PersNr 2125 2125 2125 2132 2137 ...

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

4. Entwurfstheorie und Zerlegung

4.2. Zerlegung von Relationenschemata

Zerlegung von Relationenschemata

Beispiel (Verlustlose Zerlegung 2)


Zerlege Relation Eltern: {[Vater, Mutter, Kind]} in zwei Teilrelationen: R1 V ater: {[Vater, Kind]} R2 Mu tter: {[Mutter, Kind]} Frage: ist die Zerlegung verlustlos? Ja: das Joinattribut von V ater mit Mu tter ist Kind Verlustlosigkeit ist garantiert Bemerkung: Die Zerlegung von Eltern ist zwar verlustlos, aber auch unn otig, da die Relation in sehr gutem Zustand (Normalform) ist

Katrin Seyr

Seite 38

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.3. Zerlegung von Relationenschemata (3)

Zerlegung von Relationenschemata (3)

Denition (Abh angigkeitstreue)


Gegeben ein Schema R = R1 Rn . Die Zerlegung von R in R1 . . . Rn ist abh angigkeitstreu, wenn FR (FR1 FRn )
+ bzw. FR = (FR1 FRn )+

Katrin Seyr

Seite 39

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.3. Zerlegung von Relationenschemata (3)

Zerlegung von Relationenschemata (3)


Beispiel (Abh angigkeitstreue Zerlegung)
Gegeben ein Relationenschema PLZverzeichnis:{[Strae, Ort, BLand, PLZ]} und folgenden Annahmen: Orte werden durch Namen und Bundesland eindeutig identiziert. PLZgebiete gehen nicht u ber Ortsgrenzen hinweg {PLZ} {Ort, BLand} Innerhalb einer Strae andert sich die PLZ nicht {Strae, Ort, BLand} {PLZ}. Zerlegung in: R1 Straen: {[PLZ, Strae]} R2 Orte: {[PLZ, Ort, BLand]} mit FD {PLZ} {Ort, BLand} ABER: {Strae, Ort, BLand} {PLZ} ist verloren gegangen. (Zerlegung ist verlustlos, da PLZ Schlu ssel in Orte)

Katrin Seyr

Seite 40

Relationale Entwurfstheorie

4. Entwurfstheorie und Zerlegung

4.3. Zerlegung von Relationenschemata (3)

Zerlegung von Relationenschemata (3)


Beispiel (Abh angigkeitstreue Zerlegung)
PLZVerzeichnis Ort Frankfurt Frankfurt Frankfurt Straen PLZ 60313 60437 15234 15235 Strae Goethestrae Schillerstrae Goethestrae Goethestrae Ort Frankfurt Frankfurt Frankfurt Frankfurt BLand Hessen Hessen Brandenburg Strae Goethestrae Schillerstrae Goethestrae Orte BLand Hessen Hessen Brandenburg Brandenburg PLZ 60313 60437 15234 15235 PLZ 60313 60437 15234

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

5.2. NF2 Relationen

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

Denition (3. Normalform)


Ein Relationenschema R ist in dritter Normalform, wenn fu r jede auf R geltende funktionale Abh angigkeit der Form B mit R und B R eine der folgenden drei Bedingungen gilt:
1 2 3

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.

Mindestens eine FD (C B ) verletzt die 3NF R ist nicht in 3NF.

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.

Keine FD verletzt die 3NF in 3NF

Katrin Seyr

Seite 48

Relationale Entwurfstheorie

5. Normalformen

5.5. Zerlegung in 3NF

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

5.6. Der Synthesealgorithmus

Der Synthesealgorithmus
1 2

Bestimme kanonische Uberdeckung Fc zu F . Fu angigkeit Fc : r jede funktionale Abh


Erstelle ein Relationenschema R := Ordne R die FDs F := { Fc | R } zu. Informell: aus jeder FD wird ein eigenes Schema (Bedingung fu r Abh angigkeitstreue erfu wichtig, um nicht zu viele llt) - kanonische Uberdeckung Teilschemata zu generieren

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)

Eliminiere die in einem anderen Schema R enthaltenen Schemata R .


Informell: ku rze u beru ssige Schemata

Katrin Seyr

Seite 50

Relationale Entwurfstheorie

5. Normalformen

5.6. Der Synthesealgorithmus

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

5.6. Der Synthesealgorithmus

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

Ergebnis: Professoren: PLZListe: St adte: Regierung:

{[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

5.6. Der Synthesealgorithmus

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

5.7. Boyce-Codd Normalform

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

B , d.h., die FD ist trivial ist Superschlu ssel von R.

Theorem (Normalformen Zusammenhang)


Die Normalformen h angen wie folgt zusammen: BCNF 3NF 2NF 1NF

Katrin Seyr

Seite 54

Relationale Entwurfstheorie

5. Normalformen

5.7. Boyce-Codd Normalform

Boyce-Codd Normalform

Beispiel (Check auf BCNF 1)


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 , D , F (R, F ) ist in BCNF, wenn fu r jede FD eine der zwei NF-Bedingungen gilt:
1 2

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.

Keine FD verletzt die BCNF in BCNF

Katrin Seyr

Seite 55

Relationale Entwurfstheorie

5. Normalformen

5.7. Boyce-Codd Normalform

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

5.8. Zerlegung in BCNF

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:

Z := (Z {Ri }) Ri1 Ri2

Ri und weitere FDs

Ri1 = ( )
Katrin Seyr

Ri2 = Ri FDs ohne


Seite 58

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}

die Zerlegung ist verlustfrei und abh angigkeitstreu

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

Das könnte Ihnen auch gefallen