Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

45
Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie

Transcript of Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Page 1: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Dr. Brigitte Mathiak

Kapitel 7

Relationale Entwurfstheorie

Page 2: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 2

Lernziele

• Charakterisierung "guter" relationaler Schemata:

- jede Relation entspricht genau einer Objektmenge - eventuell unter Einbezug von N:1- oder 1:1-Relationships - oder genau einer Relationship-Menge zwischen Objekten

- Redundanz ist eliminiert, alle Informationen sind repräsentierbar, und es treten keinerlei "Änderungsanomalien" auf

a) Änderungen können bei Beachtung der Primärschlüssel- und Fremdschlüsselbedingung keine Inkonsistenzen hervorrufen

b) alle Informationen lassen sich unter Wahrung der Primärschlüssel- und Fremdschlüsselbedingung (ohne "Kunstgriffe") einfügen

c) Informationen können einzeln wieder gelöscht werden, ohne die Primärschlüssel oder Fremdschlüsselbedingung zu verletzen

• Ausnahmen wenn „schlechte“ Schemata sinnvoll sind

Page 3: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Erste Beispiel: „Schlechtes“ Datenbankschema

Warum ist das eine schlechte Idee?

Jeder für sich mit Zettel und Stift; 5 min

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 3

ProfVorlPersNr Name Titel

2125 Sokrates Ethik, Mäeutik, Logik

2126 Russel Erkenntnistheorie, Wissenschaftstheorie, Bioethik

2127 Kopernikus n.a.

… … …

Page 4: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Zu wenig Struktur

Pro Zelle darf immer nur ein Fakt stehen, sonst können diese nicht einzeln abgefragt werden.

… sonst können sie nicht einzeln referenziert werden. … sonst können keine Zusatzinformationen zu den Fakten

gespeichert werden. … sonst werden Einfüge- und Löschoperationen einzelner Fakten

zu komplexen Stringoperationen.

(Siehe auch die Probleme, die bei Aufgabenblatt 1 entstanden sind)

Wenn in jeder Zelle nur ein Fakt steht, heißt das

1. Normalform

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 4

Page 5: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 5

Wie komme ich in die Erste Normalform?

Beispiel (falsch):

In 1 NF

Eltern

Vater Mutter Kinder

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

Page 6: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Aber …

… manchmal kann es sinnvoll sein, die Daten doch einfach so zu speichern. Zum Beispiel:

• Die einzelnen Fakten stehen getrennt gar nicht zur Verfügung• müssten erst aufwändig getrennt werden • werden getrennt nicht benötigt (Achtung!!! Könnte sich ändern)Weiterhin: Im letzten Kapitel haben wir gesehen, dass es einen Mismatch

zwischen relationalem Datenmodell und objektorientierten Datenmodell besteht.

Es gibt Datenbanken (objektrelationale), die es erlauben direkt Objekte und Listen zu speichern und dann auch darauf zuzugreifen.

Nachteil: Unterobjekte können nicht mehr direkt zugegriffen werden, es muss über die Oberobjekte navigiert werden. Das Schema wird komplexer, Anfragen werden schwieriger...

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 6

Page 7: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 7

Exkurs: NF2-Relationen

Non-First Normal-Form-RelationenGeschachtelte Relationen (Oracle: Nested Tables)

ElternVater Mutter Kinder

KName KAlter

Johann Martha Else 5

Lucie 3

Johann Maria Theo 3

Josef 1

Heinz Martha Cleo 9

Page 8: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 8

Beispiel 2: "Schlechte" Relationenschemata

ProfVorlPersNr Name Rang Raum VorlNr Titel SWS

2125 Sokrates C4 226 5041 Ethik 4

2125 Sokrates C4 226 5049 Mäeutik 2

2125 Sokrates C4 226 4052 Logik 4

... ... ... ... ... ... ...

2132 Popper C3 52 5259 Der Wiener Kreis 2

