Relationale Entwurfstheorie

Slides:



Advertisements
Ähnliche Präsentationen
Grundlagen des relationalen Modells
Advertisements

Kapitel 6 Relationale Entwurfstheorie
Organisatorisches Kapitel 6 Relationale Entwurfstheorie Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition.
Datenbankdesign mit ACCESS.
Datenbanken Beispiel: Musikverwaltungsdatenbank Daten: Musikstück
Das Relationale Modell
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)
XML: Extensible Markup Language
Normalisierung II Lehr- und Forschungseinheit Datenbanken und Informationssysteme.
[01] - ERM Modellierung I Basiselemente von E-R-Diagrammen kennen
Normalisierung nach Edgar. F. CODD (1970)
Bauinformatik II Softwareanwendungen 1
Kapitel 6 Relationale Entwurfstheorie
Datenbanksysteme Schwerpunkte: Datenbanksystem (DBS): Datenbank (DB):
Franziska Schmidt Sarah Ahlheit
Anbindung an Anwendungen
Relationale Entwurfstheorie
Kapitel 5 SQL DDL + DML.
Kapitel 2 SQL Anfragen.
Kapitel 2 SQL Anfragen.
Grundlagen Datenbanken
Datenbankdesign und Normalisierung
Daten bank St. Wiedemann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
Kapitel 4 SQL: Grundlagen.
Kapitel 11: Relationale Entwurfstheorie
Kapitel 11: Relationale Entwurfstheorie
© Katharina Brachmann Normalformen Oldenbourg S137, Klett S117
Buch S70ff (Informatik I, Oldenbourg-Verlag)
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.
Algorithmus zur Zerlegung in 3NF (1)
Historische Entwicklung relationaler DBMS
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Kapitel 6 Relationale Entwurfstheorie
Historische Entwicklung relationaler DBMS
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 SQL (Teil 1).
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung Normalformen.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Das relationale Modell
Relationale Datenbanken I
verstehen planen bearbeiten
Normalisierungsprozess
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
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.
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
Vorlesung #5 SQL (Teil 2).
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
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.
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
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Kapitel 6 Relationale Entwurfstheorie
 Präsentation transkript:

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

Erste Beispiel: „Schlechtes“ Datenbankschema Warum ist das eine schlechte Idee? Jeder für sich mit Zettel und Stift; 5 min ProfVorl PersNr Name Titel 2125 Sokrates Ethik, Mäeutik, Logik 2126 Russel Erkenntnistheorie, Wissenschaftstheorie, Bioethik 2127 Kopernikus n.a. … Datenbanken für Mathematiker, WS 11/12 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

Wie komme ich in die Erste Normalform? Beispiel (falsch): In 1 NF Eltern Vater Mutter Kinder Johann Martha {Else, Lucie} Maria {Theo, Josef} Heinz {Cleo} Eltern Vater Mutter Kind Johann Martha Else Lucie Maria Theo Josef Heinz Cleo Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

Die einzelnen Fakten stehen getrennt gar nicht zur Verfügung 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

Exkurs: NF2-Relationen Non-First Normal-Form-Relationen Geschachtelte Relationen (Oracle: Nested Tables) Eltern Vater Mutter Kinder KName KAlter Johann Martha Else 5 Lucie 3 Maria Theo Josef 1 Heinz Cleo 9 Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

Beispiel 2: "Schlechte" Relationenschemata ProfVorl PersNr Name Rang Raum VorlNr Titel SWS 2125 Sokrates C4 226 5041 Ethik 4 5049 Mäeutik 2 4052 Logik ... 2132 Schlick 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? Datenbanken für Mathematiker, WS 11/12 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? Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 Vorlesungen VorlNr Titel SWS gelesenVon 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

Beispiel Stammbaum Kind Vater Mutter Opa Oma Sofie Alfons Sabine Lothar Linde Hubert Lisa Niklas ... Martha … Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

Beispiel Kind  Vater, Mutter Kind, Opa  Oma Kind, Oma  Opa Stammbaum Kind Vater Mutter Opa Oma Sofie Alfons Sabine Lothar Linde Hubert Lisa Niklas ... Martha … Kind  Vater, Mutter Kind, Opa  Oma Kind, Oma  Opa Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

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

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

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

Kandidaten-schlüssel von Städte: Schlüsselbestimmung Städte Name BLand Vorwahl EW Frankfurt Hessen 069 650000 Brandenburg 0335 84000 München Bayern 089 1200000 Mülheim-Kärlich RLP 0261 10416 Koblenz 106681 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

Zweite Normalform (2NF) Eine Relation R mit zugehörigen FDs FR 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 MatrNr VorlNr Name Semester 26120 5001 Fichte 10 27550 Schopenhauer 6 4052 28106 5041 Carnap 3 5259 ... … Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

Zweite Normalform: Beispiel MatrNr Name VorlNr Semester 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. Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

Dritte Normalform (3NF) Ein Relationenschema R ist in dritter Normalform, wenn für jede für R geltende funktionale Abhängigkeit der Form a  B mit B  R mindestens 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 MatrNr Fachbereich Standort Name Semester 26120 Informatik Koblenz Fichte 4 27550 Meyer 8 27551 Psychologie Landau Carnap 5 Studenten ist nicht in 3NF {Fachbereich}  {Standort} Datenbanken für Mathematiker, WS 11/12 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

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, .., Rn rekonstruierbar 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

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

