• Keine Ergebnisse gefunden

9. Große Übung

N/A
N/A
Protected

Academic year: 2021

Aktie "9. Große Übung"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Jan-Christoph Kalo Florian Plötzky

Institut für Informationssysteme

Technische Universität Braunschweig www.ifis.cs.tu-bs.de

9. Große Übung

Normalisierung

(2)

Aufgabe 1

• Gegeben sei die Relation R(A, B, C, D, E, F) mit den funktionalen Abhängigkeiten:

𝐹 = {∅ → C , A → B , B, E → D , D, E → B , {D} → {F}}

A B C D E F

(3)

Ermitteln Sie den Abschluss der Attribute X = {B, E} unter F

Aufgabe 1.1

1. Aus {B, E} lässt sich {D} folgern also {X, F}

+

= {B, E, D}

2. Ferner gilt D → {F} also {X, F}

+

= {B, E, D, F}

Wenn ∅ → {C} gilt, so ist C konstant und damit ableitbar, es ergibt sich also letztendlich {X, F}

+

= {B, C, D, E, F}

Bonusfrage: Handelt es sich bei X um einen Candidate oder Super Key für R?

R(A, B, C, D, E, F)

F = {∅ → C , {A} → {B}, {B, E} → {D}, D, E → B , {D} → {F}}

(4)

Aufgabe 1.2

Sei X

1

= {A, B, E}. Handelt es sich bei X

1

um einen gültigen Primary Key für R? Falls nicht, welche Schritte müssten

unternommen werden um dies zu erreichen.

Primary Key: ein ausgewählter Candidate Key. Wir müssen also entweder zeigen, dass X

1

ein Candidate Key ist oder ihn dazu machen.

R(A, B, C, D, E, F)

F = {∅ → C , {A} → {B}, {B, E} → {D}, D, E → B , {D} → {F}}

(5)

Aufgabe 1.2

Aus 1.1: {X, F}

+

= {B, C, D, E, F} und damit war X weder Candidate noch Super Key.

• Aber X

1

= X ∪ {A} und damit {X

1

, F}

+

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

• Also ist X

1

= A, B, E ein Super Key

• Ist es auch ein Candidate Key?

Nein weil {A} → {B} und damit ist X

1

nicht irreduzibel.

R(A, B, C, D, E, F)

F = {∅ → C , {A} → {B}, {B, E} → {D}, D, E → B , {D} → {F}}

(6)

Aufgabe 1.2

Einfache Lösung: Streiche B aus X

1

also X

1

= A, E

Gegenprobe: {X

1

, F}

+

= {A, B, C, D, E, F} und damit:

1. Ist X

1

eindeutig und irreduzibel und somit ein Candidate Key

2. Können wir X

1

als Primary Key setzen

R(A, B, C, D, E, F)

F = {∅ → C , {A} → {B}, {B, E} → {D}, D, E → B , {D} → {F}}

(7)

Aufgabe 1.3

R(A, B, C, D, E, F)

F = {∅ → C , {A} → {B}, {B, E} → {D}, D, E → B , {D} → {F}}

Gegeben seien nun R

1

(A, C, D, E, F) und R

2

(A, B). Ist R

1

, R

2

eine verlustfreie Zerlegung (lossless decomposition) von R?

Ja. Wegen {A} → {B} lässt sich R nach dem Satz von Heath in

die beiden obigen Relationen zerlegen. Zerlegungen nach dem

Satz von Heath sind immer verlustfrei.

(8)

Aufgabe 2

Gegeben sei folgende Relation:

Raumbuchung(Name, RaumNr, Datum) Mit den funktionalen Abhängigkeiten:

F = ൛ ൟ

Name → RaumNr , RaumNr, Datum → Name

Liegt die Relation in BCNF vor? Falls nicht,

normalisieren Sie weiter bis zur BCNF.

(9)

• 1. Normalform erfüllt

• Candidate Keys

– C = Name, Datum , RaumNr, Datum

• 2. Normalform erfüllt (alle Attribute sind Schlüsselattribute)

• 3. Normalform erfüllt (wieder keine Nicht- Schlüsselattribute, ergo keine transitiven Abhängigkeiten)

Aufgabe 2

Raumbuchung(Name, RaumNr, Datum)

F = Name → RaumNr , RaumNr, Datum → Name

(10)

• BCNF?

Aufgabe 2

Raumbuchung(Name, RaumNr, Datum)

F = Name → RaumNr , RaumNr, Datum → Name C = Name, Datum , RaumNr, Datum

Name, Datum ∩ RaumNr, Datum = Datum ≠ ∅ Und damit ist die BCNF nicht erfüllt, da mindestens zwei paarweise verschiedene Candidate Keys existieren, die

mindestens ein gemeineinsames Schlüsselelement aufweisen.

Name RaumNr Datum

(11)

• Also weiter:

– Auch hier müssen wir einen Schlüssel „brechen“

– Wir wählen hier Name → RaumNr und wenden den Satz von Heath an

• Raumbuchung

1

(Name, RaumNr), Raumbuchung

2

(Name, Datum)

• Natural Join hält:

– Raumbuchung = Raumbuchung1⋈ Raumbuchung2

Aufgabe 2