2137 Kant C4 7 4630 Die 3 Kritiken 4

Page 9: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 9

Beispiel 2: "Schlechte" Relationenschemata

Update-AnomalienSokrates zieht um, von Raum 226 in R. 338. Was passiert?

Einfüge-AnomalienNeue/r Prof ohne Vorlesungen?

LöschanomalienLetzte Vorlesung einer/s Profs wird gelöscht? Was passiert?

ProfVorlPersNr Name Rang Raum VorlNr Titel SWS

2125 Sokrates C4 226 5041 Ethik 4

2125 Sokrates C4 226 5049 Mäeutik 2

2125 Sokrates C4 226 4052 Logik 4

... ... ... ... ... ... ...

2132 Schlick C3 52 5259 Der Wiener Kreis 2

2137 Kant C4 7 4630 Die 3 Kritiken 4

Page 10: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Beispiel 2: „Bessere" Relationenschemata

Sokrates zieht um, von Raum 226 in R. 338. Was passiert?Neue/r Prof ohne Vorlesungen?Letzte Vorlesung einer/s Profs wird gelöscht? Was passiert?

Mit den aufgeteilten Relationen treten die Anomalien nicht mehr auf.

Woher kann man wissen wann man aufteilen muss und wie und wann nicht?

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 10

ProfessorenPersNr Name Rang Raum

2125 Sokrates C4 226

2126 Russel C4 232

2127 Kopernikus C3 310

2133 Popper C3 52

2134 Augustinus C3 309

VorlesungenVorlNr Titel SWS gelesen

Von

5001 Grundzüge 4 2137

5041 Ethik 4 2125

5043 Erkenntnistheorie 3 2126

5049 Mäeutik 2 2125

4052 Logik 4 2125

Page 11: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 11

Funktionale Abhängigkeiten

Schema R = {A, B, C, D}Ausprägung Q

Seien R, Rgesprochen:bestimmtgenau dann wenn

RA B C D

a4 b2 c4 d3

a1 b1 c1 d1

a1 b1 c1 d2

a2 b2 c3 d2

a3 b2 c4 d3

{A} {B}

{C, D} {B}

Nicht: {B} {C}

Notationskonvention:

CD B

Page 12: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 12

Beispiel

Stammbaum

Kind Vater Mutter Opa Oma

Sofie Alfons Sabine Lothar Linde

Sofie Alfons Sabine Hubert Lisa

Niklas Alfons Sabine Lothar Linde

Niklas Alfons Sabine Hubert Lisa

... ... ... Lothar Martha

… … … … …

Page 13: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 13

Beispiel

Kind Vater, MutterKind, Opa OmaKind, Oma Opa

Stammbaum

Kind Vater Mutter Opa Oma

Sofie Alfons Sabine Lothar Linde

Sofie Alfons Sabine Hubert Lisa

Niklas Alfons Sabine Lothar Linde

Niklas Alfons Sabine Hubert Lisa

... ... ... Lothar Martha

… … … … …

Page 14: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 14

Bestimmung funktionaler Abhängigkeiten

Professoren: { PersNr, Name, Rang, Raum, Ort, Straße, PLZ, Vorwahl, Bland, EW, Landesregierung }

{PersNr} { Name, Rang, Raum, Ort, Straße, PLZ, Vorwahl, Bland, EW, Landesregierung }

{Ort, BLand} { EW, Vorwahl } {PLZ} { Bland, Ort, EW } {Bland, Ort, Straße} { PLZ } {Bland} { Landesregierung } {Raum} { PersNr }

Falle: {Straße} {PLZ} gilt nicht, auch wenn es im konkreten Datensatz gilt

Beispiel: Hauptstraße Funktionale Abhängigkeiten gelten nicht nur für den konkreten

Datensatz, sondern sind von der Semantik der Relation abhängig Weiteres Beispiel: {Vorname} {Geschlecht} Gegenbeispiel: Kim

Page 15: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 15

