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

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 6 Relationale Entwurfstheorie
Advertisements

Christian Scheideler SS 2009
Organisatorisches Kapitel 6 Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition.
Datenbanken Beispiel: Musikverwaltungsdatenbank Daten: Musikstück
Abschluss Gegeben Menge F von funktionalen Abhängigkeiten.
1.4.5 Zur Berechnung von F+ (1|7)
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)
Kapitel 6 Relationale Entwurfstheorie
Relationale Entwurfstheorie
Grundlagen Datenbanken
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Datenbankdesign und Normalisierung
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
Kapitel 11: Relationale Entwurfstheorie
Kapitel 11: Relationale Entwurfstheorie
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.
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.
Maschinelles Lernen und automatische Textklassifikation
LEBENSWEISHEIT.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Kapitel 6 Relationale Entwurfstheorie
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
Das relationale Modell
Normalisierungsprozess
Arne Vater Wintersemester 2006/ Vorlesung
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.
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.
Vorstellen und Herleiten der Horner Schemas
IS: Datenbanken, © Till Hänisch 2000 Entwurfstheorie Normalisierung oder "Wie man sich Ärger erspart"
Datenbankentwurf Gerhard Röhner September Modellierung.
Was sind Zuordnungen? Werden zwei Größenbereiche in Beziehung gesetzt, entstehen Zuordnungen. Ihre zeichnerische Darstellung in einem Koordinatensystem.
Datenbanken Relationale Entwurfstheorie Ralf Möller Universität zu Lübeck Institut für Informationssysteme.
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
Plenum Johannes-Kepler-Gymnasium Hinweis für den Lehrer:
Ziele der relationalen Entwurfstheorie  Bewertung der Qualität eines Relationenschemas  Redundanz  Einhaltung von Konsistenzbedingungen  Funktionaler.
SZ Neustadt, Delmestraße 141B, Bremen 1 Datenbanken Datenbank = Datenbankprogramm + Daten Datenbankprogramm = Datenbankmanagementsystem (DBMS) = System,
Anomalien und Normalformen. Was ist ein gutes Datenbankschema?
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #5 Relationale Entwurfstheorie
Logisches Datenmodell
Relationale Datenbankmanagement-Systeme
Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Logik in der Informatik V
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Kapitel 6 Relationale Entwurfstheorie
9. Vererbung und Polymorphie
Studiengang BWL FHDW Vorlesung: Betriebliche Informationssysteme II
Pflichtteil 2016 Aufgabe 6: Gegeben ist die Gerade
Wissenschaftliches Projekt
Das Mayonaisenglas + der Kaffee
Spiegelungen Punkt an Gerade Punkt an Ebene Gerade an Ebene
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analytische Geometrie / Stochastik Aufgabe B 2.1 und B Lösungen.
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 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

Bestimmung der Hülle einer Attributmenge  Eingabe: eine Menge F von FDs und eine Menge von Attributen   Ausgabe: die vollständige Menge von Attributen  +, für die gilt    +.  AttrHülle(F,  )  Erg :=   While (Änderungen an Erg) do  Foreach FD  in F do  If   Erg then Erg := Erg    Ausgabe  + = Erg