Raumbuchung(Name, RaumNr, Datum)

F = Name → RaumNr , RaumNr, Datum → Name C = Name, Datum , RaumNr, Datum

(12)

Aufgabe 3

• Schema: R(A,B,C,D,E,F,G,H,I)

• Funktionale Abhängigkeiten

– 𝐻 → {𝐺, 𝐷}

– 𝐸 → 𝐷

– 𝐻, 𝐷 → {𝐶, 𝐸}

– {𝐵, 𝐷} →A

1. Bestimmen Sie die Schlüsselkandidaten 2. Überführen Sie das Schema in 3NF

3. Ist das Schema automatisch in BCNF?

(13)

Aufgabe 3

• Schema: R(A,B,C,D,E,F,G,H,I)

• Funktionale Abhängigkeiten

– 𝐻 → {𝐺, 𝐷}

– 𝐸 → 𝐷

– 𝐻, 𝐷 → {𝐶, 𝐸} 𝐻 → {𝐶, 𝐸}

– {𝐵, 𝐷} →A

(14)

Aufgabe 3

• Schema: R(A,B,C,D,E,F,G,H,I)

• Funktionale Abhängigkeiten

– 𝐻 → {𝐺, 𝐷, 𝐶, 𝐸}

– 𝐸 → 𝐷

– {𝐵, 𝐷} →A

A B C D E F G H I

(15)

Aufgabe 3 - Schlüsselkandidatne

Funktionale Abhängigkeiten

– F = {𝐻 → 𝐺, 𝐷 , 𝐸 → 𝐷, 𝐻 → 𝐶, 𝐸 , {𝐵, 𝐷} →A}

1. Finden Sie die Schlüsselkandidaten

B, F, H, I tauchen auf keiner rechten Seite auf

– Jeder Schlüsselkandidat enthält mindestens B, F, H, I

( 𝐵, 𝐹, 𝐻, 𝐼 , 𝐹)

+

ausrechnen

– Closure = {B, F, H, I}

– Anwendung von 𝐻 → 𝐺, 𝐷 . Closure = {B, D, F, G, H, I}

– Anwendung von H → 𝐶, 𝐸 . Closure = {B, C, D, E, F, G, H, I}

– Anwendung von {B, D} → A. Closure = {𝐀, 𝐁, 𝐂, 𝐃, 𝐄, 𝐅, 𝐆, 𝐇, 𝐈}

( 𝐵, 𝐹, 𝐻, 𝐼 , 𝐹)

+

enthält alle Attribute von R

B,F,H,I ist der einzige Schlüsselkandidat

(16)

Aufgabe 3

Nicht in 2.NF: A hängt nicht vom gesamten Schlüssel ab

• Sondern nur von der Schlüsselmenge {B} und transitiv von H über {D}.

• Überführen in die 2. NF über Zerlegung mit {𝐵, 𝐷} →A

Der Schlüssel von B,D,A ändert sich!

Nicht in 2.NF: C, E, G, D hängen nur von H ab

A B C D E F G H I

A

B D B C D E F G H I

B F H I

C D E G H

(17)

Aufgabe 3

Nicht in 3. NF: D hängt transitiv von H ab

• Überführen in die 3. NF über Zerlegung mit E → 𝐷

– (D,E) braucht einen neuen Schlüssel!

C D E G H B D A B F H I

C E G H D E

(18)

Aufgabe 3

• Die Zerlegung ist auch in BCNF!

A

B D B F H I

C E G H D E

(19)

Weiterführende DB-Konzepte u.

Applikationsprogrammierung

ViewsIndizes

Transaktionen

Datenbankzugriff über Anwendungen

– Embedded SQL – SQLJ

Nächste Woche

Referenzen

ÄHNLICHE DOKUMENTE

Er hat sich aber ¨ sehr wohl intensiv mit dieser Behauptung besch¨aftigt und f¨ur den Exponenten n = 4 ist von ihm auch eine (ebenfalls unver¨offentlichte) L¨osung erhalten..

gestattet er es, unter bestimmten Voraussetzungen allgemeine µ-Integrale (Erwartungs- werte, Momente etc., s.u.) als Lebesgue-Integrale zu berechnen :.

Jede Fläche wird aber von mindestens 3 Kanten begrenzt (denn wenn eine Fläche nur von einer bzw. nur von zwei Kanten begrenzt würde, hätten wir ja eine Schlinge bzw. eine

Wir setzen voraus, dass T kontrahierend

Man kann erste Sätze aber auch als besondere syntaktische Strukturen verstehen, zumal in einer Festschrift für eine Kollegin, in deren sprachwissenschaftlichem Interesse die Syntax

Ist f auf I konvex (konkav) so ist jedes seiner lokalen Minima (Maxima) auch globales Minimum (Maximum).. Ist f sogar streng konvex oder konkav so gibt es nur einen

Ist f auf I konvex (konkav) so ist jedes seiner lokalen Minima (Maxima) auch globales Minimum (Maximum).. Ist f sogar streng konvex oder konkav so gibt es nur einen

Beweis: “⇒” Sei G ein eulerscher Graph und P ein geschlossener Kantenzug von G, so ist offensichtlich, dass jede Ecke geraden Grad hat, denn für jede Kante die in einer Ecke endet