Graphische Darstellung der funktionalen Abhängigkeiten

Landesregierung

Rang

Name

Straße

Ort

BLand

PersNr

Raum

Vorwahl

PLZ

EW

Page 16: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 16

Normalformen: informeller Überblick

1NF: „Geometrische Form“ der TupelDie Zahl der Attribute in allen Tupeln der Relation ist identisch

2NF, 3NF: Beziehungen zwischen Schlüsselattributen und Nicht-Schlüsselattributen (funktionale Abhängigkeiten)

2NF: verletzt, wenn ein nicht-Schlüsselattribut nicht von allen Schlüsselattributen funktional abhängt (Der Schlüssel ist aufteilbar)

3NF: verletzt, wenn ein nicht-Schlüsselattribut funktionale Abhängigkeit von einem anderen Nicht-Schlüsselattribut aufweist (Es gibt Unterschlüssel)

2NF und 3NF sind erfüllt, wenn jedes Attribut entweder Teil des Schlüssels ist oder funktional von dem ganzen Schlüssel (und nur von ihm) abhängt

BCNF: Verschärfung, um Anomalien durch teilweise überlappende Schlüsselkandidaten (möglich in 3NF) auszuschließen

jede Determinante (Menge von Attributen, von denen einige anderen Attribute voll funktional abhängen) ist Schlüsselkandidat

4NF: beschreibt mehrwertige AbhängigkeitenEs darf nicht mehrere, voneinander unabhängige, 1:n-Beziehungen in einer Relation geben

5NF: Relation lässt sich nicht weiter aufspalten, ohne dass Information verloren geht

Page 17: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 17

Schlüssel

R ist ein Super-Schlüssel, falls folgendes gilt: R

ist voll funktional abhängig vongenau dann wenn gilt

und kann nicht mehr verkleinert werden, d.h.

Notation für volle funktionale Abhängigkeit: R ist ein Kandidaten-Schlüssel, falls folgendes gilt:

R

Attribut B heißt Schlüsselattribut, wenn B in einem von Kandidaten-Schlüsseln R vorkommt

Page 18: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 18

Schlüsselbestimmung

Kandidaten-schlüssel von Städte: {Name,BLand} {Name,Vorwahl}

Keine Kandidaten-Schlüssel: {Vorwahl}, {Name}

Städte

Name BLand Vorwahl EW

Frankfurt Hessen 069 650000

Frankfurt Brandenburg 0335 84000

München Bayern 089 1200000

Mülheim-Kärlich RLP 0261 10416

Koblenz RLP 0261 106681

Page 19: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 19

Zweite Normalform (2NF)

Eine Relation R mit zugehörigen FDs FR ist in zweiter Normalform, falls jedes Nichtschlüssel-Attribut AR voll funktional abhängig ist von jedem Kandidatenschlüssel der Relation.

Informell: Jedes Attribut hängt vom ganzen Schlüssel ab.

Studentenbelegung ist nicht in 2NF {MatrNr} {Name} {MatrNr} {Semester} {MatrNr,VorlNr} {Name, Semester}

StudentenBelegung

MatrNr VorlNr Name Semester

26120 5001 Fichte 10

27550 5001 Schopenhauer 6

27550 4052 Schopenhauer 6

28106 5041 Carnap 3

28106 5259 Carnap 3

... ... … ...

Page 20: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 20

Zweite Normalform: Beispiel

Einfügeanomalie: Was macht man mit Studenten, die keine Vorlesungenen hören?

Updateanomalien: Wenn z.B. Carnap ins vierte Semester kommt, muss man sicherstellen, dass beide Tupel geändert werden.

Löschanomalie: Was passiert wenn Fichte ihre einzige Vorlesung absagt?

Lösung: Zerlegung in zwei Relationen hören: {[MatrNr, VorlNr]} Studenten: {[MatrNr, Name, Semester]}

Beide Relationen sind in 2NF – erfüllen sogar noch „höhere“ Gütekriterien ~ Normalformen.