Kanonische Überdeckung  Fc heißt kanonische Überdeckung von F, wenn die folgenden drei Kriterien erfüllt sind: 1.Fc  F, d.h. Fc+ = F+ 2.In Fc existieren keine FDs, die überflüssige Attribute enthalten. D.h. es muß folgendes gelten:   A   Fc - (  ((  Fc   B   Fc - (  (  Fc 3.Jede linke Seite einer funktionalen Abhängigkeit in Fc ist einzigartig. Dies kann durch sukzessive Anwendung der Vereinigungsregel auf FDs der Art  und  erzielt werden, so dass die beiden FDs durch  ersetzt werden.

Berechnung der kanonischen Überdeckung 1.Führe für jede FD   F die Linksreduktion durch, also:  Überprüfe für alle A  , ob A überflüssig ist, d.h., ob    AttrHülle(F,  - A) gilt. Falls dies der Fall ist, ersetze  durch (  - A) . 2.Führe für jede (verbliebene) FD die Rechtsreduktion durch, also:  Überprüfe für alle B  , ob  B  AttrHülle(F – (  )  (  ),  ) gilt. Falls dies der Fall ist, ist B auf der rechten Seite überflüssig und kann eliminiert werden, d.h. ersetze    durch    –B). 3.Entferne die FDs der Form   , die im 2. Schritt möglicherweise entstanden sind. 4.Fasse mittels der Vereinigungsregel FDs der Form       n zusammen, so dass   (  ...   n) verbleibt.

„Schlechte“ Relationenschemata  Update-Anomalien  Sokrates zieht um, von Raum 226 in R Was passiert?  Einfüge-Anomalien  Neue/r Prof ohne Vorlesungen?  Löschanomalien  Letzte Vorlesung einer/s Profs wird gelöscht? Was passiert? ProfVorl PersNrNameRangRaumVorlNrTitelSWS 2125SokratesC Ethik4 2125SokratesC Mäeutik2 2125SokratesC Logik PopperC Der Wiener Kreis2 2137KantC474630Die 3 Kritiken4

Zerlegung (Dekomposition) von Relationen  Es gibt zwei Korrektheitskriterien für die Zerlegung von Relationenschemata: 1.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 R 1,.., R n rekonstruierbar sein. 2.Abhängigkeitserhaltung  Die für R geltenden funktionalen Anhängigkeiten müssen auf die Schemata R 1,..., R n übertragbar sein.

Kriterien für die Verlustlosigkeit einer Zerlegung  R = R 1  R 2  R1 := Π R 1 (R)  R2 := Π R 2 (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 = R1 A R2  Hinreichende Bedingung für die Verlustlosigkeit einer Zerlegung  ( R 1  R 2)  R 1 oder  ( R 1  R 2)  R 2 R R 1   R 2 

Biertrinker-Beispiel Biertrinker KneipeGastBier KowalskiKemperPils KowalskiEicklerHefeweizen InnstegKemperHefeweizen

„Verlustige“ Zerlegung Biertrinker KneipeGastBier KowalskiKemperPils KowalskiEicklerHefeweizen InnstegKemperHefeweizen Besucht KneipeGast KowalskiKemper KowalskiEickler InnstegKemper Trinkt GastBier KemperPils EicklerHefeweizen KemperHefeweizen  Gast, Bier  Kneipe, Gast

Biertrinker KneipeGastBier KowalskiKemperPils KowalskiEicklerHefeweizen InnstegKemperHefeweizen Besucht KneipeGast KowalskiKemper KowalskiEickler InnstegKemper Trinkt GastBier KemperPils EicklerHefeweizen KemperHefeweizen .... Besucht A Trinkt KneipeGastBier KowalskiKemperPils KowalskiKemperHefeweizen KowalskiEicklerHefeweizen InnstegKemperPils InnstegKemperHefeweizen A ≠

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 VaterMutterKind JohannMarthaElse JohannMariaTheo HeinzMarthaCleo Väter VaterKind JohannElse JohannTheo HeinzCleo Mütter MutterKind MarthaElse MariaTheo MarthaCleo  Mutter, Kind  Vater, Kind

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

Abhängigkeitsbewahrung  R ist zerlegt in R 1,..., R n  F R = (F R 1 ...  F R n ) bzw F R + = (F R 1 ...  F R n )+  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]}

Zerlegung der Relation PLZverzeichnis PLZverzeichnis OrtBLandStraßePLZ FrankfurtHessenGoethestraße60313 FrankfurtHessenGalgenstraße60437 FrankfurtBrandenburgGoethestraße15234 Straßen PLZStraße 15234Goethestraße 60313Goethestraße 60437Galgenstraße Orte OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234  Stadt,Bland,PLZ  PLZ,Straße Die FD {Straße, Ort, BLand}  {PLZ} ist im zerlegten Schema nicht mehr enthalten  Einfügen inkonsistenter Tupel möglich

Einfügen zweier Tupel, die die FD Ort,Bland,Straße  PLZ verletzen PLZverzeichnis OrtBLandStraßePLZ FrankfurtHessenGoethestraße60313 FrankfurtHessenGalgenstraße60437 FrankfurtBrandenburgGoethestraße15234 Straßen PLZStraße 15234Goethestraße 60313Goethestraße 60437Galgenstraße 15235Goethestrasse Orte OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234 FrankfurtBrandenburg15235  Stadt,Bland,PLZ  PLZ,Straße

Einfügen zweier Tupel, die die FD Ort,Bland,Straße  PLZ verletzen PLZverzeichnis OrtBLandStraßePLZ FrankfurtHessenGoethestraße60313 FrankfurtHessenGalgenstraße60437 FrankfurtBrandenburgGoethestraße15234 FrankfurtBrandenburgGoethestraße15235 Straßen PLZStraße 15234Goethestraße 60313Goethestraße 60437Galgenstraße 15235Goethestrasse Orte OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234 FrankfurtBrandenburg15235 A

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

Erste Normalform  Nur atomare Domänen  1 NF Eltern VaterMutterKinder JohannMartha{Else, Lucie} JohannMaria{Theo, Josef} HeinzMartha{Cleo} Eltern VaterMutterKind JohannMarthaElse JohannMarthaLucie JohannMariaTheo JohannMariaJosef HeinzMarthaCleo

Zweite Normalform  Eine Relation R mit zugehörigen FDs F R ist in zweiter Normalform, falls jedes Nichtschlüssel-Attribut A  R voll funktional abhängig ist von jedem Kandidatenschlüssel der Relation.  Studentenbelegung ist nicht in zweiter NF  {MatrNr}  {Name}  {MatrNr}  {Semester} StudentenBelegung MatrNrVorlNrNameSemester Fichte Schopenhauer Schopenhauer Carnap Carnap Carnap Carnap3...

Zweite Normalform  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 alle vier Tupel geändert werden.  Löschanomalie: Was passiert wenn Fichte ihre einzige Vorlesung absagt?  Zerlegung in zwei Relationen  hören: {[MatrNr, VorlNr]}  Studenten: {[MatrNr, Name, Semester]}  Beide Relationen sind in 2 NF – erfüllen sogar noch „höhere“ Gütekriterien ~ Normalformen. MatrNr VorlNr Name Semester

Dritte Normalform  Ein Relationenschema R ist in dritter Normalform, wenn für jede für R geltende funktionale Abhängigkeit der Form  mit B  R und mindestens eine von drei Bedingungen gilt:  B  , d.h., die FD ist trivial  Das Attribut B ist in einem Kandidatenschlüssel von R enthalten – also B ist prim   ist Superschlüssel von R

Zerlegung mit dem Synthesealgorithmus  Wir geben jetzt einen sogenannten Synthesealgorithmus an, mit dem zu einem gegebenen Relationenschema R mit funktionalen Anhängigkeiten F eine Zerlegung in R 1,..., R n ermittelt wird, die alle drei folgenden Kriterien erfüllt.  R 1,..., R n ist eine verlustlose Zerlegung von R.  Die Zerlegung R 1,..., R n ist abhängigkeitserhaltend.  Alle R 1,..., R n sind in dritter Normalform.

Synthesealgorithmus 1.Bestimme die kanonische Überdeckung Fc zu F. Wiederholung: a.Linksreduktion b.Rechtsreduktion c.Entfernung von FDs der Form    d.Zusammenfassung gleicher linker Seiten 2.Für jede funktionale Abhängigkeit   Fc:  Kreiere ein Relationenschema R  :=    Ordne R  die FDs F  := {  `  `  Fc |  `  `  R  } zu. 3.Falls eines der in Schritt 2. erzeugten Schemata einen Kandidatenschlüssel von R bzgl. Fc 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  `

Anwendung des Synthesealgorithmus Landesregierung Rang Name Straße Ort BLand PersNr Raum Vorwahl PLZ EW

Anwendung des Synthesealgorithmus  ProfessorenAdr: {[PersNr, Name, Rang, Raum, Ort, Straße, PLZ, Vorwahl, BLand, EW, Landesregierung]} 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}  Professoren: {[PersNr, Name, Rang, Raum, Ort, Straße, BLand]}  PLZverzeichnis: {[Straße, BLand, Ort, PLZ]}  OrteVerzeichnis: {[Ort, BLand, EW, Vorwahl]}  Regierungen: {[Bland, Landesregierung]}

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