Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie.

Ähnliche Präsentationen


Präsentation zum Thema: "Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie."—  Präsentation transkript:

1 Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie

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

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/12Kapitel 7: Relationale Entwurfstheorie3 ProfVorl PersNrNameTitel 2125SokratesEthik, Mäeutik, Logik 2126 RusselErkenntnistheorie, Wissenschaftstheorie, Bioethik 2127Kopernikusn.a. ………

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/12Kapitel 7: Relationale Entwurfstheorie4

5 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie5 Wie komme ich in die Erste Normalform? Beispiel (falsch): In 1 NF Eltern VaterMutterKinder JohannMartha{Else, Lucie} JohannMaria{Theo, Josef} HeinzMartha{Cleo} Eltern VaterMutterKind JohannMarthaElse JohannMarthaLucie JohannMariaTheo JohannMariaJosef HeinzMarthaCleo

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/12Kapitel 7: Relationale Entwurfstheorie6

7 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie7 Exkurs: NF 2 -Relationen Non-First Normal-Form-Relationen Geschachtelte Relationen (Oracle: Nested Tables) Eltern VaterMutterKinder KNameKAlter JohannMarthaElse5 Lucie3 JohannMariaTheo3 Josef1 HeinzMarthaCleo9

8 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie8 Beispiel 2: "Schlechte" Relationenschemata ProfVorl PersNrNameRangRaumVorlNrTitelSWS 2125SokratesC Ethik4 2125SokratesC Mäeutik2 2125SokratesC Logik PopperC Der Wiener Kreis2 2137KantC474630Die 3 Kritiken4

9 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie9 Beispiel 2: "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 SchlickC Der Wiener Kreis2 2137KantC474630Die 3 Kritiken4

10 Beispiel 2: Bessere" Relationenschemata Sokrates zieht um, von Raum 226 in R 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/12Kapitel 7: Relationale Entwurfstheorie10 Professoren PersNrNameRangRaum 2125SokratesC RusselC KopernikusC PopperC AugustinusC3309 Vorlesungen VorlNrTitelSWSgelesen Von 5001Grundzüge Ethik Erkenntnistheorie Mäeutik Logik42125

11 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie11 Funktionale Abhängigkeiten Schema R = { A, B, C, D } Ausprägung Q Seien R, R gesprochen: bestimmt genau dann wenn R ABCD a4b2c4d3 a1b1c1d1 a1b1c1d2 a2b2c3d2 a3b2c4d3 {A} {B} {C, D} {B} Nicht: {B} {C} Notationskonvention: CD B

12 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie12 Beispiel Stammbaum KindVaterMutterOpaOma SofieAlfonsSabineLotharLinde SofieAlfonsSabineHubertLisa NiklasAlfonsSabineLotharLinde NiklasAlfonsSabineHubertLisa... LotharMartha ……………

13 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie13 Beispiel Kind Vater, Mutter Kind, Opa Oma Kind, Oma Opa Stammbaum KindVaterMutterOpaOma SofieAlfonsSabineLotharLinde SofieAlfonsSabineHubertLisa NiklasAlfonsSabineLotharLinde NiklasAlfonsSabineHubertLisa... LotharMartha ……………

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

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

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

17 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie17 Schlüssel R ist ein Super-Schlüssel, falls folgendes gilt: R ist voll funktional abhängig von genau 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

18 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie18 Schlüsselbestimmung Kandidaten-schlüssel von Städte: {Name,BLand} {Name,Vorwahl} Keine Kandidaten-Schlüssel: {Vorwahl}, {Name} Städte NameBLandVorwahlEW FrankfurtHessen FrankfurtBrandenburg MünchenBayern Mülheim-KärlichRLP KoblenzRLP

19 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie19 Zweite Normalform (2NF) 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. Informell: Jedes Attribut hängt vom ganzen Schlüssel ab. Studentenbelegung ist nicht in 2NF {MatrNr} {Name} {MatrNr} {Semester} {MatrNr,VorlNr} {Name, Semester} StudentenBelegung MatrNrVorlNrNameSemester Fichte Schopenhauer Schopenhauer Carnap Carnap3... …

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