MatrNr

VorlNr

Name

Semester

Page 21: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 21

Dritte Normalform (3NF)

Ein Relationenschema R ist in dritter Normalform, wenn für jede für R geltende funktionale Abhängigkeit der Form Bmit B R mindestens eine von drei Bedingungen gilt:

B , d.h., die FD ist trivial oder

Das Attribut B ist ein Schlüsselattribut oder

ist Superschlüssel von R

Informell: Die Nicht-schlüssel dürfen nicht untereinander abhängig sein.

Studenten

MatrNr Fachbereich Standort Name Semester

26120 Informatik Koblenz Fichte 4

27550 Informatik Koblenz Meyer 8

27551 Psychologie Landau Carnap 5

Studenten ist nicht in 3NF {Fachbereich} {Standort}

Page 22: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Wie kann man die 3NF immer erreichen?

Ziel: Zerlegung von R mit vorgegebenen FDs F

in R1, ..., Rn , wobei folgende Kriterien erfüllt sind:

Zerlegung von R in R1, ..., Rn erfolgt verlustlos.

Zerlegung R1, ..., Rn ist abhängigkeitserhaltend.

Alle R1, ..., Rn sind in 3NF

Synthesealgorithmus

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 22

Page 23: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 23

Zerlegung (Dekomposition) von Relationen

Korrektheitskriterien für die Zerlegung von Relationenschemata:

1. Verlustlosigkeit- Die in der ursprünglichen Relationenausprägung Q des Schemas R

enthaltenen Informationen müssen aus den Ausprägungen Q1, ..., Qn der neuen Relationenschemata R1, .., Rn rekonstruierbar sein.

2. Abhängigkeitserhaltung- Die für R geltenden funktionalen Anhängigkeiten

müssen auf die Schemata R1, ..., Rn übertragbar sein.

Page 24: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 24

Kriterien für die Verlustlosigkeit einer Zerlegung

Die Zerlegung von R in R1 und R2 ist verlustlos,

falls für jede mögliche (gültige) Ausprägung Q gilt:

Hinreichende Bedingung für die Verlustlosigkeit einer Zerlegung

RR1

R2

Page 25: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 25

Biertrinker-Beispiel

Biertrinker

Lokal Gast Bier

Einstein Gniffke Pils

Einstein Anders Hefeweizen

Mephisto Gniffke Hefeweizen

Page 26: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 26

Biertrinker-Beispiel: Verlustige ZerlegungBiertrinker

Lokal Gast Bier

Einstein Gniffke Pils

Einstein Anders Hefeweizen

Mephisto Gniffke Hefeweizen

Besucht := [Lokal, Gast] (Biertrinker)Lokal Gast

Einstein Gniffke

Einstein Anders

Mephisto Gniffke

Trinkt := [Gast, Bier] (Biertrinker)Gast Bier

Gniffke Pils

Anders Hefeweizen

Gniffke Hefeweizen

Besucht |×| Trinkt

Lokal Gast Bier

Einstein Gniffke Pils

Einstein Gniffke Hefeweizen

Einstein Anders Hefeweizen

Mephisto Gniffke Pils

Mephisto Gniffke Hefeweizen

Page 27: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 27

Erläuterung des Biertrinker-Beispiels

Unser Biertrinker-Beispiel war eine "verlustige" Zerlegung und dementsprechend war die hinreichende Bedingung verletzt. Es gilt nämlich nur die eine nicht-triviale funktionale Abhängigkeit {Lokal,Gast} {Bier}

Wohingegen keine der zwei möglichen, die Verlustlosigkeit garantierenden FAs gelten {Gast} {Bier} {Gast} {Lokal}

Das liegt daran, dass die Leute (insbesondere Gniffke) in unterschiedlichen Lokalen unterschiedliches Bier trinken. In demselben Lokal aber immer das gleiche Bier

- (damit sich die Kellner darauf einstellen können?)

