Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Größe: px
Ab Seite anzeigen:

Download "Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15."

Transkript

1 Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern

2 Wiederholung: ProfVorl PersNr Name Rang Raum VorlNr Titel SWS 2125 Sokrates C Ethik Sokrates C Mäeutik Sokrates C Logik Popper C Der Wiener Kreis Kant C Die 3 Kritiken 4 Wieso ist dies ein schlechtes Schema? 2 / 55

3 Normalisierung von Relationen Um Qualitätsprobleme im ursprünglichen Entwuft zu beheben, wird das bestehende Relationenschema R wird in mehrere Relationenschemata R 1,..., R n zerlegt, die dann besser sind. Die Güte einer Zerlegung wird mit beschrieben. : 1NF, 2NF, 3NF, BCNF, 4NF,... Korrektheitskriterien für Zerlegung: Verlustlosigkeit: Die in der ursprünglichen Relationenausprägung R des Schemas R enthaltenen Daten müssen aus den Ausprägungen R 1,..., R n der neuen Relationenschemata R 1,..., R n rekonstruierbar sein. Abhängigkeitsbewahrung: Alle FDs in F R sollten in den F R1, F R2,...F Rn bewahrt bleiben. 3 / 55

4 Verlustlosigkeit Zerlegung ist gültig, wenn: R = R 1 R 2 D.h. alle Attribute aus R bleiben in der Zerlegung erhalten Wir definieren: R 1 := π R1 (R) R 2 := π R2 (R) die Zerlegung von R in R 1 und R 2 ist verlustlos, falls für jede mögliche (gültige) Ausprägung R von R gilt: R = R 1 R 2 Die Zerlegung muss also durch einen natürlichen Verbund (Join) rekonstruierbar sein. D.h. R 1 R 2 sinnvoller Schlüssel existiert 4 / 55

5 Formale Charakterisierung Verlustloser Zerlegungen Gegeben Zerlegung von R in R 1 und R 2 F R ist die Menge der FDs in R Zerlegung ist verlustlos, wenn mindestens eine der folgenden FDs herleitbar ist: (R 1 R 2 ) R 1 F + R oder d.h. Schlüssel bestimmt R 1 (R 1 R 2 ) R 2 F + R d.h. Schlüssel bestimmt R 2 Beispiel: Seien α, β und γ paarweise disjunkte Attributmengen R = α β γ, R 1 = α β, R 2 = α γ, R 1 R 2 = α Dann muss eine der Bedingungen gelten: β AttrHülle(F R, α) oder γ AttrHülle(F R, α) D.h. die gemeinsamen Joinattribute α müssen R 1 oder R 2 bestimmen. Dies ist eine hinreichende aber nicht notwendige Bedingung! 5 / 55

6 Beispiel für Verlust Biertrinker Kneipe Gast Bier Kowalski Kemper Pils Kowalski Eickler Hefeweizen Innsteg Kemper Hefeweizen wird zerlegt in... π Kneipe,Gast Besucht Kneipe Gast Kowalski Kowalski Innsteg Kemper Eickler Kemper π Gast,Bier Trinkt Gast Bier Kemper Pils Eickler Hefeweizen Kemper Hefeweizen 6 / 55

7 Beispiel für Verlust: Wiederherstellung π Kneipe,Gast π Gast,Bier Besucht Kneipe Gast Kowalski Kowalski Innsteg Kemper Eickler Kemper Trinkt Gast Bier Kemper Pils Eickler Hefeweizen Kemper Hefeweizen Mit Join verbunden gibt.. Biertrinker Kneipe Gast Bier Kowalski Kemper Pils Kowalski Kemper Hefeweizen Kowalski Eickler Hefeweizen Innsteg Kemper Pils Innsteg Kemper Hefeweizen 7 / 55

8 Erläuterung des Biertrinker-Beispiels User Biertrinker-Beispiel war keine verlustlose Zerlegung. Es gibt in Biertrinker nämlich nur die folgende nicht-triviale funktionale Abhängigkeit: {Kneipe, Gast} {Bier} R = {Kneipe} {Gast} {Bier} R 1 = {Kneipe} {Gast}, R 2 = {Gast} {Bier}, R 1 R 2 = {Gast}. Dann muss eine der Bedingungen gelten: {Kneipe} AttrHülle({Kneipe, Gast} {Bier}, {Gast}) oder {Bier} AttrHülle({Kneipe, Gast} {Bier}, {Gast}) Das ist nicht der Fall! Keine der zwei möglichen, die Verlustlosigkeit garantierenden FDs gilt: {Gast} {Bier} {Gast} {Kneipe} 8 / 55

9 Beispiel für Verlustfreie Zerlegung wird zerlegt in... Eltern Vater Mutter Kind Johann Martha Else Johann Maria Theo Heinz Martha Cleo π V ater,kind Väter Vater Kind Johann Johann Heinz Else Theo Cleo π Mutter,Kind Mütter Mutter Kind Martha Maria Martha Else Theo Cleo 9 / 55

10 Erläuterung der Zerlegung der Eltern-Relation R = {V ater, Mutter, Kind} F R = {{Kind} {Mutter}, {Kind} {V ater}} R 1 = {V ater, Kind}, R 2 = {Mutter, Kind}, R 1 R 2 = {Kind}. Dann muss eine der Bedingungen gelten: {V ater} AttrHülle(F R, {Kind}) oder {Mutter} AttrHülle(F R, {Kind}) Hier gelten sogar beide Bedingungen. Also ist die Zerlegung verlustlos. 10 / 55

11 Abhängigkeitsbewahrung:... ist 2. Korrektheitskriterium für eine Zerlegung R ist zerlegt in R 1,..., R n Um bei neu eingefügten Daten zu überprüfen, ob es neue Abhängigkeiten gibt, könnte man zur Sicherheit jedesmal den Join R 1... R n berechne und auf Abhängigkeiten überprüfen Das ist allerdings sehr teuer! Idee: die Abhängigkeiten sollten lokal überprüfbar sein! d.h. Überprüfung kann lokal auf Relationen R 1,..., R n gemacht werden Dafür muss folgende Bedingung gelten: F R (F R1... F Rn ) bzw. F + R = (F R 1... F Rn ) + eine solche Zerlegung heisst auch hüllengetreue Dekomposition! 11 / 55

12 Gegenbeispiel PLZverzeichnis: {[Straße, Ort, Bland, PLZ]} Annahmen: Orte werden durch ihren Namen (Ort) und das Bundesland (Bland) eindeutig identifiziert. Innerhalb einer Straße ändert sich die Postleitzahl nicht PLZ Gebiete gehen nicht über Ortsgrenzen und Orte nicht über Bundeslandgrenzen hinweg. Daraus ergeben sich die folgenden FDs: {PLZ} {Ort, Bland} {Straße, Ort, Bland} {PLZ} Betrachten wir die folgende Zerlegung von PLZverzeichnis: Straßen: {[PLZ, Straße]} Orte: {[PLZ, Ort, Bland]} 12 / 55