21 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie21 Dritte Normalform (3NF) Ein Relationenschema R ist in dritter Normalform, wenn für jede für R geltende funktionale Abhängigkeit der Form B mit 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 MatrNrFachbereichStandortNameSemester 26120InformatikKoblenzFichte InformatikKoblenzMeyer PsychologieLandauCarnap5 Studenten ist nicht in 3NF {Fachbereich} {Standort}

22 Wie kann man die 3NF immer erreichen? Ziel: Zerlegung von R mit vorgegebenen FDs F in R 1,..., R n, wobei folgende Kriterien erfüllt sind: Zerlegung von R in R 1,..., R n erfolgt verlustlos. Zerlegung R 1,..., R n ist abhängigkeitserhaltend. Alle R 1,..., R n sind in 3NF Synthesealgorithmus Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie22

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

24 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie24 Kriterien für die Verlustlosigkeit einer Zerlegung Die Zerlegung von R in R 1 und R 2 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

25 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie25 Biertrinker-Beispiel Biertrinker LokalGastBier EinsteinGniffkePils EinsteinAndersHefeweizen MephistoGniffkeHefeweizen

26 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie26 Biertrinker-Beispiel: Verlustige Zerlegung Biertrinker LokalGastBier EinsteinGniffkePils EinsteinAndersHefeweizen MephistoGniffkeHefeweizen Besucht := [Lokal, Gast] (Biertrinker) LokalGast EinsteinGniffke EinsteinAnders MephistoGniffke Trinkt := [Gast, Bier] (Biertrinker) GastBier GniffkePils AndersHefeweizen GniffkeHefeweizen Besucht |×| Trinkt LokalGastBier EinsteinGniffkePils EinsteinGniffkeHefeweizen EinsteinAndersHefeweizen MephistoGniffkePils MephistoGniffkeHefeweizen

27 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie27 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?)

28 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie28 Verlustfreie Zerlegung Eltern VaterMutterKind JohannMarthaElse JohannMariaTheo HeinzMarthaCleo Väter := [Vater, Kind] (Eltern) VaterKind JohannElse JohannTheo HeinzCleo Mütter := [Mutter, Kind] (Eltern) MutterKind MarthaElse MariaTheo MarthaCleo Väter | × | Mütter VaterMutterKind JohannMarthaElse JohannMariaTheo HeinzMarthaCleo

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

30 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie30 Abhängigkeitsbewahrung R ist zerlegt in R 1,..., R n F R = (F R1... F Rn ) bzw. F R + = (F R1... F Rn ) + 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]}

31 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie31 Zerlegung der Relation PLZverzeichnis PLZverzeichnis OrtBLandStraßePLZ FrankfurtHessenGoethestraße60313 FrankfurtHessenGalgenstraße60437 FrankfurtBrandenburgGoethestraße15234 Straßen := [PLZ, Straße] (PLZverzeichnis) PLZStraße 15234Goethestraße 60313Goethestraße 60437Galgenstraße Orte := [Ort, BLand] (PLZverzeichnis) OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234 Die FD {Straße, Ort, BLand} {PLZ} ist im zerlegten Schema nicht mehr enthalten Einfügen inkonsistenter Tupel möglich

32 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie32 Zerlegung der Relation PLZverzeichnis PLZverzeichnis OrtBLandStraßePLZ FrankfurtHessenGoethestrasse60313 FrankfurtHessenGalgenstrasse60437 FrankfurtBrandenburgGoethestrasse15234 Straßen := [PLZ, Straße] (PLZverzeichnis) PLZStraße 15234Goethestrasse 60313Goethestrasse 15235Goethestrasse 60437Galgenstrasse Orte := [Ort, BLand] (PLZverzeichnis) OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234 FrankfurtBrandenburg15235