Page 28: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 28

Verlustfreie Zerlegung

Eltern

Vater Mutter Kind

Johann Martha Else

Johann Maria Theo

Heinz Martha Cleo

Väter := [Vater, Kind] (Eltern)

Vater Kind

Johann Else

Johann Theo

Heinz Cleo

Mütter := [Mutter, Kind] (Eltern)

Mutter Kind

Martha Else

Maria Theo

Martha CleoVäter |×| Mütter

Vater Mutter Kind

Johann Martha Else

Johann Maria Theo

Heinz Martha Cleo

Page 29: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 29

Erläuterung der verlustfreien Zerlegung der Eltern-Relation

Eltern: {[Vater, Mutter, Kind]}Väter: {[Vater, Kind]}Mütter: {[Mutter, Kind]}

Verlustlosigkeit ist garantiertEs gilt nicht nur eine der hinreichenden FAs, sondern gleich beide

{Kind} {Mutter} {Kind} {Vater}

Also ist {Kind} natürlich auch der Schlüssel der Relation Eltern

Die Zerlegung von Eltern ist zwar verlustlos, aber auch ziemlich unnötig, da die Relation in sehr gutem Zustand (~Normalform) ist

Page 30: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 30

Abhängigkeitsbewahrung

R ist zerlegt in R1, ..., Rn FR = (FR1 ... FRn) bzw. FR

+ = (FR1 ... FRn)+

Beispiel für Abhängigkeitsverlust: 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 Postleitzahlengebiete gehen nicht über Ortsgrenzen und Orte,

nicht über Bundeslandgrenzen hinweg

Daraus resultieren die FDs {PLZ} {Ort, BLand} {Straße, Ort, BLand} {PLZ}

Betrachte die Zerlegung Straßen: {[PLZ, Straße]} Orte: {[PLZ, Ort, BLand]}

Page 31: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 31

Zerlegung der Relation PLZverzeichnis

PLZverzeichnis

Ort BLand Straße PLZ

Frankfurt Hessen Goethestraße 60313

Frankfurt Hessen Galgenstraße 60437

Frankfurt Brandenburg Goethestraße 15234

Straßen := [PLZ, Straße] (PLZverzeichnis)

PLZ Straße

15234 Goethestraße

60313 Goethestraße

60437 Galgenstraße

Orte := [Ort, BLand] (PLZverzeichnis)

Ort BLand PLZ

Frankfurt Hessen 60313

Frankfurt Hessen 60437

Frankfurt Brandenburg 15234

Die FD {Straße, Ort, BLand} {PLZ} ist im zerlegten Schema nicht mehr enthalten Einfügen inkonsistenter Tupel möglich

Page 32: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 32

Zerlegung der Relation PLZverzeichnis

PLZverzeichnis

Ort BLand Straße PLZ

Frankfurt Hessen Goethestrasse 60313

Frankfurt Hessen Galgenstrasse 60437

Frankfurt Brandenburg Goethestrasse 15234

Straßen := [PLZ, Straße] (PLZverzeichnis)

PLZ Straße

15234 Goethestrasse

60313 Goethestrasse

15235 Goethestrasse

60437 Galgenstrasse

Orte := [Ort, BLand] (PLZverzeichnis)

Ort BLand PLZ

Frankfurt Hessen 60313

Frankfurt Hessen 60437

Frankfurt Brandenburg 15234

Frankfurt Brandenburg 15235

Page 33: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 33

Zerlegung der Relation PLZverzeichnis

Strassen |×| Orte

Ort BLand Straße PLZ

Frankfurt Hessen Goethestrasse 60313

Frankfurt Hessen Galgenstrasse 60437

Frankfurt Brandenburg Goethestrasse 15235

Frankfurt Brandenburg Goethestrasse 15234

Straßen := [PLZ, Straße] (PLZverzeichnis)

PLZ Straße

15234 Goethestrasse

60313 Goethestrasse

