Kapitel 6 Relationale Entwurfstheorie

Slides:



Advertisements
Ähnliche Präsentationen
Deduktive Datenbanken
Advertisements

Beispiel zum RSA-Algorithmus
Grundlagen des relationalen Modells
Kapitel 6 Relationale Entwurfstheorie
Organisatorisches Kapitel 6 Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition.
Mehrwertige Abhängigkeiten (1)
Relationentheorie AIFB SS Transitive (funktionale) Abhängigkeiten Transitive (funktionale) Abhängigkeiten (1|3) Geg.: r: (U | F); A,
Grundlagen des relationalen Datenmodells
Prof. Dr. T. Kudraß1 Logischer DB-Entwurf. Prof. Dr. T. Kudraß2 Entwurf eines relationalen DB-Schemas Ziel: –Regeln für die Umsetzung eines ER-Modells.
Relationaler Datenbankentwurf (II)
Normalisierung II Lehr- und Forschungseinheit Datenbanken und Informationssysteme.
[01] - ERM Modellierung I Basiselemente von E-R-Diagrammen kennen
Normalisierung nach Edgar. F. CODD (1970)
Müll 1NaturEinkaufenMüll 2Vermischtes
Bauinformatik II Softwareanwendungen 1
Kapitel 6 Relationale Entwurfstheorie
Datenbanksysteme Schwerpunkte: Datenbanksystem (DBS): Datenbank (DB):
Relationale Entwurfstheorie
Relationale Entwurfstheorie
Grundlagen Datenbanken
Speicherung globaler Relationen: Fragementierung und Allokation
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
Datenbankdesign und Normalisierung
Zahlen mit Zahlen ausmessen
Kapitel 11: Relationale Entwurfstheorie
Kapitel 11: Relationale Entwurfstheorie
© Katharina Brachmann Normalformen Oldenbourg S137, Klett S117
Relationentheorie AIFB SS Algorithmen zur Bildung von 3NF-Relationsschemata Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) (2)Synthese.
Grundsätzliche Resultate Theorem: Für jeden Relationstyp R(A 1,...,A n ) und jede Menge von FDs über {A 1,...,A n } gibt es: –eine verlustlose (aber nicht.
Relationentheorie AIFB SS a c d b e Beispiel 1-13: s:(U | F) U = {a, b, c, d, e}; F = {ab c, c d, b e} Dritte Normalform (3NF) Dritte.
Abbildungsverfahren (1)
Relationentheorie AIFB SS Wir setzen: A 1 A 2 = B, A 1 = AB, A 2 = BC, mit A B= A C = B C = Damit ist: U = ABC Test auf Verlustfreiheit (Verbundtreue)
Algorithmus zur Zerlegung in 3NF (1)
Zerlegung und Konstruktion Frage 2: Welche Zerlegungen sind korrekt? Zerlegung ersetzt Relationstyp R(A 1,...,A n ) und Menge von assoziierten Abhängigkeiten.
So, ein paar Fragen.. Wo sind mehr Bälle? Wo sind mehr Steine?
Die Grundterminologie
Historische Entwicklung relationaler DBMS
... Unternehmens- leitung
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Effiziente Algorithmen
Effiziente Algorithmen
Historische Entwicklung relationaler DBMS
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung Normalformen.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Normalisierungsprozess
Brüche-Quartett Klasse 6-8 Spieler 4-6. Brüche-Quartett A1 Brüche-Quartett A2 Brüche-Quartett A3 Brüche-Quartett A4 Brüche-Quartett B1 Brüche-Quartett.
Dritte Normalform Relationstyp R(A1,...,An) und Menge  von FDs und MVDs für R sei im Folgenden fest vorgegeben. R ist in dritter Normalform (3NF), wenn.
Schlüssel Einordnung des Schlüsselbegriffs in Abhängigkeitstheorie:
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
Vegetationsplot 43 m 10 m Sammlerplot Reserveplot Bodenplot A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4 D1 D2 D3 D4 Streusammler Schneesammler Regensammler Vegetationsquadrat.
 Boegle, Machala, Schlaffer, Werbowsky Bildungsstandards Mathematik 8. Schulstufe 2006.
Einfügeoperationen (1) n Sei V Sichtrelation und t ein Tupel. n Dann ist insert(V,t) informationserhaltend auf Einfügeoperationen in den Basisrelationen.
Tabellen in Word for Windowscomputeria, Urdorf Tabellen in Word for Windows computeria Urdorf / Dieter Eckstein.
Relationentheorie  AIFB SS Schlüssel / Schlüsselattribute / Nichtschlüsselattribute (2|4) Algorithmus zur Bestimmung aller Schlüssel.
Informationserhaltende Zerlegungen (1) T R sei Relationstyp mit Attributmenge A R und Ausprägung R Zerlegung in Relationstypen T R 1,...,T R k mit Attributmengen.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Datenbanken Normalisierung
IS: Datenbanken, © Till Hänisch 2000 Entwurfstheorie Normalisierung oder "Wie man sich Ärger erspart"
Datenbanken Relationale Entwurfstheorie Ralf Möller Universität zu Lübeck Institut für Informationssysteme.
IS: Datenbanken, © Till Hänisch 2000 Company: Entity types DEPARTMENT Name, Number, {Location},Manager, Mgr-Start- Date PROJECT Name, Number, Location,
Datenbanken Das Relationale Datenmodell Ralf Möller Universität zu Lübeck Institut für Informationssysteme.
Kapitel 6 Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition.
Ziele der relationalen Entwurfstheorie  Bewertung der Qualität eines Relationenschemas  Redundanz  Einhaltung von Konsistenzbedingungen  Funktionaler.
Vorlesung #5 Relationale Entwurfstheorie
Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Datenbanken Das Relationale Datenmodell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Kapitel 6 Relationale Entwurfstheorie
 Präsentation transkript:

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

Ziele der relationalen Entwurfstheorie Bewertung der Qualität eines Relationenschemas Redundanz Einhaltung von Konsistenzbedingungen Funktionaler Abhängigkeiten Normalformen als Gütekriterium Ggfls. Verbesserung eines Relationenschemas Durch den Synthesealgorithmus Durch Dekomposition

Funktionale Abhängigkeiten Schema R = {A, B, C, D} Ausprägung R Seien a  R, b  R a  b genau dann wenn r, s  R mit r.a = s.a  r.b = s.b R A B C D a4 b2 c4 d3 a1 b1 c1 d1 d2 a2 c3 a3 {A}  {B} {C, D }  {B} Nicht: {B}  {C} Notationskonvention: CD  B

Beispiel Stammbaum Kind Vater Mutter Opa Oma Sofie Alfons Sabine Lothar Linde Hubert Lisa Niklas ... Martha …

Beispiel Kind  Vater,Mutter Kind,Opa  Oma Kind,Oma  Opa Stammbaum Sofie Alfons Sabine Lothar Linde Hubert Lisa Niklas ... Martha … Kind  Vater,Mutter Kind,Opa  Oma Kind,Oma  Opa

Schlüssel a  R ist ein Super-Schlüssel, falls folgendes gilt: a  R b ist voll funktional abhängig von a genau dann wenn gilt a  b und a kann nicht mehr verkleinert werden, d.h. A  a folgt, dass (a - {A})  b nicht gilt, oder kürzer A  a: ((a - {A})  b) Notation für volle funktionale Abhängigkeit: a . b a  R ist ein Kandidaten-Schlüssel, falls folgendes gilt: a . R

Schlüsselbestimmung Kandidaten-schlüssel von Städte: {Name,BLand} Vorwahl EW Frankfurt Hessen 069 650000 Brandenburg 0335 84000 München Bayern 089 1200000 Passau 0851 50000 ... Kandidaten-schlüssel von Städte: {Name,BLand} {Name,Vorwahl} Beachte, dass 2 kleinere Städte dieselbe Vorwahl haben können

Bestimmung funktionaler Abhängigkeiten Professoren: {[PersNr, Name, Rang, Raum, Ort, Straße, PLZ, Vorwahl, Bland, EW, Landesregierung]} {PersNr}  {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} Zusätzliche Abhängigkeiten, die aus obigen abgeleitet werden können: {Raum}  {PersNr, Name, Rang, Raum, Ort, Straße, PLZ, Vorwahl, Bland, EW, Landesregierung} {PLZ}  {Landesregierung}

Graphische Darstellung der funktionalen Abhängigkeiten Rang Name PersNr PLZ Straße Raum Ort BLand Vorwahl EW Landesregierung

„Schlechte“ Relationenschemata ProfVorl PersNr Name Rang Raum VorlNr Titel SWS 2125 Sokrates C4 226 5041 Ethik 4 5049 Mäeutik 2 4052 Logik ... 2132 Popper C3 52 5259 Der Wiener Kreis 2137 Kant 7 4630 Die 3 Kritiken Update-Anomalien Sokrates zieht um, von Raum 226 in R. 338. Was passiert? Einfüge-Anomalien Neue/r Prof ohne Vorlesungen? Löschanomalien Letzte Vorlesung einer/s Profs wird gelöscht? Was passiert?

Zerlegung (Dekomposition) von Relationen Es gibt zwei Korrektheitskriterien für die Zerlegung von Relationenschemata: Verlustlosigkeit Die in der ursprünglichen Relationenausprägung R des Schemas R enthaltenen Informationen müssen aus den Ausprägungen R1, ..., Rn der neuen Relationenschemata R1, .., Rn rekonstruierbar sein. Abhängigkeitserhaltung Die für R geltenden funktionalen Anhängigkeiten müssen auf die Schemata R1, ..., Rn übertragbar sein.

Kriterien für die Verlustlosigkeit einer Zerlegung R = R1  R2 R1 := ΠR1 (R) R2 := ΠR2 (R) Die Zerlegung von R in R1 und R2 ist verlustlos, falls für jede mögliche (gültige) Ausprägung R von R gilt: R = R1 A R2 Hinreichende Bedingung für die Verlustlosigkeit einer Zerlegung (R1  R2)  R1 oder (R1  R2)  R2 R R1 a b R2 g

Biertrinker-Beispiel Kneipe Gast Bier Kowalski Kemper Pils Eickler Hefeweizen Innsteg

„Verlustige“ Zerlegung Biertrinker Kneipe Gast Bier Kowalski Kemper Pils Eickler Hefeweizen Innsteg PGast, Bier PKneipe, Gast Trinkt Gast Bier Kemper Pils Eickler Hefeweizen Besucht Kneipe Gast Kowalski Kemper Eickler Innsteg

A P.... ≠ Biertrinker Besucht Trinkt Besucht A Trinkt Kneipe Gast Bier Kowalski Kemper Pils Eickler Hefeweizen Innsteg Besucht Kneipe Gast Kowalski Kemper Eickler Innsteg Trinkt Gast Bier Kemper Pils Eickler Hefeweizen P.... ≠ A Besucht A Trinkt Kneipe Gast Bier Kowalski Kemper Pils Hefeweizen Eickler Innsteg

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 {Kneipe,Gast}{Bier} Wohingegen keine der zwei möglichen, die Verlustlosigkeit garantierenden FDs gelten {Gast}{Bier} {Gast}{Kneipe} Das liegt daran, dass die Leute (insbes. Kemper) in unterschiedlichen Kneipen unterschiedliches Bier trinken. In derselben Kneipe aber immer das gleiche Bier (damit sich die KellnerInnen darauf einstellen können?)

Verlustfreie Zerlegung Eltern Vater Mutter Kind Johann Martha Else Maria Theo Heinz Cleo PMutter, Kind PVater, Kind Mütter Mutter Kind Martha Else Maria Theo Cleo Väter Vater Kind Johann Else Theo Heinz Cleo

Erläuterung der verlustfreien Zerlegung der Eltern-Relation Eltern: {[Vater, Mutter, Kind]} Väter: {[Vater, Kind]} Mütter: {[Mutter, Kind]} Verlustlosigkeit ist garantiert Es gilt nicht nur eine der hinreichenden FDs, 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

Boyce-Codd-Normalform Die Boyce-Codd-Normalform (BCNF) ist nochmals eine Verschärfung der 3 NF. Ein Relationenschema R mit FDs F ist in BCNF, wenn für jede für R geltende funktionale Abhängigkeit der Form a  b  F und mindestens eine von zwei Bedingungen gilt: b  a , d.h., die Abhängigkeit ist trivial oder a ist Superschlüssel von R Man kann jede Relation verlustlos in BCNF-Relationen zerlegen Manchmal lässt sich dabei die Abhängigkeiterhaltung aber nicht erzielen

Dekomposition Man kann grundsätzlich jedes Relationenschema R mit funktionalen Anhängigkeiten F so in R1, ..., Rn zerlegen, dass gilt: R1, ..., Rn ist eine verlustlose Zerlegung von R. Alle R1, ..., Rn sind in BCNF. Es kann leider nicht immer erreicht werden, dass die Zerlegung R1, ..., Rn abhängigkeitserhaltend ist.

Dekompositions-Algorithmus Starte mit Z = {R} Solange es noch ein Relationenschema Ri in Z gibt, das nicht in BCNF ist, mache folgendes: Es gibt also eine für Ri geltende nicht-triviale funktionale Abhängigkeit (a  b) mit a  b =  (a  Ri) Finde eine solche FD Man sollte sie so wählen, dass b alle von a funktional abhängigen Attribute B  (Ri - a) enthält, damit der Dekompositionsalgorithmus möglichst schnell terminiert. Zerlege Ri in Ri1 := a  b und Ri2 := Ri - b Entferne Ri aus Z und füge Ri1 und Ri2 ein, also Z := (Z – {Ri})  {Ri1}  {Ri2}

Veranschaulichung der Dekomposition Ri Ri1 b a Ri2 g = Ri –(ab)

Dekomposition der Relation Städte in BCNF-Relationen Städte: {[Ort, BLand, Ministerpräsident/in, EW]} Geltende FDs: {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