13 Zerlegung der Relation PLZverzeichnis PLZVerzeichnis Ort Bland Straße PLZ Frankfurt Hessen Goethestraße Frankfurt Hessen Galgenstraße Frankfurt Brandenburg Goethestraße PLZ π P LZ,Straße Straßen Straße Goethestraße Goethestraße Galgenstraße π Ort,Bland,P LZ Orte Ort BLand PLZ Frankfurt Hessen Frankfurt Hessen Frankfurt Brandenburg Diese Zerlegung ist verlustlos da {PLZ} {Orte, Bland} und PLZ das einzige gemeinsame Attribut. die FD {Straße, Ort, Bland} {PLZ} ist im zerlegten Schema nicht mehr enthalten: Also: Zerlegung ist nicht abhängigkeitserhaltend. 13 / 55

14 PLZ π P LZ,Straße Straßen Straße Goethestraße Goethestraße Galgenstraße Goethestraße π Ort,Bland,P LZ Orte Ort BLand PLZ Frankfurt Hessen Frankfurt Hessen Frankfurt Brandenburg Frankfurt Brandenburg Einfügen der roten Tupel in Zerlegung ist OK.. 14 / 55

15 Zerlegung der Relation PLZverzeichnis (2) Durch einen Join der Zerlegung erhalten wir dann... PLZVerzeichnis Ort Bland Straße PLZ Frankfurt Hessen Goethestraße Frankfurt Hessen Galgenstraße Frankfurt Brandenburg Goethestraße Frankfurt Brandenburg Goethestraße Was fällt auf? Join erzeugt zusätzliches rotes Tupel, das die FD {Straße, Ort, Bland} {PLZ} in PLZverzeichnis verletzt! aber: nur durch die Ausführung des Joins ist diese Verletzung der FD aufzudecken. 15 / 55

16 Zusammenfassung Damit eine Zerlegung korrekt ist, muss sie verlustlos und abhängigkeitserhaltend sein. Verlustlos = keine Daten gehen verloren oder werden zusätzlich erzeugt bei einem Join der zerlegten Relationen. abhängigkeitserhaltend = FDs existieren nur lokal aber nicht Relationen-übergreifend Bisher: Korrektheit der Zerlegung Jetzt: Bewertung der Güte von Relationenschemata Zerlegung von Relationenschemata, um eine höhere Güte zu erreichen Güte = 1NF (NF=Normalform), 2NF, 3NF, BCNF, 4NF, / 55

17 Erste Normalform (1NF) Intuition: keine mengenwertigen Attributwerte Eine Relation R ist in 1NF, wenn sie keine zusammengesetzten, mengenwertigen oder relationenwertigen Domänen hat. Gegenbeispiel: 1NF: Eltern Vater Mutter Kind Johann Martha {Else, Lucie} Johann Maria {Theo, Josef} Heinz Martha {Cleo} Eltern Vater Mutter Kind Johann Martha Else Johann Martha Lucie Johann Maria Theo Johann Maria Josef Heinz Martha Cleo 17 / 55

18 Exkurs: NF 2 Relationen Non-First Normal-Form-Relationen = geschachtelte Relationen Eltern Vater Mutter Kinder Johan Martha Else 5 Lucie 3 Johann Maria Theo 3 Josef 1 Heinz Martha Cleo 9 Vorteil: keine unnötige Wiederholung (=Redundanz) von Vater und Mutter NF 2 eng verwandt mit hierarchischen Datenmodellen (XML) im Folgenden setzen wir immer 1NF voraus 18 / 55

19 Zweite Normalform Intuition: nicht mehr als ein Konzept pro Relation modellieren! Eine Relation R mit zugehörigen FDs F R ist in 2NF, falls jedes Nichtschlüssel-Attribut A R voll funktional abhängig ist von jedem Kandidatenschlüssel der Relation. Seien κ 1,..., κ i die Kandidatenschlüssel von R Seien A R (κ 1... κ i ) Ein solches Attribut A wird als nicht-prim (Nichtschlüssel-Attribut) bezeichnet. Gegensatz: Schlüsselattribute bezeichnet man prim. Dann muss für alle Kandidatenschlüssel κ j (i j i) gelten: κ j A F + Also mit anderen Worten: A ist voll funktional abhängig von jedem κ j κ j muss bereits linksreduziert sein! 2NF verhindert partielle Abhängigkeiten 19 / 55

20 Gegenbeispiel StudentenBelelgung MatrNr VorlNr Name Semester Fichte Schopenhauer Schopenhauer Carnap Carnap Carnap Carnap Kandidatenschlüssel {MatrNr, VorlNr} prim: {MatrNr, VorlNr} nicht-prim: {Name, Semester} StudentenBelegung ist nicht in 2NF: {MatrNr} {Name}, damit nicht voll funktional abhängig von {MatrNr, VorlNr} {MatrNr} {Semester}, damit nicht voll funktional abhängig von {MatrNr, VorlNr} Abhängigkeit zu Teilschlüssel! 20 / 55

21 Einfügeanomalie: Was macht man mit Studenten, die keine Vorlesungen hören? Updateanomalien: Wenn z.b. Carnap ins vierte Semester kommt, muss man sicherstellen, dass alle vier Tupel geändert werden. Löschanomalie: Was passiert wenn Fichte seine einzige Vorlesung absagt? Zerlegung in zwei Relationen: hoeren: {[MatrNr, VorlNr]} Studenten: {[MatrNr, Name, Semester]} Beide Relationen sind in 2NF. 21 / 55 Änderungsanomalien im Gegenbeispiel

22 Dritte Normalform Intuition: Nicht-Schlüssel Attribut darf kein anderes Nicht-Schlüssel Attribut bestimmen. Ein Relationenschema R ist in dritter Normalform, wenn für jede für R geltende FD der Form α B mit Attribut B R mindestens eine von drei Bedingungen gilt: 1. B α, d.h. die FD ist trivial 2. α is Superschlüssel von R 3. B ist prim Eigenschaften: 3NF verhindert partielle und transitive Abhängigkeiten 3NF 2NF 22 / 55

23 Gegenbeispiel: Nicht 2NF StudentenBelegung MatrNr VorlNr Name Semester Fichte Schopenhauer Schopenhauer Carnap Carnap Carnap Carnap Kandidatenschlüssel {MatrNr, VorlNr} {MatrNr} {Name} nicht trivial MatrNr kein Superschlüssel Name ist nicht prim Also: nicht in 3NF analog für {MatrNr} {Semester} Abhängigkeit zu Teilschlüssel durch Superschlüssel-Bedingung in 3NF-Definition abgefragt! 23 / 55

24 Gegenbeispiel: 2NF aber nicht 3NF 24 / 55

25 Gegenbeispiel: 2NF aber nicht 3NF ProfessorenAdr: {[PersNr, Name, Rang, Raum, Ort, Straße, PLZ, Vorwahl, Bland, EW, Landesregierung]} Kandidatenschlüssel: PersNr und Raum FDs: 1. {PersNr} {Name, Rang, Raum, Ort, Straße, Bland} 2. {Raum} {PersNr} 3. {Straße, Bland, Ort} {PLZ} 4. {Ort, Bland} {EW, Vorwahl} 5. {Bland} {Landesregierung} 6. {PLZ} {Bland, Ort} Warum ist diese Relation in 2NF? Warum ist diese Relation nicht in 3NF? 25 / 55