Biertrinker-Beispiel Lokal Gast Bier Einstein Gniffke Pils Anders Hefeweizen Mephisto Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

Biertrinker-Beispiel: Verlustige Zerlegung Lokal Gast Bier Einstein Gniffke Pils Anders Hefeweizen Mephisto Besucht := p [Lokal, Gast] (Biertrinker) Lokal Gast Einstein Gniffke Anders Mephisto Trinkt := p [Gast, Bier] (Biertrinker) Gast Bier Gniffke Pils Anders Hefeweizen Besucht |×| Trinkt Lokal Gast Bier Einstein Gniffke Pils Hefeweizen Anders Mephisto Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

Verlustfreie Zerlegung Eltern Vater Mutter Kind Johann Martha Else Maria Theo Heinz Cleo Väter := p [Vater, Kind] (Eltern) Vater Kind Johann Else Theo Heinz Cleo Mütter := p [Mutter, Kind] (Eltern) Mutter Kind Martha Else Maria Theo Cleo Väter |×| Mütter Vater Mutter Kind Johann Martha Else Maria Theo Heinz Cleo Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

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

Zerlegung der Relation PLZverzeichnis Ort BLand Straße PLZ Frankfurt Hessen Goethestraße 60313 Galgenstraße 60437 Brandenburg 15234 Straßen := p [PLZ, Straße] (PLZverzeichnis) PLZ Straße 15234 Goethestraße 60313 60437 Galgenstraße Orte := p [Ort, BLand] (PLZverzeichnis) Ort BLand PLZ Frankfurt Hessen 60313 60437 Brandenburg 15234 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

Zerlegung der Relation PLZverzeichnis Ort BLand Straße PLZ Frankfurt Hessen Goethestrasse 60313 Galgenstrasse 60437 Brandenburg 15234 Straßen := p [PLZ, Straße] (PLZverzeichnis) PLZ Straße 15234 Goethestrasse 60313 15235 60437 Galgenstrasse Orte := p [Ort, BLand] (PLZverzeichnis) Ort BLand PLZ Frankfurt Hessen 60313 60437 Brandenburg 15234 15235 Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

Zerlegung der Relation PLZverzeichnis Straßen := p [PLZ, Straße] (PLZverzeichnis) PLZ Straße 15234 Goethestrasse 60313 15235 60437 Galgenstrasse Orte := p [Ort, BLand] (PLZverzeichnis) Ort BLand PLZ Frankfurt Hessen 60313 60437 Brandenburg 15234 15235 Strassen |×| Orte Ort BLand Straße PLZ Frankfurt Hessen Goethestrasse 60313 Galgenstrasse 60437 Brandenburg 15235 15234 Die FD {Straße, Ort, BLand}  {PLZ} wird verletzt Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

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

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

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

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

Zerlegung der Relation PLZverzeichnis Ort BLand Straße PLZ Frankfurt Hessen Goethestrasse 60313 Galgenstrasse 60437 Brandenburg 15234 Straßen := p [PLZ, Straße] (PLZverzeichnis) PLZ Straße 15234 Goethestrasse 60313 15235 60437 Galgenstrasse Orte := p [Ort, BLand] (PLZverzeichnis) Ort BLand PLZ Frankfurt Hessen 60313 60437 Brandenburg 15234 15235 Datenbanken für Mathematiker, WS 11/12 Kapitel 7: Relationale Entwurfstheorie

Zerlegung der Relation PLZverzeichnis Straßen := p [PLZ, Straße] (PLZverzeichnis) PLZ Straße 15234 Goethestrasse 60313 15235 60437 Galgenstrasse Orte := p [Ort, BLand] (PLZverzeichnis) Ort BLand PLZ Frankfurt Hessen 60313 60437 Brandenburg 15234 15235 Strassen |×| Orte Ort BLand Straße PLZ Frankfurt Hessen Goethestrasse 60313 Galgenstrasse 60437 Brandenburg 15235 15234 Die FA {Straße, Ort, BLand}  {PLZ} wird verletzt Datenbanken für Mathematiker, WS 11/12 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

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

Triplifizierung (vereinfacht) TripleStore Subjekt Prädikat Objekt Professor hatPrädikat hatRaum Sokrates istInstanzVon 226 hatObjektTyp integer hältVorlesung Ethik hatSWS 4 hört hatSubjektTyp Mensch istEin Student Vorlesung Carnap … 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

Triplifizierung (vereinfacht) Woher weiß ich, ob die Daten überhaupt stimmen? Woher weiß ich, was Daten sind und was zur Struktur gehört? TripleStore Subjekt Prädikat Objekt Professor hatPrädikat hatRaum Sokrates istInstanzVon 226 hatObjektTyp integer hältVorlesung Ethik hatSWS 4 hört hatSubjektTyp Mensch istEin Student Vorlesung Carnap … TripleStore Subjekt Prädikat Objekt Professor istInstanz nein Sokrates istInstanzVon ??? Datenbanken für Mathematiker, WS 11/12 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

Vorteile der Normalisierung Es können keine Anomalien auftreten 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