15235 Goethestrasse

60437 Galgenstrasse

Orte := [Ort, BLand] (PLZverzeichnis)

Ort BLand PLZ

Frankfurt Hessen 60313

Frankfurt Hessen 60437

Frankfurt Brandenburg 15234

Frankfurt Brandenburg 15235

Die FD {Straße, Ort, BLand} {PLZ} wird verletzt

Page 34: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 34

Boyce-Codd-Normalform (BCNF)

BCNF = eine weitere Verschärfung der 3NF.

Ein Relationenschema R mit FDs F ist in BCNF, wenn für jede für R geltende funktionale Abhängigkeit der Form F gilt:

entweder , d.h., die Abhängigkeit ist trivial, oder ist ein Superschlüssel von R

Man kann jede Relation verlustlos in BCNF-Relationen zerlegenManchmal lässt sich dabei die Abhängigkeiterhaltung aber

nicht erzielen

Page 35: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 35

Beispiel: Relation Städte ist in 3NF, aber nicht in BCNF

Städte: {[Ort, BLand, Ministerpräsident/in, EW]}

Geltende FDs: {Ort, BLand} {EW} {BLand} {Ministerpräsident/in} {Ministerpräsident/in} {BLand}

Schlüsselkandidaten: {Ort, BLand} {Ort, Ministerpräsident/in}

Page 36: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 36

Dekomposition der Relation Städte in BCNF-Relationen

Städte: {[Ort, BLand, Ministerpräsident/in, EW]}Geltende FAs:

{BLand} {Ministerpräsident/in} {Ort, BLand} {EW} {Ministerpräsident/in} {BLand}

Ri1: Regierungen: {[BLand, Ministerpräsident/in]}

Ri2: Städte: {[Ort, BLand, EW]}

Zerlegung ist verlustlos und auch abhängigkeitserhaltend

Page 37: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 37

Dekomposition des PLZverzeichnis in BCNF-Relationen

PLZverzeichnis: {[Straße, Ort, Bland, PLZ]}

Funktionale Abhängigkeiten: {PLZ} {Ort, BLand} {Straße, Ort, BLand} {PLZ}

Betrachte die Zerlegung Orte: {[PLZ, Ort, BLand]} Straßen: {[PLZ, Straße]}

Diese Zerlegung ist verlustlos aber Nicht abhängigkeitserhaltend {Straße, Ort, BLand} {PLZ} wird weder in Orte noch in Straßen

komplett erfasst

Page 38: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 38

Zerlegung der Relation PLZverzeichnis

PLZverzeichnis

Ort BLand Straße PLZ

Frankfurt Hessen Goethestrasse 60313

Frankfurt Hessen Galgenstrasse 60437

Frankfurt Brandenburg Goethestrasse 15234

Straßen := [PLZ, Straße] (PLZverzeichnis)

PLZ Straße

15234 Goethestrasse

60313 Goethestrasse

15235 Goethestrasse

60437 Galgenstrasse

Orte := [Ort, BLand] (PLZverzeichnis)

Ort BLand PLZ

Frankfurt Hessen 60313

Frankfurt Hessen 60437

Frankfurt Brandenburg 15234

Frankfurt Brandenburg 15235

Page 39: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 39

Zerlegung der Relation PLZverzeichnis

Strassen |×| Orte

Ort BLand Straße PLZ

Frankfurt Hessen Goethestrasse 60313

Frankfurt Hessen Galgenstrasse 60437

Frankfurt Brandenburg Goethestrasse 15235

Frankfurt Brandenburg Goethestrasse 15234

Straßen := [PLZ, Straße] (PLZverzeichnis)

PLZ Straße

15234 Goethestrasse

60313 Goethestrasse

15235 Goethestrasse

60437 Galgenstrasse

Orte := [Ort, BLand] (PLZverzeichnis)

Ort BLand PLZ

Frankfurt Hessen 60313

Frankfurt Hessen 60437