26 Gegenbeispiel ProfessorenAdr: {[PersNr, Name, Rang, Raum, Ort, Straße, PLZ, Vorwahl, Bland, EW, Landesregierung]} Kandidatenschlüssel: PersNr und Raum FDs: 1. {PersNr} {Name, Rang, Raum, Ort, Straße, Bland} 2. {Raum} {PersNr} 3. {Straße, Bland, Ort} {PLZ} 4. {Ort, Bland} {EW, Vorwahl} 5. {Bland} {Landesregierung} 6. {PLZ} {Bland, Ort} FD1 ist OK: PersNr ist Superschlüssel, Raum prim FD2 ist OK: Raum ist Superschlüssel, PersNr prim FD3-6 nicht OK: weder trivial, noch Superschlüssel, noch prim. 26 / 55

27 Synthesealgorithmus Algorithmus ermittelt zu einem gegebenen Relationenschema R mit funktionalen Abhängigkeiten F eine Zerlegung in R 1,..., R n die alle drei folgenden Kriterien erfüllt: 1. R 1,..., R n ist eine verlustlose Zerlegung von R. 2. Die Zerlegung R 1,..., R n ist abhängigkeitserhaltend. 3. Alle R 1,..., R n sind in 3NF. 27 / 55

28 Synthesealgorithmus 1. Bestimme die kanonische Überdeckung F c zu F. Wiederholung: (i) Linksreduktion (ii) Rechtsreduktion (iii) Entfernung von FDs der Form α (iv) Zusammenfassung gleicher linker Seiten 2. Für jede funktionale Abhängigkeit α β F c : Kreiere ein Relationenschema R α := α β Ordne R α die FDs F α := {α β F c α β R α } zu. 3. Falls eines der in Schritt 2 erzeugten Schemata einen Kandidatenschlüssel von R bzgl. F c enthält, sind wir fertig. Sonst wähle einen Kandidatenschlüssel κ R aus und definiere folgendes Schema: R κ := κ F κ := 4. Eliminiere diejenigen Schemata R α, die in einem anderen Relationenschema R α enthalten sind, d.h., R α R α 28 / 55

29 Anwendung: Schritt 1 ProfessorenAdr: {[PersNr, Name, Rang, Raum, ort, Straße, PLZ, Vorwahl, Bland, EW, Landesregierung]} Schritt 1 (kanonische Überdeckung) enthält die FDs: 1. {PersNr} {Name, Rang, Raum, Ort, Straße, Bland} 2. {Raum} {PersNr} 3. {Straße, Bland, Ort} {PLZ} 4. {Ort, Bland} {EW, Vorwahl} 5. {Bland} {Landesregierung} 6. {PLZ} {Bland, Ort} 29 / 55

30 Anwendung: Schritt 2 Schritt 2: Aus den FDs Relationen erzeugen 1. {PersNr} {Name, Rang, Raum, Ort, Straße, Bland} Professoren: {[PersNr, Name, Rang, Raum, Ort, Straße, Bland]} 2. {Raum} {PersNr} ProfessorenRäume: {[Raum, PersNr]} 3. {Straße, Bland, Ort} {PLZ} PLZverzeichnis: {[Straße, Bland, Ort, PLZ]} 4. {Ort, Bland} {EW, Vorwahl} StädteVerzeichnis: {[Ort, Bland, EW, Vorwahl]} 5. {Bland} {Landesregierung} Regierung: {[Bland, Landesregierung]} 6. {PLZ} {Bland, Ort} PLZverzeichnis2: {[PLZ, Bland, Ort]} 30 / 55

31 Anwendung: Schritt 3 Schritt 3: Neue Relation falls keine Rel. mit Kand.-Schlüssel: 1. {PersNr} {Name, Rang, Raum, Ort, Straße, Bland} Professoren: {[PersNr, Name, Rang, Raum, Ort, Straße, Bland]} 2. {Raum} {PersNr} ProfessorenRäume: {[ Raum, PersNr]} 3. {Straße, Bland, Ort} {PLZ} PLZverzeichnis: {[Straße, Bland, Ort, PLZ]} 4. {Ort, Bland} {EW, Vorwahl} StädteVerzeichnis: {[Ort, Bland, EW, Vorwahl]} 5. {Bland} {Landesregierung} Regierung: {[Bland, Landesregierung]} 6. {PLZ} {Bland, Ort} PLZverzeichnis2: {[PLZ, Bland, Ort]} Raum und PersNr sind beide Kandidatenschlüssel. Schritt 3 erzeugt für dieses Beispiel keine neue Relation. 31 / 55

32 Anwendung: Schritt 4 Schritt 2: Aus den FDs Relationen erzeugen 1. Professoren: {[PersNr, Name, Rang, Raum, Ort, Straße, Bland]} 2. ProfessorenRäume: {[ Raum, PersNr]} Professoren 3. PLZverzeichnis: {[Straße, Bland, Ort, PLZ]} 4. StädteVerzeichnis: {[Ort, Bland, EW, Vorwahl]} 5. Regierung: {[Bland, Landesregierung]} 6. PLZverzeichnis2: {[PLZ, Bland, Ort]} PLZverzeichnis Fertig! 32 / 55

33 Anderes Beispiel für Schritt 3 StudentenBelegung(MatrNr, VorlNr, Name, Semester) kanonische Überdeckung hierfür: {MatrNr} {Name, Semester} daraus folgt die Relation: Student(MatrNr, Name, Semester) Student enthält keinen Kandidatenschlüssel. deswegen Schritt 3: hören(matrnr, VorlNr) Ansonsten würde die Information wer welche VL hört wegfallen. 33 / 55

34 Wiederholung: Dritte Normalform Intuition: Nicht-Schlüssel Attribut darf kein anderes Nicht-Schlüssel Attribut bestimmen. Ein Relationenschema R ist in dritter Normalform, wenn für jede für R geltende FD der Form α B mit Attribut B R mindestens eine von drei Bedingungen gilt: 1. B α, d.h. die FD ist trivial 2. α is Superschlüssel von R 3. B ist prim Eigenschaften: 3NF verhindert partielle und transitive Abhängigkeiten 3NF 2NF 34 / 55

35 Boyce-Codd-Normalform Die Boyce-Codd-Normalform (BCNF) ist nochmals eine Verschärfung der 3NF. Intuition: Jedes Attribut darf nur den gesamten Schlüssel beschreiben und nichts anderes. Ein Relationenschema R mit FDs F ist in BCNF, wenn für jede für R geltende funktionale Abhängigkeit der Form α B mit Attribut B R mindestens eine von zwei Bedingungen gilt: 1. B α, d.h. die FD ist trivial 2. α ist Superschlüssel von R Unterschied zu 3NF: 3. Bedingung fällt weg (B ist prim). Man kann jede Relation verlustlos in BCNF-Relationen zerlegen Aber: manchmal lässt sich dabei die Abhängigkeitserhaltung nicht erziehlen! 35 / 55

