1 / 45

Kapitel 7

Kapitel 7. Relationale Entwurfstheorie. 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

kalil
Download Presentation

Kapitel 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  3. 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

  4. 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

  5. Wie komme ich in die Erste Normalform? • Beispiel (falsch): • In 1 NF Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  6. 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

  7. Exkurs: NF2-Relationen • Non-First Normal-Form-Relationen • Geschachtelte Relationen (Oracle: Nested Tables) Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  8. Beispiel 2: "Schlechte" Relationenschemata Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  9. Beispiel 2: "Schlechte" Relationenschemata • 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? Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  10. 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

  11. Funktionale Abhängigkeiten • Schema R= {A, B, C, D} • Ausprägung Q • Seien a  R, b  R • a  b (gesprochen: a bestimmt b) genau dann wenn {A}{B} {C, D} {B} Nicht: {B}{C} Notationskonvention: CD  B Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

  13. Beispiel • Kind  Vater, Mutter • Kind, Opa  Oma • Kind, Oma  Opa 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 giltBeispiel: 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 Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  15. Graphische Darstellung der funktionalen Abhängigkeiten Rang Name PersNr PLZ Straße Raum Ort BLand Vorwahl EW Landesregierung Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  16. Normalformen: informeller Überblick • 1NF: „Geometrische Form“ der Tupel Die 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ängigkeiten Es 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 Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  17. Schlüssel • a  Rist 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. • Notation für volle funktionale Abhängigkeit: a  b • a  Rist ein Kandidaten-Schlüssel, falls folgendes gilt: • a R • Attribut B heißt Schlüsselattribut, wenn B in einem von Kandidaten-Schlüsseln a  Rvorkommt 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} Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  19. Zweite Normalform (2NF) • Eine Relation Rmit zugehörigen FDs FR ist in zweiter Normalform, falls jedes Nichtschlüssel-Attribut ARvoll 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} 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 Name VorlNr Semester Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  21. Dritte Normalform (3NF) • Ein RelationenschemaR ist in dritter Normalform, wenn für jede für Rgeltende funktionale Abhängigkeit der Form a Bmit B Rmindestens eine von drei Bedingungen gilt: • B a, d.h., die FD ist trivial oder • Das Attribut B ist ein Schlüsselattribut oder • a ist Superschlüssel von R • Informell: Die Nicht-schlüssel dürfen nicht untereinander abhängig sein. • Studenten ist nicht in 3NF • {Fachbereich}  {Standort} Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  22. Wie kann man die 3NF immer erreichen? • Ziel: • Zerlegung von R mit vorgegebenen FDs Fin 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

  23. Zerlegung (Dekomposition) von Relationen • Korrektheitskriterien für die Zerlegung von Relationenschemata: • 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, .., Rnrekonstruierbar sein. • Abhängigkeitserhaltung • Die für R geltenden funktionalen Anhängigkeiten müssen auf die Schemata R1, ..., Rn übertragbar sein. 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 R R1 • R2 g a b Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

  26. Biertrinker-Beispiel: Verlustige Zerlegung 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?) Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  28. Verlustfreie Zerlegung 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 garantiert • Es 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 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]} Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  31. Zerlegung der Relation PLZverzeichnis • Die FD {Straße, Ort, BLand}  {PLZ} ist im zerlegten Schema nicht mehr enthalten Einfügen inkonsistenter Tupel möglich Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  32. Zerlegung der Relation PLZverzeichnis Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  33. Zerlegung der Relation PLZverzeichnis Die FD {Straße, Ort, BLand}  {PLZ} wird verletzt 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 Rgeltende funktionale Abhängigkeit der Form a  b F gilt: • entweder b  a , d.h., die Abhängigkeit ist trivial, • oder a ist ein Superschlüssel von R • Man kann jede Relation verlustlos in BCNF-Relationen zerlegen • Manchmal lässt sich dabei die Abhängigkeiterhaltung aber nicht erzielen 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} 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 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 Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  38. Zerlegung der Relation PLZverzeichnis Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  39. Zerlegung der Relation PLZverzeichnis Die FA {Straße, Ort, BLand}  {PLZ} wird verletzt Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  40. 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

  41. 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 Aus Wikipedia (Stern_Schema) Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  42. Triplifizierung (vereinfacht) • Vor- und Nachteile? • Es ist alles in einer Tabelle • Es ist alles maximal normalisiert Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

  43. 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

  44. 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

  45. 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 • ImNormalfall (z.B. in der Prüfung) gilt 3 NF ist am Besten Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

More Related