Frankfurt Brandenburg 15234

Frankfurt Brandenburg 15235

Die FA {Straße, Ort, BLand} {PLZ} wird verletzt

Page 40: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Aber…

… manchmal möchte man doch, dass die Fakten in einer Relation zusammen stehen.

Warum???

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 40

Page 41: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Data Warehouse (ganz kurz)

Das Data Warehouse dient dem Reporting von wirtschaftsrelevanten Daten an z.B. das Management.

Ziel: Zu bestimmten Zeitpunkten alle relevanten Daten aus der Datenbank zu ziehen und dann für statistische Untersuchungen zur Verfügung zu stellen

Diese Daten werden typischerweise in nur ganz wenige Relationen geschrieben (Stichwort Sternschema),

• da sie sich nicht ändern werden• da man sich so Joins bei den Abfragen

spart• da man so automatisch statische

Analysen laufen lassen kann

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 41Aus Wikipedia (Stern_Schema)

Page 42: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Triplifizierung (vereinfacht)

Vor- und Nachteile?Es ist alles in einer TabelleEs ist alles maximal normalisiert

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 42

TripleStore

Subjekt Prädikat Objekt

Professor hatPrädikat hatRaum

Sokrates istInstanzVon Professor

Sokrates hatRaum 226

hatRaum hatObjektTyp integer

Sokrates hältVorlesung Ethik

Ethik hatSWS 4

hört hatSubjektTyp Mensch

Professor istEin Mensch

Student istEin Mensch

hört hatObjektTyp Vorlesung

Carnap hört Ethik

Carnap istInstanzVon Student

… … …

Page 43: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Triplifizierung (vereinfacht)

Woher weiß ich, ob die Daten überhaupt stimmen?Woher weiß ich, was Daten sind und was zur Struktur gehört?

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 43

TripleStore

Subjekt Prädikat Objekt

Professor hatPrädikat hatRaum

Sokrates istInstanzVon Professor

Sokrates hatRaum 226

hatRaum hatObjektTyp integer

Sokrates hältVorlesung Ethik

Ethik hatSWS 4

hört hatSubjektTyp Mensch

Professor istEin Mensch

Student istEin Mensch

hört hatObjektTyp Vorlesung

Carnap hört Ethik

Carnap istInstanzVon Student

… … …

TripleStoreSubjekt Prädikat Objekt

Professor istInstanz nein

Sokrates istInstanzVon Professor

Sokrates istInstanz ???

Page 44: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Triplifizierung (und verwandte Methoden z.B. DOM)

• Wird eingesetzt, wenn die Datenstruktur nicht bekannt ist oder sich noch ändern kann

• Eindeutiger Vorteil ist die Vernetzbarkeit. Jemand anders kann seinen eigenen TripleStore einfach ankoppeln und schon hat man doppelt so viele Daten

• Ein Nachteil ist die Überprüfung von Konsistenz• Was ist in dem Zusammenhang überhaupt eine Inkonsistenz?• A istInstanzVon B und B istInstanzVon A (schwierig)• A istKindVon B und B istKindVon C und C istKindVon A

(schwierig zu berechnen)• Das Problem ist verwandt mit Logik

• Weiterer Nachteil ist die Navigierbarkeit: • Beispiel: Gib alle Personen aus (erfordert transitive Hülle)

• Es ist deutlich einfacher, wenn man die Prädikate und Typen von vornherein festlegt, leider auch weniger flexibel

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 44

Page 45: Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Fazit

Vorteile der Normalisierung• Es können keine Anomalien auftreten

Nachteil der Normalisierung• Unter Umständen werden Anfragen langsamer, da mehr Joins

notwendig sind

• Es gibt verschiedene Standardmodelle, die nicht normalisiert oder sogar übernormalisiert sind

• Vor- und Nachteile sind im Einzelfall abzuwägen

• Im Normalfall (z.B. in der Prüfung) gilt 3 NF ist am Besten

Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie 45