36 Städte ist in 3NF, aber nicht in BCNF Städte: {[Ort, Bland, Ministerpräsident/in, EW]} Geltende FDs: 1. {Ort, Bland} {EW} 2. {Bland} {Ministerpräsident/in} 3. {Ministerpräsident/in} {Bland} Kandidatenschlüssel: {Ort, Bland} {Ort, Ministerpräsident/in} linke Seite von FD1 ist Superschlüssel (Bedingung 2) rechten Seiten von FD2 und FD3 sind prim (Bedingung 3) Also: 3NF linke Seiten von FD2 und FD3 sind aber kein Superschlüssel Also: nicht in BCNF D.h.: BCNF verhindert zusätzlich zu 3NF transitive Abhängigkeiten zu Schlüssel-Attributen wer welches Bundesland regiert wird hier also mehrfach abgespeichert 36 / 55

37 Dekomposition Man kann grundsätzlich jedes Relationenschema R mit funktionalen Abhängigkeiten F so in R 1,..., R n zerlegen, dass gilt R 1,..., R n ist eine verlustlose Zerlegung von R Alle R 1,..., R n sind in BCNF. Es kann allerdings nicht immer erreicht werden, dass die Zerlegung R 1,..., R n abhängigkeitserhaltend ist Dies ist in der Praxis selten. 37 / 55

38 Dekompositions-Algorithmus für BCNF Starte mit Z = {R} Solange es noch ein Relationenschame R i Z gibt, das nicht in BCNF ist, mache folgendes: 1. Es gibt also eine für R i geltende nicht-triviale funktionale Abhängigkeit α β mit: α β = (α und β sind disjunkt) (α R i) (α kein Superschlüssel von R i) 2. Finde eine solche FD: Man sollte sie so wählen, dass β alle von α funktionalen abhängigen Attribute B (R i α) enthält, damit der Dekompositionsalgorithmus möglichst schnell terminiert. 3. Zerlege R i in R i1 := α β und R i2 := R i β 4. Entferne R i aus Z und füge R i1 und R i2 ein: Z := (Z R i ) R i1 R i2 38 / 55

39 Veranschaulichung eines Dekompositionsschrittes R i1 R i2 β α γ = R i (α β) 39 / 55

40 Dekomposition der Relation Städte in BCNF-Relationen Städte: {[Ort, Bland, Ministerpräsident/in, EW]} Geltende FDs: 1. {Ort, Bland} {EW} 2. {Bland} {Ministerpräsident/in} 3. {Ministerpräsident/in} {Bland} R i1 Regierungen: {[Bland, Ministerpräsident/in]} R i2 Städte: {[Ort, Bland, EW]} 40 / 55

41 Veranschaulichung Regierungen Städte2 {Ministerpräsident/in} {Bland} {Ort, EW} Zerlegung ist verlustlos und auch abhängigkeitserhaltend. warum? 41 / 55

42 Weiteres Beispiel: Dekomposition des PLZVerzeichnis in BCNF-Relationen PLZVerzeichnis: {[Straße, Ort, Bland, PLZ]} 1. {Straße, Ort, Bland} {PLZ} OK 2. {PLZ} {Ort, Bland} verletzt BCNF warum? Betrachte nun die Zerlegung: Orte: {[PLZ, Ort, Bland]} Straßen: {[PLZ, Straße]} Diese Zerlegung ist verlustlos, aber nicht abhängigkeitserhaltend, warum? 42 / 55

43 Mehrwertige Abhängigkeiten Bislang: Funktionale Abhängigkeiten der Form Ausprägung R Seien α R und β R α β genau dann, wenn r, s R gilt: r.α = s.α r.β = s.β D.h. die α-werte bestimmen die β-werte funktional (=eindeutig) Nun: Mehrwertige Abhängigkeiten (multivalued dependencies) Notation: α β Falls einem Attributwert α eine Menge von β-werten zugeordnet werden. Genaue Defintion folgt (gleich). 43 / 55

44 Mehrwertige Abhängigkeiten: Beispiel Fähigkeiten PersNr Sprache ProgSprache 3002 griechisch C 3002 lateinisch Pascal 3002 griechisch Pascal 3002 lateinisch C 3005 deutsch Ada Mehrwertige Abhängigkeiten dieser Relation: {PersNr} {Sprache} und {PersNr} {ProgSprache} MVDs führen zu Redundanz und Anomalien 44 / 55

45 Mehrwertige Abhängigkeiten R A B C a b c a bb cc a b cc a bb c A B A C Bei zwei Tupeln mit gleichen α-werten kann man die β-werte vertauschen und die resultierenden Tupel müssen auch in der Relation sein. 45 / 55