33 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie33 Zerlegung der Relation PLZverzeichnis Strassen |×| Orte OrtBLandStraßePLZ FrankfurtHessenGoethestrasse60313 FrankfurtHessenGalgenstrasse60437 FrankfurtBrandenburgGoethestrasse15235 FrankfurtBrandenburgGoethestrasse15234 Straßen := [PLZ, Straße] (PLZverzeichnis) PLZStraße 15234Goethestrasse 60313Goethestrasse 15235Goethestrasse 60437Galgenstrasse Orte := [Ort, BLand] (PLZverzeichnis) OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234 FrankfurtBrandenburg15235 Die FD {Straße, Ort, BLand} {PLZ} wird verletzt

34 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie34 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 zerlegen Manchmal lässt sich dabei die Abhängigkeiterhaltung aber nicht erzielen

35 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie35 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}

36 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie36 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} R i1: Regierungen: {[BLand, Ministerpräsident/in]} R i2: Städte: {[Ort, BLand, EW]} Zerlegung ist verlustlos und auch abhängigkeitserhaltend

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

38 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie38 Zerlegung der Relation PLZverzeichnis PLZverzeichnis OrtBLandStraßePLZ FrankfurtHessenGoethestrasse60313 FrankfurtHessenGalgenstrasse60437 FrankfurtBrandenburgGoethestrasse15234 Straßen := [PLZ, Straße] (PLZverzeichnis) PLZStraße 15234Goethestrasse 60313Goethestrasse 15235Goethestrasse 60437Galgenstrasse Orte := [Ort, BLand] (PLZverzeichnis) OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234 FrankfurtBrandenburg15235

39 Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie39 Zerlegung der Relation PLZverzeichnis Strassen |×| Orte OrtBLandStraßePLZ FrankfurtHessenGoethestrasse60313 FrankfurtHessenGalgenstrasse60437 FrankfurtBrandenburgGoethestrasse15235 FrankfurtBrandenburgGoethestrasse15234 Straßen := [PLZ, Straße] (PLZverzeichnis) PLZStraße 15234Goethestrasse 60313Goethestrasse 15235Goethestrasse 60437Galgenstrasse Orte := [Ort, BLand] (PLZverzeichnis) OrtBLandPLZ FrankfurtHessen60313 FrankfurtHessen60437 FrankfurtBrandenburg15234 FrankfurtBrandenburg15235 Die FA {Straße, Ort, BLand} {PLZ} wird verletzt

40 Aber… … manchmal möchte man doch, dass die Fakten in einer Relation zusammen stehen. Warum??? Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie40

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

42 Triplifizierung (vereinfacht) Vor- und Nachteile? Es ist alles in einer Tabelle Es ist alles maximal normalisiert Datenbanken für Mathematiker, WS 11/12Kapitel 7: Relationale Entwurfstheorie42 TripleStore SubjektPrädikatObjekt ProfessorhatPrädikathatRaum SokratesistInstanzVonProfessor SokrateshatRaum226 hatRaumhatObjektTypinteger SokrateshältVorlesungEthik hatSWS4 hörthatSubjektTypMensch ProfessoristEinMensch StudentistEinMensch hörthatObjektTypVorlesung CarnaphörtEthik CarnapistInstanzVonStudent ………

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/12Kapitel 7: Relationale Entwurfstheorie43 TripleStore SubjektPrädikatObjekt ProfessorhatPrädikathatRaum SokratesistInstanzVonProfessor SokrateshatRaum226 hatRaumhatObjektTypinteger SokrateshältVorlesungEthik hatSWS4 hörthatSubjektTypMensch ProfessoristEinMensch StudentistEinMensch hörthatObjektTypVorlesung CarnaphörtEthik CarnapistInstanzVonStudent ……… TripleStore SubjektPrädikatObjekt ProfessoristInstanznein SokratesistInstanzVonProfessor SokratesistInstanz???

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/12Kapitel 7: Relationale Entwurfstheorie44

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


Herunterladen ppt "Dr. Brigitte Mathiak Kapitel 7 Relationale Entwurfstheorie."

Ähnliche Präsentationen


Google-Anzeigen