46 Mehrwertige Abhängigkeiten: Definition 1 R α β γ {}}{{}}{{}}{ A 1,..., A i A i+1,..., A j A j+1,..., A n t 1 a 1,..., a i a i+1,..., a j a j+1,..., a n t 2 a 1,..., a i b i+1,..., b j b j+1,..., b n t 3 a 1,..., a i a i+1,..., a j b j+1,..., b n t 4 a 1,..., a i b i+1,..., b j a j+1,..., a n α β gilt genau dann, wenn für jede Ausprägung von R gilt: wenn es zwei Tupel t 1 und t 2 mit gleichen α-werten gibt, dann muss es auch zwei Tupel t 3 und t 4 geben mit t 1.α = t 2.α = t 3.α = t 4.α (alle α-werte gleich) t 3.β = t 1.β,t 4.β = t 2.β (β-paare gleich) t 3.γ = t 2.γ, t 4.γ = t 1.γ (γ-paare vertauscht) 46 / 55

47 Veranschaulichung: Spezialfall Veranschaulichung für MVD α β: Wenn α, β, γ jeweils nur aus einem Attribut A, B, und C bestehen: Wenn {b 1,..., b i } und {c 1,..., c j } die B bzw. C-Werte für einen bestimmen A-Wert a sind, dann muss die Relation auch die folgenden (i j) Tupel enhalten: {a} {b 1,..., b i } {c 1,..., c j } 47 / 55

48 Mehrwertige Abhängigkeiten: Definition 2 Eine mehrwertige Abhängigkeit (multivalued dependency, MVD) α β besagt, dass einem Attribut α in R eine Menge von β-werten zugeordnet werden. Wenn die MVD α β in R erfüllt, dann kann es als Erweiterung zu FDs α, β, c geben mit π β (σ α=c (R)) > 1 Diese Zuordnung ist unabhängig von den restlichen Attributen in R Mit anderen Worten: α bestimmt nicht nur einen einzelnen Wert (ein singleton) genau das ist ja bei einer normalen FD α β der Fall! sondern eine Menge von Werten diese Wertemenge ist unabhängig von den anderen Attributen in γ = R α β Natürlich: Jede FD ist auch eine MVD (aber nicht umgekehrt) 48 / 55

49 Beispiel Fähigkeiten PersNr Sprache ProgSprache 3002 griechisch C 3002 lateinisch Pascal 3002 griechisch Pascal 3002 lateinisch C 3005 deutsch Ada π P ersnr,sprache Sprachen PersNr Sprache 3002 griechisch 3002 lateinisch 3005 deutsch π P ersnr,p rogsprache ProgSprachen PersNr ProgSprache 3002 C 3002 Pascal 3005 Ada 49 / 55

50 Verlustlose Zerlegung bei MVDs: hinreichende + notwendige Bedingung Die Zerlegung von R in R 1 und R 2 ist verlustlos genau dann, wenn R = R 1 R 2 und mindestens eine von zwei MVDs gilt: R 1 R 2 R 1 oder R 1 R 2 R 2 Für unser Beispiel gilt: {PersNr, Sprache, ProgrSprache} = {PersNr, Sprache} {PersNr, ProgSprache} {PersNr} {Sprache} {PersNr} {ProgSprache} D.h. es gelten sogar beide MVDs! 50 / 55

51 MVDs in Paaren es gilt zusätzlich: wenn α β, dann gilt immer α γ mit γ = R α β D.h. MVDs treten immer als Paare auf wir könnten MVDs deshalb auch so notieren: α β γ 51 / 55

52 Triviale MVDs sind solche, die von jeder Relationenausprägung R von R erfüllt werden. α β R Eine MVD α β ist trivial genau dann, wenn 1. β α oder 2. β = R α Nur die Bedigung 1 galt auch für normale FDs. Beispiel für Bedingung 2: R = {P ersnr, Sprache} α = {P ersnr} β = {Sprache} R α = {P ersnr, Sprache} {P ersnr} = {Sprache} = β MVD ist trivial! 52 / 55

53 Vierte Normalform Eine Relation R ist in 4NF, wenn für jede MVD α β eine der folgenden Bedingungen gilt: Die MVD ist trivial oder α ist Superschlüssel von R D.h. 4NF ist sehr ähnlich zu BCNF! Unterschied: MVDs statt FDs Definition von trivial wurde erweitert. 4NF erfüllt BCNF erfüllt, da jede FD eine MVD ist. 53 / 55

54 Dekomposition in 4NF Starte mit der Menge Z := {R} Solange es noch ein Relationenschema R i in Z gibt, dass nicht in 4NF ist, mache folgendes: Es gibt also eine für R i geltende nicht-triviale MVD (α β), für die gilt: α β = (α R i ) Finde eine solche MVD Zerlege R i in R i1 := α β und R i2 := R i β Entferne R i aus Z und füge R i1 und R i2 ein, also Z := (Z R i ) {R i1 } {R i2 } 54 / 55

55 Zusammenfassung Die Verlustlosigkeit ist für alle Zerlegungsalgorithmen in alle garantiert. Die Abhängigkeitserhaltung kann nur bis zur dritten Normalform garantiert werden. 55 / 55

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester Informationssysteme Sommersemester 2016 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Normalformen Wiederholung: Normalisierung von Relationen Um Qualitätsprobleme im ursprünglichen

Mehr

Relationale Entwurfstheorie (Teil 2)

Relationale Entwurfstheorie (Teil 2) Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken (Teil 2) Dr. Gerd Gröner Wintersemester 2013/14 Gliederung Funktionale Abhängigkeiten Dekomposition der Relationenschemata:

Mehr

Kapitel 6 Relationale Entwurfstheorie. Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition

Kapitel 6 Relationale Entwurfstheorie. Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition Kapitel 6 Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition Ziele der relationalen Entwurfstheorie Bewertung der Qualität eines Relationenschemas Redundanz

Mehr

Relationale Entwurfstheorie

Relationale Entwurfstheorie Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition Ziele der relationalen Entwurfstheorie Bewertung der Qualität eines Relationenschemas Redundanz Einhaltung

Mehr

Relationale Entwurfstheor

Relationale Entwurfstheor Relationale Entwurfstheor Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition Kapitel 6 1 Ziele der relationalen Entwurfstheorie Bewertung der Qualität eines Relationenschemas Redundanz

Mehr

Relationale Entwurfstheor

Relationale Entwurfstheor Relationale Entwurfstheor Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition Kapitel 6 1 Ziele der relationalen Entwurfstheorie Bewertung der Qualität eines Relationenschemas Redundanz

Mehr

Relationale Entwurfstheorie

Relationale Entwurfstheorie Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition Funktionale Abhängigkeiten Def.: Sei R ein Schema, und R. Die funktionale Abhängigkeit gilt, wenn

Mehr

Relationale Entwurfstheorie

Relationale Entwurfstheorie Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition Funktionale Abhängigkeiten Def.: Sei R ein Schema, und R. Die funktionale Abhängigkeit gilt, wenn

Mehr

Relationale Entwurfstheorie

Relationale Entwurfstheorie Grundlagen der Datenbanken Relationale Entwurfstheorie Dr. Jérôme Kunegis Wintersemester 2012/13 Relationale Entwurfstheorie Jérôme Kunegis GLDB 2012/13 Lernziele Charakterisierung "guter" relationaler

Mehr

Einführung in Datenbanksysteme

Einführung in Datenbanksysteme Prof. Dr. Ralf Möller TUHH Relationale Entwurfstheorie Das relationale Datenmodell 3.1 RDM: Anfragen Relationale Anfragesprachen im Überblick: geschachtelte Mengenausdrücke Relationale Algebra Relationales

Mehr

Kapitel 11: Relationale Entwurfstheorie

Kapitel 11: Relationale Entwurfstheorie Kapitel 11: Relationale Entwurfstheorie Funktionale Abhängigkeiten α β β ist funktional abhängig von α r, t R : r.α = t.α r.β = t.β R A B C D a 4 b 2 c 4 d 3 a 1 b 1 c 1 d 1 a 1 b 1 c 1 d 2 a 2 b 2 c 3

Mehr

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 Kapitel 12: Relationale Entwurfstheorie Oliver Vornberger Institut für Informatik Universität Osnabrück Funktionale Abhängigkeiten ist funktional abhängig von r, t R : r. = t. r.

Mehr

Datenbanken. Relationale Entwurfstheorie. Ralf Möller, Marc Stelzner Universität zu Lübeck Institut für Informationssysteme

Datenbanken. Relationale Entwurfstheorie. Ralf Möller, Marc Stelzner Universität zu Lübeck Institut für Informationssysteme Datenbanken Relationale Entwurfstheorie Ralf Möller, Marc Stelzner Universität zu Lübeck Institut für Informationssysteme RDM: Anfragen Relationale Anfragesprachen im Überblick: geschachtelte Mengenausdrücke

Mehr

Normalisierung II. Ziele

Normalisierung II. Ziele Normalisierung II Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Verlustlosigkeit Abhängigkeitsbewahrung Algo: Dekomposition Algo: Basis Algo: Synthese Lehr- und Forschungseinheit

Mehr

Kapitel 6 Relationale Entwurfstheorie. Funktionale Abhängigkeiten Normalformen Synthesealgorithmus Dekomposition Mehrwertige Abhängigkeiten

Kapitel 6 Relationale Entwurfstheorie. Funktionale Abhängigkeiten Normalformen Synthesealgorithmus Dekomposition Mehrwertige Abhängigkeiten Kapitel 6 Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Synthesealgorithmus Dekomposition Mehrwertige Abhängigkeiten Ziele der relationalen Entwurfstheorie Bewertung der Qualität

Mehr

Relationale Entwurfstheorie

Relationale Entwurfstheorie Grundlagen der Datenbanken Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Charakterisierung "guter" relationaler Schemata: - jede Relation entspricht genau einer Objektmenge - eventuell unter Einbezug

Mehr

Datenbanken Relationale Entwurfstheorie. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

Datenbanken Relationale Entwurfstheorie. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Datenbanken Relationale Entwurfstheorie Ralf Möller Universität zu Lübeck Institut für Informationssysteme RDM: Anfragen Relationale Anfragesprachen im Überblick: geschachtelte Mengenausdrücke Relationale

Mehr

Kapitel DB:VII (Fortsetzung)

Kapitel DB:VII (Fortsetzung) Kapitel DB:VII (Fortsetzung) VII. Entwurfstheorie relationaler Datenbanken Informelle Entwurfskriterien für Relationenschemata Funktionale Abhängigkeiten Normalformen Dekompositionseigenschaften von Relationen

Mehr

Kapitel DB:VII (Fortsetzung)

Kapitel DB:VII (Fortsetzung) Kapitel DB:VII (Fortsetzung) VII. Entwurfstheorie relationaler Datenbanken Informelle Entwurfskriterien für Relationenschemata Funktionale Abhängigkeiten Normalformen Dekompositionseigenschaften von Relationen

Mehr

8. Tutorübung zu Grundlagen: Datenbanken

8. Tutorübung zu Grundlagen: Datenbanken 8. Tutorübung zu Grundlagen: Datenbanken Chaoran Chen chaoran.chen@in.tum.de 01.12-07.12.2014 Relationale Entwurfstheorie Normalformen 1. Normalform 2. Normalform 3. Normalform Boyce-Codd Normalform (BCNF)

Mehr

3. Normalform. Redundanz: Land mehrfach gespeichert Anomalien?

3. Normalform. Redundanz: Land mehrfach gespeichert Anomalien? 3. Normalform Motivation: Man möchte zusätzlich verhindern, dass Attribute von nicht-primen Attributen funktional abhängig sind. Beispiel: LieferAdr (LNr, LName, LStadt, LLand) 001 Huber München Deutschland

Mehr

Rückblick: Relationale Entwurfstheorie

Rückblick: Relationale Entwurfstheorie Rückblick: Relationale Entwurfstheorie Redundanzen führen zu Anomalien beim Einfügen, Löschen und Ändern Gute Relationenschemata vermeiden Redundanzen und damit Anomalien Funktionale Abhängigkeiten zwischen

Mehr

Zerlegung einer Relation

Zerlegung einer Relation Normalformen Normalisierung Normalformen definieren Qualitätskriterien (Vermeidung der Inkonsistenzen) Redundanz ist oft die Ursache von Schemata Probleme (keine FDs keine Redundanz) Normalisierung: Jede

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken 1. Zentralübung Harald Lang FAQs Ist der Prüfungtermin schon bekannt? Termin: Mi. 18.02.2015, 08:00 Uhr FAQs Gilt der Bonus auch für die Nachholklausur? Ja. Selbst dann, wenn die

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Vorlesung Datenbankanwendung Prof. Dr.-Ing. S. Michel TU Kaiserslautern Datenbankanwendung,

Mehr

Datenbanken 6: Normalisierung

Datenbanken 6: Normalisierung Datenbanken 6: Normalisierung 27 III 2017 Outline 1 SQL 2 Überblick Datenbankdesign 3 Anomalien 4 Datenbank Normalisierung Zerlegung von Relationen 5 Normalisierung Erste Normalform Zweite Normalform Dritte

Mehr

Datenbanken 6: Normalisierung

Datenbanken 6: Normalisierung Datenbanken 6: Normalisierung 26. IV. 2016 Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte

Mehr

Normalisierung I. Ziele

Normalisierung I. Ziele Normalisierung I Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Formale Ermittlung von Schlüsselkandidaten Funktionale Abhängigkeiten Normalformen Lehr- und Forschungseinheit Datenbanken

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 7 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de)

Mehr

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Übung 9 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/fischerd/ Technische Universität München Fakultät für Informatik

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken

Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden? Beispiel: Kunde(KName, KAdr, Kto) Auftrag(KName,

Mehr

Datenbanken Unit 5: Funktionale Abhängigkeit

Datenbanken Unit 5: Funktionale Abhängigkeit Datenbanken Unit 5: Funktionale Abhängigkeit 19 IV 2016 Outline 1 Organisatorisches 2 SQL 3 Funktionale Abhängigkeit 4 Anomalien 5 Datenbank Normalisierung Zerlegung von Relationen Organisatorisches Heute

Mehr

Relationale Entwurfstheorie. Kapitel 5 201 / 510

Relationale Entwurfstheorie. Kapitel 5 201 / 510 Kapitel 5 Relationale Entwurfstheorie 201 / 510 Relationale Entwurfstheorie Ein schlecht entworfenes Schema führt zu folgenden Anomalien Updateanomalien: bei Änderungen eines Fakts müssen viele Tupel angefaßt

Mehr

Kapitel DB:VII. VII. Entwurfstheorie relationaler Datenbanken

Kapitel DB:VII. VII. Entwurfstheorie relationaler Datenbanken Kapitel DB:VII VII. Entwurfstheorie relationaler Datenbanken Informelle Entwurfskriterien für Relationenschemata Funktionale Abhängigkeiten Normalformen Dekompositionseigenschaften von Relationen Relationale

Mehr

Verfeinerung des relationalen Schemas

Verfeinerung des relationalen Schemas Verfeinerung des relationalen Schemas Ein schlechtes Schema Filmliste Titel Regisseur Kino Telefonnummer Zeit The Hobbit Jackson Cinema City 441111 11:30 The Lord of the Rings3 Jackson Cinema City 441111

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Themenübersicht Relationale Entwurfstheorie. Inhalt

Themenübersicht Relationale Entwurfstheorie. Inhalt Themenübersicht Relationale Entwurfstheorie Datenbanken Relationale Entwurfstheorie Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Richtlinien für den relationalen

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 8 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/

Mehr

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg Datenbanken 1 Relationale Entwurfstheorie Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at Sommersemester 2015 Version: 23. Juni

Mehr

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg Datenbanken 1 Relationale Entwurfstheorie Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at Sommersemester 2016 Version 29. Juni

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 11 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

Relationaler Datenbank-Entwurf. Kapitel 7: Normalformen. Schrittweises Vorgehen:

Relationaler Datenbank-Entwurf. Kapitel 7: Normalformen. Schrittweises Vorgehen: Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2003/2004 Abteilung für Datenbanksysteme 2002 Christian

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 18. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 18. Juni 2007 7. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 18. Juni 2007 Aufgabe 1 Geben Sie jeweils die höchste Normalform (in

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2008/2009 Vorlesung: Prof. Dr. Christian Böhm Übungen:

Mehr

Datenbanken Unit 7: Normalisierung ctd.

Datenbanken Unit 7: Normalisierung ctd. Datenbanken Unit 7: Normalisierung ctd. 4. IV. 2017 Outline 1 Organisatorisches 2 SQL 3 Normalisierung ctd Wiederholung 1NF bis 3NF/BCNF Organisatorisches Zweiter Zwischentest in der ersten UE nach den

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2005/2006 Vorlesung: Dr. Matthias Schubert Übungen: Elke

Mehr

Kapitel 7: Normalformen

Kapitel 7: Normalformen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2013/2014 Vorlesung: Prof. Dr. Christian Böhm Übungen:

Mehr

S.Müllenbach Datenbanken Informationsanalyse Normalformen- 1. Kurse. Name TNR ...

S.Müllenbach Datenbanken Informationsanalyse Normalformen- 1. Kurse. Name TNR ... S.Müllenbach Datenbanken Informationsanalyse Normalformen 1 Datenbanken Normalformentheorie Anomalien e EinfügeAnomalie Es soll ein neuer eingetragen werden : =, = V, ++ preis = ++ => Dies geht jedoch

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Datenbanksysteme 1 Sommersemester Juni 2006

Datenbanksysteme 1 Sommersemester Juni 2006 Lehrstuhl für Praktische Informatik III Prof. Dr. Carl-Christian Kanne Email: cc@pi3.informatik.uni-mannheim.de Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de

Mehr

2. Normalisierung von Relationen

2. Normalisierung von Relationen 2. Normalisierung von Relationen Einführung Funktionale Abhängigkeiten Bestimmung von Schlüsselkandidaten Äquivalenzbeziehungen Zerlegung von Relationen zur Beseitigung von Anomalien Korrektheitskriterien

Mehr

Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden?

Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden? (QWZXUIVWKHRULHUHODWLRQDOHU 'DWHQEDQNHQ Wie sieht ein gutes konzeptionelles Schema der Datenbank aus? Wie kann die Güte eines Datenbankschemas beurteilt werden? %HLVSLHO.XQGHKName.$GU.WR $XIWUDJ(KName,

Mehr

5. Normalisierung von Relationen

5. Normalisierung von Relationen 5. Normalisierung von Relationen Einführung Funktionale Abhängigkeiten Bestimmung von Schlüsselkandidaten Äquivalenzbeziehungen Zerlegung von Relationen zur Beseitigung von Anomalien Korrektheitskriterien

Mehr

5. Normalisierung von Relationen

5. Normalisierung von Relationen 5. Normalisierung von Relationen Einführung Funktionale Abhängigkeiten Bestimmung von Schlüsselkandidaten Äquivalenzbeziehungen Zerlegung von Relationen zur Beseitigung von Anomalien Korrektheitskriterien

Mehr

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05. Vorlesung Datenbanktheorie Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Vorlesung vom Mittwoch, 05. Juli 2006 Letzte Vorlesung: Kurze Bemerkungen zum Armstrong-Kalkül The Chase:

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas Das relationale eato aedatenmodell Studenten hören Vorlesungen MatrNr Name MatrNr VorlNr VorlNr Titel 26120 Fichte 25403 5022 5001 Grundzüge 25403... Jonas... 26120... 5001... 5022... Glaube und Wissen...

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Cognitive Interaction Technology Center of Excellence

Cognitive Interaction Technology Center of Excellence Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich

Mehr

Kapitel 7: Formaler Datenbankentwurf

Kapitel 7: Formaler Datenbankentwurf 7. Formaler Datenbankentwurf Seite 1 Kapitel 7: Formaler Datenbankentwurf Die Schwierigkeiten der konzeptuellen Modellierung sind zu einem großen Teil dadurch begründet, dass sich die relevanten Strukturen

Mehr

7.1.2 Membership-Test - fortgesetzt

7.1.2 Membership-Test - fortgesetzt 7. Formaler Datenbankentwurf 7.1. Funktionale Abhängigkeiten Seite 1 7.1.2 Membership-Test - fortgesetzt Membership-Test: X Y F +? (Attribut-)Hülle X + von X (bzgl. F) X + = {A A V und X A F + }. Membership-Test

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken 3. Zentralübung / Fragestunde Linnea Passing Harald Lang gdb@in.tum.de Diese Folien finden Sie online. Die Mitschrift stellen wir im Anschluss online. Agenda Hinweise zur Klausur

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Historische Entwicklung relationaler DBMS Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel:

Mehr

2. Übungsblatt 3.0 VU Datenmodellierung

2. Übungsblatt 3.0 VU Datenmodellierung 2. Übungsblatt 3.0 VU Datenmodellierung 13. November 2013 Allgemeines In diesem Übungsteil sollten Sie Aufgabenstellungen aus den Bereich SQL und Normalformentheorie bearbeiten. Lösen Sie die Beispiele

Mehr

5. Relationaler Datenbankentwurf. Relationaler DB-Entwurf: Überblick. Bücher-Relation mit Redundanzen

5. Relationaler Datenbankentwurf. Relationaler DB-Entwurf: Überblick. Bücher-Relation mit Redundanzen 5. Relationaler Datenbankentwurf Relationaler DB-Entwurf: Überblick Funktionale Abhängigkeiten Schema-Eigenschaften Transformationseigenschaften Entwurfsverfahren Mehrwertige Abhängigkeiten Weitere Abhängigkeiten

Mehr

Normalformen. Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich. Keine Einfüge-, Lösch-, Änderungsanomalien

Normalformen. Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich. Keine Einfüge-, Lösch-, Änderungsanomalien Normalformen Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich Keine Einfüge-, Lösch-, Änderungsanomalien IX-19 Erste und Zweite Normalform Beispiel: (nicht 1. Normalform) vorrat

Mehr

Wir haben folgende Ausprägung der Relation Studenten:

Wir haben folgende Ausprägung der Relation Studenten: Übungen Aufgabe Wir haben folgende Ausprägung der Relation Studenten: SID Name Email Age Note 2833 Jones jones@scs.ubbcluj.ro 9 9 2877 Smith smith@scs.ubbcluj.ro 2 8 2976 Jones jones@math.ubbcluj.ro 2

Mehr

Vorlesung Datenbanksysteme vom

Vorlesung Datenbanksysteme vom Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,

Mehr

2. Übungsblatt 3.0 VU Datenmodellierung

2. Übungsblatt 3.0 VU Datenmodellierung 2. Übungsblatt 3.0 VU Datenmodellierung 9. April 2014 Allgemeines In diesem Übungsteil sollten Sie Aufgabenstellungen aus den Bereich SQL und Normalformentheorie bearbeiten. Lösen Sie die Beispiele eigenständig,

Mehr

Normalisierung (Dekomposition)

Normalisierung (Dekomposition) Kapitel 6 Normalisierung (Dekomposition) Aufgabe 6.1 [Hülle] gegeben ist: R = {A, B, C, D, E} und F = {A BC, CD E, AC E, B D, E AB} a) Ein Schlüssel für R = (R, F) ist: {E} b) Weitere Schlüssel sind: {A},

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-1 Wiederholung Relationaler Datenbankentwurf

Mehr

4. Normalisierung von Relationenschemata

4. Normalisierung von Relationenschemata 4. Normalisierung von Relationenschemata Ziel: Vermeidung von Anomalien in Relationenschemata wird erreicht durch systematische Vorgehensweise beim Datenentwurf vom eerm zum Relationalen Modell (s. voriges

Mehr

Eigenschaften von Datenbanken, insbesondere

Eigenschaften von Datenbanken, insbesondere Eigenschaften von Datenbanken In diesem Abschnitt beschreiben wir wünschenswerte Eigenschaften von Datenbanken, insbesondere Relationenschemata: Normalformen, die auf mathematischen Modellen beruhen und

Mehr

Teil V Relationaler Entwurf

Teil V Relationaler Entwurf Teil V Relationaler Entwurf Relationaler Entwurf 1 Zielmodell des logischen Entwurfs 2 Relationaler DB-Entwurf 3 Normalformen 4 Transformationseigenschaften 5 Weitere Abhängigkeiten Sattler / Saake Datenbanksysteme

Mehr

Grundlagen des relationalen l Modells

Grundlagen des relationalen l Modells Grundlagen des relationalen l Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Einführung in Datenbanksysteme

Einführung in Datenbanksysteme Prof. Dr. Ralf Möller TUHH Das relationale Datenmodell Das relationale Datenmodell 2.1 3.1 RDM: Überblick über die Konzepte (1) Eine Datenbank ist eine Menge benannter Relationen. Eine Relation ist eine

Mehr

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y Kapitel 7 Normalformen und DB-Entwurf Kap. 7.1 Normalformen Theorie Funktionale Abhängigkeit: f X Y f als Relation, d.h. Menge von Paaren {(x,y)} x: Definitions-Stelle, y: Funktionswert f ist Funktion

Mehr

4.1 Relationale DB-Entwurfstheorie, Normalformen

4.1 Relationale DB-Entwurfstheorie, Normalformen 4 Relationaler Datenbankentwurf 4.1 Relationale DB-Entwurfstheorie, Normalformen Vorgaben des Relationalen Datenmodells: Attributwerte von Relationen sind atomar ( 1. Normalform ) Entities und Beziehungen

Mehr

Rückblick: Datenbankentwurf

Rückblick: Datenbankentwurf Rückblick: Datenbankentwurf Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben Gegenstände

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Relationaler Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra Relationale

Mehr

Grundlagen: Datenbanken WS 15/16

Grundlagen: Datenbanken WS 15/16 Grundlagen: Datenbanken WS 15/16 2. Zentralübung / Wiederholung / Fragestunde Harald Lang gdb@in.tum.de Diese Folien finden Sie online. Die Mitschrift erhalten Sie im Anschluss. Termine Klausur 24.02.2016,

Mehr

4.2.2.2 Funktionale Abhängigkeiten

4.2.2.2 Funktionale Abhängigkeiten Funktionale Abhängigkeiten 4.2.2.2 Funktionale Abhängigkeiten 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Spezielle Formen von FDs Ist die linke Seite einer FD nicht mehr verkleinerbar (reduzierbar),

Mehr

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax funktionale Abhängigkeiten: Syntax < R U F > ein Relationenschema mit R ein Relationensymbol, U eine Menge von Attributen, F eine Menge von funktionalen Abhängigkeiten (über R und U) Eine funktionale Abhängigkeit

Mehr

2. Übungsblatt 3.0 VU Datenmodellierung

2. Übungsblatt 3.0 VU Datenmodellierung 2. Übungsblatt 3.0 VU Datenmodellierung 3. Dezember 2014 Allgemeines In diesem Übungsteil sollten Sie Aufgabenstellungen aus den Bereich SQL und Normalformentheorie bearbeiten. Lösen Sie die Beispiele

Mehr

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 06.05.2014 Matrikelnr.

Mehr

4. Normalformen. Qualitätsanforderungen an Tabellen. Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen

4. Normalformen. Qualitätsanforderungen an Tabellen. Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen 4. Normalformen Qualitätsanforderungen an Tabellen Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen 79 Normalisierungsgründe Verständlicheres Datenmodell für Anwender und Entwickler Vermeidung

Mehr

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D, D 2,, D n Domänen (Wertebereiche) elation: D x x D n Bsp.: Telefonbuch string x string x integer Mickey Mouse Mini Mouse Donald Duck Telefonbuch Straße Main

Mehr

Datenbanksysteme Übungsblatt 1

Datenbanksysteme Übungsblatt 1 Datenbanksysteme Übungsblatt 1 Sommersemester 2003 AIFB Institut für Angewandte Informatik und Formale Beschreibungsverfahren 1 Aufgabe 1a (1/2) Änderungsanomalie: Wenn eine Änderung nicht überall ordnungsgemäß

Mehr

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Datenbanken Das Relationale Datenmodell Ralf Möller Universität zu Lübeck Institut für Informationssysteme RDM: Überblick über die Konzepte (1) Eine Datenbank ist eine Menge benannter Relationen Eine Relation

Mehr

Datenbanksysteme I Übung: Normalformen und Relationale Algebra Jana Bauckmann

Datenbanksysteme I Übung: Normalformen und Relationale Algebra Jana Bauckmann Datenbanksysteme I Übung: Normalformen und Relationale Algebra 29.11.2007 Jana Bauckmann Organisatorisches 2 Zur Abgabe: Eine Aufgabe pro Blatt sonst -1Punkt Namen auf jedes Blatt sonst -1Punkt Übungstermine

Mehr

Programmierung und Datenbanken II

Programmierung und Datenbanken II Programmierung und Datenbanken II Wiederholung Was haben wir bisher getan? Anwendungsbereich analysiert Datenobjekte + Beziehungen identifiziert Modelle erstellt Modellhafte Aufbereitung der Analyse (ERM/SERM)

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 03.12.2015 Matrikelnr.

Mehr

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Datenbanken Das Relationale Datenmodell Ralf Möller Universität zu Lübeck Institut für Informationssysteme RDM: Überblick über die Konzepte (1) Eine Datenbank ist eine Menge benannter Relationen Eine Relation

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 9 Übung zur Vorlesung Grundlagen: Datenbanken im WS4/5 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws45/grundlagen/

Mehr

Chapter 6 Normalisierung

Chapter 6 Normalisierung Chapter 6 Lecture Datenbanken 23.04.2014 Erste 1NF und verfahren und Berner Fachhochschule Technik und Informatik 6.1 Contents 1 2 Erste 1NF 3 4 5 6 und verfahren Erste 1NF und verfahren und 7 und 6.2

Mehr