Datenbanksysteme I Relationaler ?· Logischer Entwurf Datendefinition Physischer Entwurf Implementierung…

Download Datenbanksysteme I Relationaler ?· Logischer Entwurf Datendefinition Physischer Entwurf Implementierung…

Post on 18-Sep-2018

212 views

Category:

Documents

0 download

TRANSCRIPT

Datenbanksysteme IRelationaler Datenbankentwurf18.4.2011Felix Naumannberblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 20112Motivation Datenbankdesign als Skizze mittels ER-Modellierung Welche Daten? Welche Beziehungen? Nicht wie Daten erzeugt oder verndert werden. Skizzen heien Entity-Relationship-Diagramme ER-Diagramme In 1 Woche: berfhrung von ER-Diagrammen in das relationale Modell Relationen, Attribute, Integrittsbedingungen In 2 Wochen: berfhrung von Relationenschemata in SQL Ausdrcke CREATE TABLE Felix Naumann | Datenbanksysteme I | Sommer 20113Entwurfsaufgabe Datenhaltung fr mehrere Anwendungssysteme und mehrereJahre daher: besondere Bedeutung Anforderungen an Entwurf Anwendungsdaten jeder Anwendung sollen aus Daten der Datenbank ableitbar sein. Mglichst effizient Nur vernnftige (wirklich bentigte) Daten sollen gespeichert werden. Nicht-redundante SpeicherungFelix Naumann | Datenbanksysteme I | Sommer 20114Entwurfsprozess Abfolge von Entwurfsdokumenten Von abstrakter Beschreibung Bis tatschlichen Realisierung in einem DBMS Verschiedene Beschreibungsformalismen ER, Relationenmodell, SQL DDL, usw. In jedem Schritt Informationserhaltung KonsistenzerhaltungFelix Naumann | Datenbanksysteme I | Sommer 20115Phasenmodell fr den DatenbankentwurfFelix Naumann | Datenbanksysteme I | Sommer 20116AnforderungsanalyseKonzeptioneller EntwurfVerteilungsentwurfLogischer EntwurfDatendefinitionPhysischer EntwurfImplementierung und WartungER-DiagrammeRelationenschemataCREATE TABLE statementsAnforderungsanalyse Vorgehensweise Sammlung des Informationsbedarfs in den Fachabteilungen Ergebnis informale Beschreibung des Fachproblems Texte, tabellarische Aufstellungen, Formbltter, Trennen der Information ber Daten (Datenanalyse) von den Information ber Funktionen (Funktionsanalyse) Klassischer DB-Entwurf nur Datenanalyse und Folgeschritte Funktionsentwurf siehe Methoden des Software EngineeringFelix Naumann | Datenbanksysteme I | Sommer 20117Konzeptioneller Entwurf Erste formale Beschreibung des Fachproblems UoD: Universe of Discourse (Diskurswelt) Sprachmittel: semantisches Datenmodell ER Vorgehensweise Modellierung von Sichten z.B. fr verschiedene Fachabteilungen Analyse der vorliegenden Sichten in Bezug auf Konflikte Namenskonflikte (Synonyme, Homonyme) Typkonflikte Bedingungskonflikte Strukturkonflikte Integration der Sichten in ein Gesamtschema Ergebnis konzeptionelles Gesamtschema, z.B.(E)ER-DiagrammFelix Naumann | Datenbanksysteme I | Sommer 20118SichtenintegrationFelix Naumann | Datenbanksysteme I | Sommer 20119 Analyse der vorliegenden Sichten in Bezug auf Konflikte Integration der Sichten in ein GesamtschemaVerteilungsentwurf (Partitionierung) Sollen Daten auf mehreren Rechnern verteilt vorliegen, muss Art und Weise der verteilten Speicherung festgelegt werden. z.B. bei einer Relation KUNDE (KNr, Name, Adresse, PLZ, Konto) horizontale Verteilung KUNDE_1 (KNr, Name, Adresse, PLZ, Konto)where PLZ < 50.000 KUNDE_2 (KNr, Name, Adresse, PLZ, Konto)where PLZ >= 50.000 vertikale Verteilung (Verbindung ber KNr Attribut) KUNDE_Adr (KNr, Name, Adresse, PLZ) KUNDE_Konto (KNr, Konto)Felix Naumann | Datenbanksysteme I | Sommer 201111Logischer Entwurf Sprachmittel: Datenmodell des ausgewhlten Realisierungs-DBMS z.B. DB2, Oracle, => relationales Modell Tamino => XML Vorgehensweise: (automatische) Transformation des konzeptionellen Schemas z.B. ER in relationales Modell Verbesserung des relationalen Schemas anhand von Gtekriterien Normalisierung, Redundanzvermeidung, Ergebnis: logisches Schema, z.B. Sammlung von RelationenschemataFelix Naumann | Datenbanksysteme I | Sommer 201112Datendefinition Umsetzung des logischen Schemas in ein konkretes Schema Sprachmittel: DDL und DML eines DBMS z.B. Oracle, DB2, SQL Server Datenbankdeklaration in der DDL des DBMS Realisierung der Integrittssicherung Definition der BenutzersichtenFelix Naumann | Datenbanksysteme I | Sommer 201113CREATE TABLE CREATE VIEW Physischer Entwurf Ergnzen des physischen Entwurfs um Zugriffsuntersttzung zur Effizienzverbesserung z.B. Definition von Indizes CREATE INDEX Index Zugriffspfad: Datenstruktur fr zustzlichen, schlsselbasierten Zugriff auf Tupel () Meist als B*-Baum realisiert Beispiel Tabelle mit 10 GB Daten, Festplattentransferrate ca. 10 MB/s Operation: Suchen eines Tupels (Selektion) Implementierung: sequentielles Durchsuchen Aufwand: 10.240/10 = 1.024 sec. = 17 min.Felix Naumann | Datenbanksysteme I | Sommer 201114Nicht in dieser VorlesungImplementierung und Wartung Wartung des DBMS Parameter, Festplatten, etc. Database Tuning Weitere Optimierung der physischen Ebene Anpassung an neue Anforderungen Anpassung an neue Systemplattformen Portierung auf neue Datenbankmanagementsysteme Kostenaufwndigste Phase Software EngineeringFelix Naumann | Datenbanksysteme I | Sommer 201115Nicht in dieser Vorlesungberblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 201116Phasenmodell fr den DatenbankentwurfFelix Naumann | Datenbanksysteme I | Sommer 201117AnforderungsanalyseKonzeptioneller EntwurfVerteilungsentwurfLogischer EntwurfDatendefinitionPhysischer EntwurfImplementierung und WartungDas Entity-Relationship-Modell Nach Peter P. Chen 1976 The entity-relationship model towards a unified view of data. ACM TODS Standardmodell in der frhen EntwurfsphaseFelix Naumann | Datenbanksysteme I | Sommer 201118Begriffe Entity Ein Ding / Objekt der realen oder der Vorstellungswelt Nicht direkt darstellbar, sondern nur ber Eigenschaften beobachtbar Entitytyp (entity set) Eine Klasse fr gleichartige Objekte Relationship Beschreibt Beziehungen zwischen Entities Meist binr Relationshiptyp Eine Klasse fr gleichartige Beziehungen Attribut reprsentiert eine Eigenschaft von Entities oder von Relationships Zunchst nur primitive Datenwerte (String, Integer, ) und Operationen daraufFelix Naumann | Datenbanksysteme I | Sommer 201119Entity-Relationship-DiagrammFelix Naumann | Datenbanksysteme I | Sommer 201120FilmeSchauspielerStudiosbesitztspielt_inTitel JahrLnge TypNameAdresseNameAdresseEntity-Relationship-Diagramm Feinheiten Kardinalitten Referentielle Integritt Schwache Entitytypen N-re Relationships und RollenFelix Naumann | Datenbanksysteme I | Sommer 201121Filme StudiosbesitztFilme Studiosbesitzt VorsitzendeleitetCrewsStudiosarbeitet_frNummerName AdresseFilmeSchauspielerStudiosist_unter_VertragProduzierendes StudioStammstudio des SchauspielersDie IST-BeziehungSubklassen zu Filmen Zeichentrickfilme KrimisFelix Naumann | Datenbanksysteme I | Sommer 201122FilmeTitel JahrLnge TypIST ISTZeichentrickfilme Krimis WaffenStimmenzu SchauspielernBume IST-Beziehungen nur als Bume Keine Mehrfachvererbung Ein Entity kann aus mehreren Komponenten des IST-Baumes bestehen. Krieg der Sterne hat vier Attribute. Cinderella hat vier Attribute und Stimmen-Relationships. Der dritte Mann hat vier Attribute und zustzlich das Attribut Waffen. Roger Rabbit hat vier Attribute, zustzlich das Attribut Waffen und Stimmen-Relationships. Anders als objekt-orientierte Modelle In OO sind Objekte immer in genau einer Klasse; Subklassen erben von Superklasse(n). In ER sind Entities in allen Subklassen reprsentiert, in die sie gehren. In ER ist ein Entity in einer Subklasse auch automatisch in den Superklassen reprsentiert.Felix Naumann | Datenbanksysteme I | Sommer 201123FilmeTitel JahrLnge TypIST ISTZeichentrickfilme Krimis WaffenStimmenNebenbedingungen (Constraints) Schlssel Ein oder mehrere Attribute Werte identifizieren eindeutig ein Entity. Referentielle Integritt Existenz des referenzierten Entities Entspricht dangling pointer Domnen Einschrnkung des Wertebereichs Allgemeine Nebenbedingungen (assertions) Z.B. nicht mehr als 10 Schauspieler pro Film Nebenbedingungen sind Teil des Schemas. Sie leiten sich nicht aus den Daten ab!Felix Naumann | Datenbanksysteme I | Sommer 201124Schlssel Ein Schlssel ist eine (minimale) Menge von Attributen eines Entitytyps, fr die gilt, dass keine zwei Entities gleiche Werte in allen Schlsselattributen haben. Einige Attributwerte knnen bereinstimmen. Oft nur ein Attribut Fr jeden Entitytyp muss ein Schlssel angegeben werden. Es kann mehr als einen Schlssel fr einen Entitytyp geben. blich: Primrschlssel auswhlen Bei IST-Beziehungen muss die Wurzel-Superklasse smtliche Schlsselattribute enthalten. Darstellung durch Unterstreichen der AttributnamenFelix Naumann | Datenbanksysteme I | Sommer 201125Schlssel Filme Titel als Schlssel? King Kong Titel und Jahr als Schlssel? Eventuell kann ein Film dann nicht gespeichert werden. In IMDB: 275 Doppelte Schauspieler Name oder Name und Adresse Studio Name In der Praxis: Modellierung eines speziellen, numerischen Schlsselattributs. ISBN, SSN, Imma-Nummer,Felix Naumann | Datenbanksysteme I | Sommer 201126Wo ist der Schlssel?Felix Naumann | Datenbanksysteme I | Sommer 201127Schlssel In ER-Diagrammen kann nur ein Schlssel notiert werden. Der sich ber mehrere Attribute eines Entitytyps erstrecken kann.Felix Naumann | Datenbanksysteme I | Sommer 201128FilmeSchauspielerStudiosbesitztspielt_inTitel JahrLnge TypNameAdresseNameAdresseReferentielle Integritt Schlssel: Hchstens ein bestimmter Wert fr ein Attribut Bzw. hchstens eine Wertekombination bei mehreren Attriuten im Schlssel Referentielle Integritt: Genau ein bestimmter Wert Bsp. n:1 Relationship zwischen Filme und Studios Ein Film kann zu hchsten einem Studio gehren. Aber ein Film muss zu keinem Studio gehren. Auch wenn ein Film zu einem Studio gehrt, muss dieses nicht in der DB reprsentiert sein. Referentielle Integritt erzwingt die Existenz und Reprsentation des Studios Erzwingen Bei Einfgen/ndern eines Films muss entsprechendes Studio vorhanden sein. Ein Studio darf nicht gelscht werden, solange es noch Filme besitzt. Oder: Wenn ein Studio gelscht wird, werden auch alle entsprechenden Filme gelscht. Verschiedene Einstellungen im DBMSFelix Naumann | Datenbanksysteme I | Sommer 201129Referentielle Integritt Jeder Film muss von genau einem Studio besessen werden. Jeder Vorsitzende muss genau ein Studio leiten. Jedes Studio wird von hchstens einem Vorsitzenden geleitet. Eventuell aber von keinem Ein Studio kann mehrere Filme besitzen.Felix Naumann | Datenbanksysteme I | Sommer 201130Filme Studiosbesitzt VorsitzendeleitetFelix Naumann | Datenbanksysteme I | Sommer 201131berblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 201132Die Relation Konzeptuell ist eine Datenbank eine Menge von Tabellen. Relation zwischen Werten der Attributdomnen Tabellen = Relationen Die Relation ist das einzige Konstrukt des relationalen Modells Sehr einfach Einfach in einer DB abzubilden (zwei-dimensional) Relationen knnen nicht nur Entities sondern auch Relationships darstellen. Entspricht oft unserer Vorstellung der Daten Ist das abstrakte Modell hinter SQLFelix Naumann | Datenbanksysteme I | Sommer 201133Titel Jahr Lnge TypBasic Instinct 1992 127 FarbeTotal Recall 1990 113 FarbeDead Man 1995 121 s/wElemente einer Relation Datenbankschema Besteht aus einem oder mehreren Relationenschemata. Relationenschema Weitere Eintrge in der Tabelle: Die Relation Besteht aus keinem oder mehr Tupeln. Eine Zeile der Tabelle: Tupel Tupel bilden eine Menge (nicht eine Liste). Eine Spaltenberschrift: Attribut Attribute bilden eine Menge (nicht eine Liste). Ein Eintrag: Attributwert Atomar Stammt aus einer elementaren Domne (Integer, String, )Felix Naumann | Datenbanksysteme I | Sommer 201134Elemente einer RelationFelix Naumann | Datenbanksysteme I | Sommer 201135A1 AnR B1 BnSRelationennameAttributeRelationenschemaTupelRelationFremdschlsselPrimrschlsselFormal Domnen D1, , Dn Relation R D1 x x DnBeispiel Relationenschema: Filme(Titel, Jahr, Lnge, Typ) Domnen: String, Integer, Integer, String Tupel: (Star Wars, 1977, 124, farbig)Felix Naumann | Datenbanksysteme I | Sommer 201136http://www.stainlesssteeldroppings.comEdgar F. Coddhttp://en.wikipedia.org/wiki/Edgar_F._Codd Promotion an der University of Michigan Ann Arbor Entwicklung des Relationalen Modells bei IBM (Almaden) A Relational Model of Data for Large Shared Data Banks" (1970) Artikelserie Literaturhinweis: The Database Relational Model: A Retrospective Review and Analysis : A Historical Account and Assessment of E. F. Codd's Contribution to the Field of Database Technology Chris J. Date ISBN: 0-201-61294-1 (9.99 EUR)Felix Naumann | Datenbanksysteme I | Sommer 201137Contributions (nach C.J.Date) Transformation von Datenmanagement zu einer Wissenschaft Entsprechende Klarheit und Strenge Nicht nur das relationale Modell, sondern berhaupt das Konzept eines Datenmodells Unterscheidung zwischen Modell und Implementierung Relationale Algebra und relationales Kalkl Informell: Anfragesprache Alpha Angelehnt: SEQUEL von Chamberlin und Boyce Funktionale Abhngigkeiten Normalformen Erste bis dritte NormalformFelix Naumann | Datenbanksysteme I | Sommer 201138Felix Naumann | Datenbanksysteme I | Sommer 201139Felix Naumann | Datenbanksysteme I | Sommer 201140Felix Naumann | Datenbanksysteme I | Sommer 201141berblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 201142Phasenmodell fr den DatenbankentwurfFelix Naumann | Datenbanksysteme I | Sommer 201143AnforderungsanalyseKonzeptioneller EntwurfVerteilungsentwurfLogischer EntwurfDatendefinitionPhysischer EntwurfImplementierung und WartungZiele der ER-Abbildung Darstellung aller Informationen des ER-Diagramms Exaktheit Das Datenbankschema kann genauso viele Instanzen wie das ER-Diagramm darstellen. Das Datenbankschema kann nicht mehr Instanzen als das ER-Diagramm darstellen. Erhaltung und Einhaltung der Informationskapazitt!Felix Naumann | Datenbanksysteme I | Sommer 201144Kapazittserhhende AbbildungFelix Naumann | Datenbanksysteme I | Sommer 201145SName VNameFox IgerDisney IgerStudios VorsitzendeleitetSName VNameRelationenschema: R = {SName, VName}Schlsselmenge: { {SName} } Schlsselmenge: { {SName}, {VName} }SName VNameFox MurdochDisney IgerSName VNameFox MurdochDisney Igerkapazittserhhend kapazittserhaltendKapazittsvermindernde AbbildungFelix Naumann | Datenbanksysteme I | Sommer 201146Name TitelSharon StoneBasic InstinctMichael DouglasBasic InstinctSchauspieler Filmespielt_inName TitelRelationenschema: R = {Name, Titel}Schlsselmenge: { {Name} } Schlsselmenge: { {Name, Titel} }Name TitelSharon StoneBasic InstinctMichael DouglasBasic Instinctkapazittsvermindernd kapazitts-erhaltendName TitelSharon StoneBasic InstinctSharon StoneTotal RecallMichael DouglasBasic InstinctGrundalgorithmus1. Wandle jeden Entitytypen in eine Relation mit den gleichen Attributen um.2. Wandle jeden Relationshiptypen in eine Relation um mit Attributen zugehrigen Attribute des Relationshiptypen Schlsselattribute der beteiligten Entitytypen3. Verfeinere den Entwurf1. Zusammenlegung von Relationen2. Normalisierung Ausnahmen Schwache Entitytypen IST RelationshipsFelix Naumann | Datenbanksysteme I | Sommer 201147Entitytyp Relation Name des Entitytyps Name der Relation Attribute des Entitytyps Attribute der Relation Diese Relation bildet in keiner Weise Relationships ab. Filme(Titel, Jahr, Lnge, Typ) Schauspieler(Name, Adresse) Studios(Name, Adresse)Felix Naumann | Datenbanksysteme I | Sommer 201148FilmeSchauspielerStudiosbesitztspielt_inTitel JahrLnge TypNameAdresseNameAdresseRelationshiptyp Relation Attribute: Attribute des Relationshiptyps selbst Fr jeden beteiligten Entitytypen: Fge deren Schlsselattribut(e) als Attribute hinzu Doppelte Attributnamen Umbenennungen sind ntig! Falls ein Entitytyp in mehreren Rollen beteiligt ist Entsprechend oft die Schlsselattribute bernehmen Geeignete Umbenennungen sind ntigFelix Naumann | Datenbanksysteme I | Sommer 201149Relationshiptyp Relation spielt_in(Titel, Jahr, SchauspielerName, SchauspielerAdresse, Rolle) besitzt(Titel, Jahr, StudioName) Umbenennungen hier nur zur KlarheitFelix Naumann | Datenbanksysteme I | Sommer 201150FilmeSchauspielerStudiosbesitztspielt_inTitel JahrLnge TypNameAdresseNameAdresseRolleRelationshiptyp Relation ist_unter_Vertrag(Titel, Jahr, SchauspielerName,SchauspielerAdresse, StudioName) ist_unter_Vertrag(Titel, Jahr, SchauspielerName,SchauspielerAdresse, Stammstudio, ProduzierendesStudio, Gehalt)Felix Naumann | Datenbanksysteme I | Sommer 201151Filme SchauspielerStudiosist_unter_VertragTitel JahrLnge TypNameAdresseNameAdresseFilme SchauspielerStudiosist_unter_VertragTitel JahrLnge TypNameAdresseNameAdresseProduzierendes StudioStammstudioGehaltZusammenlegen von RelationenMan kann folgende Relationen kombinieren: Die Relation fr einen Entitytypen E Mit der Relation eines 1:n Relationshiptypen R, falls E auf den n-Seite liegt.Begrndung RE enthlt den Schlssel von E. RE enthlt alle nicht-Schlssel Attribute von E. RR enthlt Schlssel von E. RR enthlt sonstige Attribute von R. RR enthlt Schlssel des anderen Entitytypen Smtliche Attributwerte werden eindeutig durch den Schlssel von E bestimmt.Neue Relation enthlt also Alle Attribute von E Alle Attribute von R inkl. Schlssel des anderen EntitytypenFelix Naumann | Datenbanksysteme I | Sommer 201152Filme StudiosbesitztTitel JahrLngeTyp NameAdresseZusammenlegen von Relationen1:n-RelationshipsFelix Naumann | Datenbanksysteme I | Sommer 201153Titel Jahr Lnge TypBasic Instinct 1992 127 FarbeTotal Recall 1990 113 FarbeDead Man 1995 121 s/wFilme besitztTitel Jahr studioNameBasic Instinct 1992 FoxTotal Recall 1990 DisneyDead Man 1995 ParamountTitel Jahr Lnge Typ studioNameBasic Instinct 1992 127 Farbe FoxTotal Recall 1990 113 Farbe DisneyDead Man 1995 121 s/w ParamountFilmeFilme StudiosbesitztTitel Jahr Lnge Typ Name AdresseZusammenlegen von Relationen1:1-RelationshipsFelix Naumann | Datenbanksysteme I | Sommer 201154Studios VorsitzendeleitetSName VNameSName VNameFox MurdockDisney IgerSNameFoxDisneyVNameMurdockIgerStudios VorsitzendeleitetSName VNameFox MurdockDisney IgerVNameMurdockIgerVorsitzendeStudiosSName VNameFox MurdockDisney IgerSNameFoxDisneyStudios Vorsitzende Zusammenlegen von Relationenn:m-RelationshipsFelix Naumann | Datenbanksysteme I | Sommer 201155 Schauspielerspielt_in NameAdresseFilmeTitel Jahr Lnge TypTitel Jahr Lnge TypBasic Instinct 1992 127 FarbeTotal Recall 1990 113 FarbeDead Man 1995 121 s/wFilme Titel Jahr NameTotal Recall 1990 Sharon StoneBasic Instinct 1992 Sharon StoneTotal Recall 1990 ArnoldDead Man 1995 Johnny Deppspielt_inTitel Jahr Lnge Typ NameTotal Recall 1990 113 Farbe Sharon StoneBasic Instinct 1992 127 Farbe Sharon StoneTotal Recall 1990 113 Farbe ArnoldDead Man 1995 121 s/w Johnny DeppFilmeSchwache EntitytypenDrei Besonderheiten Die Relation eines schwachen Entitytypen S muss nicht nur die eigenen Attribute, sondern auch die Schlsselattribute aller Entitytypen, die ber untersttzende Relationshiptypen erreicht werden, enthalten. Alle Relationen fr Relationshiptypen, die S in Beziehung mit anderen Entitytypen setzen, mssen ebenfalls alle diese Attribute enthalten. Ein untersttzender Relationshiptyp muss hingegen gar nicht durch eine Relation abgebildet werden. Begrndung wie eben: 1:nFelix Naumann | Datenbanksysteme I | Sommer 201156Crews Studiosarbeitet_frNummer Name AdresseSchwache Entitytypen Studios(Name, Adresse) Crews(Nummer, Name) arbeitet_fr(Nummer, Name1, Name2)Felix Naumann | Datenbanksysteme I | Sommer 201157Crews Studiosarbeitet_frNummer Name Adressesind gleichSchema-Teilmengen Beispiel Personen(Name, SSN) Steuerzahler(Name, SSN, Betrag) Schema von Personen ist Teilmenge des Schemas von Steuerzahler. Aber: Instanzen knnen sich unterscheiden Steuerzahler Personen Beispiel Schauspieler(Name, Adresse) Studios(Name, Adresse) Schemata sind sogar identisch, aber Instanzen grundverschieden.Felix Naumann | Datenbanksysteme I | Sommer 201158Schwache Entitytypen Studios(Name, Adresse) Schauspieler(Name, Adresse) Filme(Titel, Jahr, Typ, Lnge) Vertrag(SchauspielerName, StudioName, Titel, Jahr, Gehalt)Felix Naumann | Datenbanksysteme I | Sommer 201159FilmeSchauspielerStudiosSchauspieler_vonVertragFilm_vonStudio_vonGehaltNameAdresseTypLngeTitelJahrNameAdresseSchwache Entitytypen Studios(Name, Adresse) Schauspieler(Name, Adresse) Filme(Titel, Jahr, Typ, Lnge) ist_unter_Vertrag(SchauspielerName, StudioName, Titel, Jahr, Gehalt) Was fllt auf?Felix Naumann | Datenbanksysteme I | Sommer 201160Filme SchauspielerStudiosist_unter_VertragTitel JahrLnge TypName AdresseNameAdresseGehaltberblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 201161Wdh. Spezialisierung Annahmen Es gibt ein Wurzel-Entitytyp der IST-Hierarchie. Der Wurzel-Entitytyp hat einen Schlssel, der alle Entities der gesamten Hierarchie identifiziert. Ein Entity kann aus mehreren Komponenten der Hierarchie bestehen.Felix Naumann | Datenbanksysteme I | Sommer 201162FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu SchauspielernDrei Strategien Im ER-Stil Fr jeden Entitytypen E der Hierarchie erzeuge eine Relation mit den Schlsselattributen des Wurzel-Entitytypen und den Attributen von E. Objekt-orientierter Stil Ein Entity gehrt zu genau einer Klasse. Fr jeden mglichen Teilbaum der Hierarchie, der auch die Wurzel enthlt, erzeuge eine Relation mit allen Attributen der beteiligten Entitytypen. Mit Null-Werten Erzeuge eine einzige Relation fr die gesamte Hierarchie. Ein Entity wird durch ein Tupel reprsentiert mit Null-Werten fr Attribute, die der Entity nicht besitzt.Felix Naumann | Datenbanksysteme I | Sommer 201163ER-Stil Filme(Titel, Jahr, Lnge,Typ) Krimis(Titel, Jahr, Waffen) Zeichentrickfilme(Titel, Jahr) Anmerkungen Die IST-Relationship erhlt keine Relation. Geerbte Schlsselattribute werden fr weitere Beziehungen verwendet. Es gibt vier verschiedene Filmsorten. Jeder Film hat ein Tupel in der Relation Filme. Ein konkreter Film (z.B. Roger Rabbit) kann Tupel in allen drei Relationen haben.Felix Naumann | Datenbanksysteme I | Sommer 201164FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu SchauspielernER-Stil Feinheiten Filme(Titel, Jahr, Lnge,Typ) Krimis(Titel, Jahr, Waffen) Zeichentrickfilme(Titel, Jahr) Stimmen(Titel, Jahr, Name) Schema von Zeichentrickfilm ist Teilmenge des Schemas von Filme. Kann man es weglassen? Stumme Zeichentrickfilme!Felix Naumann | Datenbanksysteme I | Sommer 201165FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu SchauspielernObjekt-orientierter Stil Erzeuge Relation fr jeden Teilbaum. Diese Relation reprsentiert die Entities, die genau diese Komponenten der Hierarchie besitzen. Objekte gehren zu genau einer Klasse. Vier Teilbume Nur Filme Filme und Zeichentrickfilme Filme und Krimis Filme und Zeichentrickfilme und Krimis Filme(Titel, Jahr, Lnge, Typ) FilmeZ(Titel, Jahr, Lnge, Typ) FilmeK(Titel, Jahr, Lnge, Typ, Waffen) FilmeZK(Titel, Jahr, Lnge, Typ, Waffen)Felix Naumann | Datenbanksysteme I | Sommer 201166FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu SchauspielernObjekt-orientierter Stil Feinheiten Filme(Titel, Jahr, Lnge, Typ) FilmeZ(Titel, Jahr, Lnge, Typ) FilmeK(Titel, Jahr, Lnge, Typ, Waffen) FilmeZK(Titel, Jahr, Lnge, Typ, Waffen) Kann man Filme und FilmeZ kombinieren? Kann man FilmeK und FilmeZKkombinieren? Wie viele Relationen fr Stimmen bentigt man? Stimmen(Titel, Jahr, Name)Felix Naumann | Datenbanksysteme I | Sommer 201167FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu SchauspielernMit Nullwerten Eine einzige Relation mit allen Attributen. Filme(Titel, Jahr, Lnge, Typ, Waffen) Nicht-Krimis haben NULL-Wert als Attributwert fr Waffen. Feinheiten Stumme Zeichentrickfilme und Krimis ohne Waffen sehen aus wie normale Filme.Felix Naumann | Datenbanksysteme I | Sommer 201168FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu SchauspielernVergleich der drei StileAnzahl an Relationen (bei n Entitytypen) Null-Stil: Nur eine Relation ER-Stil: n Relationen OO-Stil: O(2n) Relationen bei n Kindern Speicherbedarf OO-Stil: Minimaler Speicherbedarf Nur ein Tupel pro Entity Jeweils nur so viele Attribute wie ntig Null-Stil: Auch nur ein Tupel pro Entity Aber: Lange Tupel mit mglicherweise vielen Null-Werten ER-Stil: Viele Tupel pro Entity Aber nur Schlsselattribute werden wiederholt.Felix Naumann | Datenbanksysteme I | Sommer 201169FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu SchauspielernVergleich der drei StileAnfragebearbeitung Anfragen ber viele Relationen sind teuer. Null-Werte im Vorteil Welche Filme aus 1999 sind lnger als 150 Minuten? ER-Stil: Antwort direkt mglich OO-Stil: Anfrage an alle vier Relationen Welche Waffen wurden in Zeichentrickfilmen, die lnger als 150 Minuten sind, verwendet? ER-Stil: Alle drei Relationen sind relevant Filme fr die Lnge Zeichentrickfilme fr die Tatsache, dass es ein Zeichentrickfilm ist Krimis fr die Waffe OO-Stil: Anfrage nur an FilmeZK()Felix Naumann | Datenbanksysteme I | Sommer 201170FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu Schauspielernberblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 201171Motivation Bisher: Direkte bersetzung von ER-Diagrammen in das relationale Modell Verbesserungen sind mglich (Verfeinern des logischen Entwurfs) Aufgrund bestimmter Nebenbedingungen Insbesondere: Aufgrund von funktionalen Abhngigkeiten FDs: Functional dependencies Vermeidung von Redundanzen: Aufspalten von Relationenschemata, ohne gleichzeitig semantische Informationen zu verlieren die Mglichkeit zur Rekonstruktion der Relationen zu verlieren Verschiedene Normalformen (nchster Abschnitt)Felix Naumann | Datenbanksysteme I | Sommer 201172Definition Funktionale AbhngigkeitX A ist eine Aussage ber eine Relation R, dass immer wenn zwei Tupel in den Werten der Attributmenge X bereinstimmen sie auch im Attributwert fr A bereinstimmen. Beispiel Titel, Jahr Lnge Notation , X, Y, Z sind Attributmengen A, B, C, sind Attribute X A: X bestimmt A funktional. Kurzform: ABC statt {A, B, C} Kurzform: Falls X A, X B, X C Schreiben wir auch X ABC oder auch X YFelix Naumann | Datenbanksysteme I | Sommer 201173BeispielTitel Jahr Lnge Typ StudioName SchauspNameTotal Recall 1990 113 Farbe Fox Sharon StoneBasic Instinct 1992 127 Farbe Disney Sharon StoneTotal Recall 1990 113 Farbe Fox ArnoldDead Man 1995 121 s/w Paramount Johnny DeppFelix Naumann | Datenbanksysteme I | Sommer 201174 Titel, Jahr Lnge Titel, Jahr Typ Titel, Jahr StudioName Titel, Jahr Lnge, Typ, StudioName Wenn zwei Tupel den gleichen Titel und das gleiche Jahr haben, dann haben sie auch gleiche Lnge, gleichen Typ und gleichen Studionamen. Klar, denn Titel und Jahr sind Schlssel: Gegeben Titel und Jahr haben wir einen eindeutigen Film, der wohl auch eine eindeutige Lnge und Typ hat. Wegen 1:n Beziehung zwischen Studios und Filmen ist auch zu erwarten, dass das Studio eindeutig ist. Aber Titel, Jahr SchauspName ist falsch! Warum?Schema vs. InstanzTitel Jahr Lnge Typ StudioName SchauspNameTotal Recall 1990 113 Farbe Fox Sharon StoneBasic Instinct 1992 127 Farbe Disney Sharon StoneTotal Recall 1990 113 Farbe Fox ArnoldDead Man 1995 121 s/w Paramount Johnny DeppFelix Naumann | Datenbanksysteme I | Sommer 201175 FDs sind Aussagen ber das Schema, nicht die Instanz! Titel Typ scheint zu gelten Aber nur zufllig bei dieser Instanz Wenn zwei Filme im Titel bereinstimmen, stimmen sie auch im Typ berein. Gegenbeispiel: King Kong von 1924 vs. King Kong von 2005. Titel, Jahr Typ gilt hingegenSchlssel als Spezialfall einer FD Eine Menge aus einem oder mehr Attributen {A1, A2, , An} ist Schlssel der Relation R, falls gilt: Die Attribute bestimmen alle anderen Attribute funktional. Anmerkung: Relationen sind Mengen, es kann also keine zwei vllig identischen Tupel geben. Keine echte Teilmenge von {A1, A2, , An} bestimmt alle anderen Attribute funktional. Anmerkung: Ein Schlssel muss also minimal sein. Ziel des Datenbankentwurfs: Normalisierung Alle gegebenen FDs in Schlsselabhngigkeiten umformen, ohne dabei semantische Information zu verlieren. Umformung durch Dekomposition von Relationen Spter, denn zunchst: Entdeckung aller FDsFelix Naumann | Datenbanksysteme I | Sommer 201176Schlssel als Spezialfall einer FDTitel Jahr Lnge Typ StudioName SchauspNameTotal Recall 1990 113 Farbe Fox Sharon StoneBasic Instinct 1992 127 Farbe Disney Sharon StoneTotal Recall 1990 113 Farbe Fox ArnoldDead Man 1995 121 s/w Paramount Johnny DeppFelix Naumann | Datenbanksysteme I | Sommer 201177 {Titel, Jahr, SchauspName} ist ein Schlssel. {Titel, Jahr} bestimmen Lnge, Typ und Studioname funktional. Deshalb knnen keine zwei Tupel gleiche Werte fr Titel, Jahr und SchauspName haben. Sie wren insgesamt identisch. Teilmengen? {Titel, Jahr} bestimmen SchauspName nicht funktional {Jahr, SchauspName} bestimmen Titel nicht funktional {Titel, SchauspName} bestimmen Jahr nicht funktional Beispiele?Schlssel und Superschlssel Eine Relation kann mehr als einen Schlssel besitzen. Wahl eines der Schlssel als Primrschlssel Eine Attributmenge, die einen Schlssel enthlt ist ein Superschlssel. {Titel, Jahr, SchauspName} ist ein Schlssel und ein Superschlssel {Titel, Jahr, Lnge, SchauspName} ist ein Superschlssel Nicht minimal Minimal vs. kleinster Minimaler Schlssel: Kein Attribut darf fehlen Kleinster Schlssel: Schlssel mit wenigsten Attributen Alternative Begriffe: Schlssel (=Superschlssel) und Schlsselkandidat (=Schlssel)Felix Naumann | Datenbanksysteme I | Sommer 201178Wo kommen FDs her? Einfach den Schlssel K deklarieren. Dann gelten (einzig) die FDs K A fr jedes Attribut A. FDs deklarieren. Dann systematisch Schlssel ableiten. FDs aus der Physik: Zwei Kurse knnen nicht zur gleichen Zeit im gleichen Raum stattfinden. Zeit, Raum Kurs FDs aus dem ER-Diagramm Schlsselattribute 1:n BeziehungenFelix Naumann | Datenbanksysteme I | Sommer 201179Schlssel aus ER-Diagrammen Falls die Relation von einem Entitytypen stammt Der Schlssel der Relation besteht aus den Schlsselattributen des Entitytypen. Falls die Relation von einem Relationshiptypen stammt Falls die Beziehung m:n ist, besteht der Schlssel aus den Schlsselattributen der verbundenen Entitytypen. Falls die Beziehung 1:n ist, besteht der Schlssel aus den Schlsselattributen des Entitytypen der n-Seite. Falls die Beziehung 1:1 ist, gibt es zwei Schlssel: die Schlssel der beiden beteiligten Entitytypen. Wahl eines der beiden Schlssel als Primrschlssel (egal welcher). Bei n-ren Relationshiptypen Lage ist komplizierter 1-Seite muss nie am Schlssel beteiligt sein.Felix Naumann | Datenbanksysteme I | Sommer 201180Schlssel aus ER-Diagrammen Filme(Titel, Jahr, Lnge, Typ) Schauspieler(Name, Adresse) Studios(Name, Adresse) besitzt(Titel, Jahr, Name) zusammengefasst mit Filme zu Filme(Titel, Jahr, Lnge, Typ, StudioName) spielt_in(Titel, Jahr, Name, Adresse, Gehalt)Felix Naumann | Datenbanksysteme I | Sommer 201181FilmeSchauspielerStudiosbesitztspielt_inTitel JahrLnge TypNameAdresseNameAdresseGehaltSchlssel aus ER-Diagrammen Studios (SName) Vorsitzende (VName) leitet (SName, VName) oder leitet (SName, VName) sprich, zwei Schlssel: SName und VName, ein Schlssel als Primrschlssel gewhlt zusammengefasst zuStudios(SName, VName) oder Vorsitzende (VName, SName)Felix Naumann | Datenbanksysteme I | Sommer 201182Studios VorsitzendeleitetSName VNameSchlssel aus ER-Diagrammen:n-re Relationshiptypen Studios (Name, Adresse) Schauspieler (Name, Adresse) Filme (Titel, Jahr, Typ, Lnge) ist_unter_Vertrag (SchauspielerName, StudioName, Titel, Jahr, Gehalt)Felix Naumann | Datenbanksysteme I | Sommer 201183Filme SchauspielerStudiosist_unter_VertragTitel JahrLnge TypName AdresseNameAdresseGehaltSchlssel aus ER-Diagrammen:n-re Relationshiptypen Studios (Name, Adresse) Schauspieler (Name, Adresse) Filme (Titel, Jahr, Typ, Lnge) Vertrag (SchauspielerName, StudioName, Titel, Jahr, Gehalt)Felix Naumann | Datenbanksysteme I | Sommer 201184FilmeSchauspielerStudiosSchauspieler_vonVertragFilm_vonStudio_vonGehaltNameAdresseTypLngeTitelJahrNameAdresseSchlssel aus ER-Diagrammen:IST-Hierarchien ER-Stil Filme(Titel, Jahr, Lnge,Typ) Krimis(Titel, Jahr, Waffen) Zeichentrickfilme(Titel, Jahr) OO-Stil Filme(Titel, Jahr, Lnge, Typ) FilmeZ(Titel, Jahr, Lnge, Typ) FilmeK(Titel, Jahr, Lnge, Typ, Waffen) FilmeZK(Titel, Jahr, Lnge, Typ, Waffen) Mit NULL-Werten Filme(Titel, Jahr, Lnge, Typ, Waffen)Felix Naumann | Datenbanksysteme I | Sommer 201185FilmeTitel JahrLnge TypIST ISTZeichentrickfilme KrimisWaffenStimmenzu Schauspielernberblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 201186Motivation Gegeben eine Menge von FDs, kann man eventuell weitere FDs ableiten. Ziel des Datenbankentwurfs: Alle gegebenen und abgeleiteten FDs in Schlsselabhngigkeiten umformen, ohne dabei semantische Information zu verlieren. Umformung durch Dekomposition von RelationenFelix Naumann | Datenbanksysteme I | Sommer 201187Ableitung von FDs Beispiel Es gelte A B und B C Dann gilt auch: A C Beweis Z.z.: Zwei beliebige Tupel, die in A bereinstimmen, mssen auch in C bereinstimmen. Zwei solche beliebige Tupel: (a, b1, c1) und (a, b2, c2) A B (a, b, c1) und (a, b, c2) B C (a, b, c) und (a, b, c) QED Instanz gengt AB und BC Es gilt auch: AC nicht ableitbar: CA, BA oder CBFelix Naumann | Datenbanksysteme I | Sommer 201188A B Ca1 b1 c1a2 b1 c1a3 b2 c1a4 b1 c1FD-Mengen Zwei Mengen S und T an FDs heien quivalent, falls die Menge der gltigen Instanzen unter S die gleiche wie unter T ist. Eine Menge S an FDs folgt aus einer Menge T an FDs, falls jede unter T gltige Instanz auch unter S gltig ist. Hllenbildung: Ableitung aller FDs aus einer gegebenen Menge an FDs Gem Ableitungsregeln Auch: attribute closure, closure, AttributabschlussFelix Naumann | Datenbanksysteme I | Sommer 201189Dekomposition und VereinigungDekompositionsregel A1,A2,An B1,B2,,Bm A1,A2,An Bi fr i=1,,mVereinigungsregel A1,A2,An Bi fr i=1,,m A1,A2,An B1,B2,,BmBeispiel Titel, Jahr Lnge Titel, Jahr Typ Titel, Jahr StudioName Titel, Jahr Lnge, Typ, StudioNameDekomposition funktioniert nur rechts! Titel, Jahr Lnge Jahr Lnge Titel LngeFelix Naumann | Datenbanksysteme I | Sommer 201190Triviale FDs Trivial: Attribute rechts sind Teilmenge der Attribute links Titel, Jahr Titel Es gilt immer jede triviale FD: Zwei Tupel, die in einer Menge von Attributen bereinstimmen, stimmen auch in einem dieser Attribute berein. Nicht-trivial: Wenigstens ein Attribut rechts kommt links nicht vor. Titel, Jahr Jahr, Lnge Vllig nicht-trivial: Die Attribute links und rechts sind disjunkt. Titel, Jahr Lnge Im Weiteren interessieren uns nur diese. Formal: Triviale-Abhngigkeitsregel A1,A2,An Ai1, , Aik,B1,B2,,BmA1,A2,An B1,B2,,BmFelix Naumann | Datenbanksysteme I | Sommer 201191Hlle Gegeben eine Menge von Attributen A1,A2,,An und eine Menge Svon FDs. Die Hlle von A1,A2,,An unter S ist die Menge Y aller Attribute fr die gilt, dass fr jede unter S gltige Relation auch A1,A2,,An Y gilt. Menge der funktional ableitbaren Attribute D.h. A1,A2,An Y folgt aus den FDs in S. Notation: Hlle von A1,A2,,An ist {A1,A2,,An}+. Es gilt z.B. Ai {A1,A2,,An}+ fr i=1,,n Trivialerweise, denn A1,A2,,An AiFelix Naumann | Datenbanksysteme I | Sommer 201192Berechnung der Hlle1. Sei X die Menge der Attribute, die spter die Hlle wird. Initialisiere X mit {A1,A2,An}.2. Suche wiederholt nach solchen FDs B1,B2,,Bm C, dass B1,B2,,Bm X aber C X. 3. Fge C zu X hinzu.4. Wiederhole 2. bis keine Attribute mehr gefunden werden Terminierung: X wchst nur, und Attributmenge ist endlich.5. X ist schlielich die Hlle, also {A1,A2,An}+ = X.Felix Naumann | Datenbanksysteme I | Sommer 201193X CB1,B2,,Bmneues XBerechnung der Hlle Beispiel Relation mit Attributen A, B, C, D, E, F Gegeben FDs1. AB C2. BC AD 3. D E4. CF B Gesucht: Hlle von {A, B}, also {A,B}+ FD 1: X = {A, B, C} FD 2: X = {A, B, C, D} FD 3: X = {A, B, C, D, E} ( = {A,B}+ )Felix Naumann | Datenbanksysteme I | Sommer 201194Membershipproblem Kann eine bestimmte FD XY aus der gegebenen FD Menge abgeleitet werden? Vorgehen: Berechne Hlle von X und teste ob Y darin enthalten ist. Beispiel: AB C und BC AD und D E und CF B Kann AB D abgeleitet werden? {AB}+ = {A, B, C, D, E} D {A, B, C, D, E}, also JA! Kann D A abgeleitet werden? {D}+ = {D, E} A {D, E}, also NEIN!Felix Naumann | Datenbanksysteme I | Sommer 201195Analyse des Algorithmus zur Hllenbildung Nur Beweisidee Korrektheit: Es werden keine ungltigen FDs erzeugt. Induktion ber Anzahl der Operationen Transitivitt bzw. Argumentation ber die Tupel. Vollstndigkeit: Es werden alle gltigen FDs erzeugt. Annahme des Gegenteils, d.h. es gebe eine FD XY, die nicht gefunden wird. Konstruktion einer Instanz, die fr FDs, aber nicht fr XY gltig ist.Felix Naumann | Datenbanksysteme I | Sommer 201196TransitivittsregelTitel Jahr Lnge Typ StudioName StudioAdresseTotal Recall 1990 113 Farbe Fox HollywoodBasic Instinct 1992 127 Farbe Disney Buena VistaTotal Recall 1993 113 Farbe Fox HollywoodDead Man 1995 121 s/w Paramount Buena VistaFelix Naumann | Datenbanksysteme I | Sommer 201197 Falls A1,A2,,An B1,B2,,Bm und B1,B2,,Bm C1,C2,,Ck A1,A2,,An C1,C2,,Ck Beispiel Titel, Jahr StudioName gilt wegen n:1 von besitzt-Beziehung StudioName StudioAdresse gilt wegen Schlsseleigenschaft von Studioname Transitivitt: Titel, Jahr StudioAdresseDie Basis Unterscheidung zwischen gegebenen FDs und abgeleiteten FDs Wahl welche FDs zur Reprsentation aller FDs verwendet werden. Eine Menge an FDs, aus der alle anderen FDs abgeleitet werden knnen, heit Basis. Falls keine echte Teilmenge der Basis wiederum selbst eine Basis ist, ist die Basis minimal. Beispiel R(A, B, C); jedes Attribut bestimme funktional die anderen beiden. Welche FDs gelten? AB, AC, BA, BC, CA, CB Abgeleitet: ABC, ACB, BCA Kurzformen: ABC, BAC, CAB Triviale FDs: AA, BB, CC Nicht-triviale FDs: ABBC, ACBC, Minimale Basis: {AB, BA, BC, CB} Minimale Basis: {AB, BC, CA}Felix Naumann | Datenbanksysteme I | Sommer 201198Armstrong Axiome und weitere Ableitungsregeln R1 Reflexivitt X Y XY (insbes. XX) Triviale FDs R2 Akkumulation {XY} XZYZ Auch: Augmentation R3 Transitivitt {XY,Y Z} XZ R1-R3 bekannt als Armstrong-Axiome Sound and complete R4 Dekomposition {XYZ} XY R5 Vereinigung {XY,XZ} XYZ R6 Pseudotransitivitt {XY,WY Z} WXZFelix Naumann | Datenbanksysteme I | Sommer 201199Herleitung mit Armstrong Axiomen?Armstrong AxiomeDie Menge der Armstrong-Axiome ist Gltig (sound) Es wird nichts nicht-ableitbares abgeleitet. Vollstndig (complete) Durch diese Regeln knnen alle ableitbaren FDs abgeleitet werden. Minimal Keine Regel kann weggelassen werden.Felix Naumann | Datenbanksysteme I | Sommer 2011100FDs nach Projektionen Motivation: Normalisierung bricht eine Relation in mehrere Teile. Gegeben eine Relation R mit FDs. Sei S das Ergebnis nach Entfernung einiger Attribute aus R (Projektion). Welche FDs gelten noch fr S? Alle FDs, die aus F folgen, und die nur Attribute aus S verwenden. Beispiel: R(A, B, C, D) FDs: {AB, BC, CD} Projektion von B: S(A, C, D) Algorithmus: Berechne Hlle jeder Teilmenge Trick 1: Hlle der leeren und Hlle der Menge aller Attribute muss nicht gebildet werden. Trick 2: Falls die Hlle von X bereits alle Attribute enthlt, mssen die Supermengen von X nicht mehr geprft werden. Deshalb: Beginnen mit kleinsten TeilmengenFelix Naumann | Datenbanksysteme I | Sommer 2011101FDs nach Projektionen Beispiel: R(A, B, C, D) FDs: {AB, BC, CD} Projektion von B: S(A, C, D) Sei {X}+ die Hlle der Teilmenge X. Dann gelten FDs X E fr jedes E {X}+ und E S und E X. {A}+ = {A, B, C, D} A C und A D A B stimmt zwar auch, aber B nicht in S. Enthlt bereits alle Attribute aus S, deshalb werden Supermengen nicht bercksichtigt. {C}+ = {C, D} C D {D}+ = {D} {C,D}+= {C,D} Ergebnis: A C, A D und C DFelix Naumann | Datenbanksysteme I | Sommer 2011102berblick Motivation und Einbettung Wiederholung: ER-Diagramme Das Relationale Modell Von ER-Diagrammen zu Relationenschemata Konvertierung von Spezialisierung Funktionale Abhngigkeiten (FDs) Ableitungsregeln fr FDs NormalformenFelix Naumann | Datenbanksysteme I | Sommer 2011103Schema Design berblick1. Anomalien durch schlechtes Design2. Dekomposition (Zerlegung) von Relationen3. Boyce-Codd-Normalform (BCNF)4. Zerlegung zur Erreichung der BCNF5. Andere Normalformen Insbesondere 3NFFelix Naumann | Datenbanksysteme I | Sommer 2011104Anomalien Redundanz Lnge und Typ eines Films sind mehrfach dargestellt. Unntige Speicherplatzverschwendung Update Anomalien Falls Total Recall doch 114 Minuten lang ist, muss man dies an mehreren Stellen ndern. Durch Normalisierung kann dies verhindert werden. Insert Anomalien Neues Tupel: (Sleepy Hollow, 1999, 105, Farbe, Fox, Johnny Depp, Dallas) Delete Anomalien Bei Lschen gehen mehr Informationen verloren. Falls Johnny Depp als letzter Schauspieler aus dem Film entfernt wrde, gingen auch die Filmdaten verloren.Felix Naumann | Datenbanksysteme I | Sommer 2011105 Titel Jahr Lnge Typ StudioName SchauspName SchauspAdresseTotal Recall 1990 113 Farbe Fox Sharon Stone HollywoodBasic Instinct 1992 127 Farbe Disney Sharon Stone HollywoodTotal Recall 1990 113 Farbe Fox Arnold SacramentoDead Man 1995 121 s/w Paramount Johnny Depp ParisDekomposition von Relationen Elimination der Anomalien durch Dekomposition der betroffenen Relationen Dekomposition Aufteilung der Attribute in zwei Relationen Erzeugung der Tupel in den zwei neuen Relationen R(A1,A2,,An) kann in S(B1,B2,,Bm) und T(C1,C2,,Ck) dekomponiert werden, falls {A1,A2,,An} = {B1,B2,,Bm} {C1,C2,,Ck} Tupel in S sind die Projektion aller Tupel in R auf {B1,B2,,Bm} Insbesondere: Duplikate werden entfernt Dadurch: Verminderung der Redundanz Tupel in T analogFelix Naumann | Datenbanksysteme I | Sommer 2011106Anmerkung: Schemata knnen sich berlappen.Dekomposition von RelationenTitel Jahr Lnge Typ StudioName SchauspNameTotal Recall 1990 113 Farbe Fox Sharon StoneBasic Instinct 1992 127 Farbe Disney Sharon StoneTotal Recall 1990 113 Farbe Fox ArnoldDead Man 1995 121 s/w Paramount Johnny DeppFelix Naumann | Datenbanksysteme I | Sommer 2011107 Vorschlag zur Dekomposition Filme1(Titel, Jahr, Lnge, Typ, StudioName) Filme2(Titel, Jahr, SchauspName) Anomalien sind beseitigt: Redundanz ist verschwunden Update Anomalie Insert Anomalie Delete AnomalieTitel Jahr Lnge Typ StudioNameTotal Recall 1990 113 Farbe FoxBasic Instinct 1992 127 Farbe DisneyDead Man 1995 121 s/w ParamountTitel Jahr SchauspNameTotal Recall 1990 Sharon StoneBasic Instinct 1992 Sharon StoneTotal Recall 1990 ArnoldDead Man 1995 Johnny DeppRedundanz?FilmeFilme1 Filme2Boyce-Codd-Normalform (BCNF)BCNF ist eine Bedingung zur Eliminierung der Anomalien Eine Relation R ist in BCNF genau dann wenn: Fr jede nicht-triviale FD A1A2An B ist {A1, A2, , An} ein Superschlssel fr R. Reminder: Nicht-trivial: Wenigstens ein Attribut rechts kommt links nicht vor. D.h. hier: B {A1, A2, , An} Superschlssel: Schlssel oder Supermenge eines Schlssels BCNF anders formuliert: Die linke Seite jeder gltigen, nicht-trivialen FD muss ein Superschlssel sein. BCNF nochmal anders formuliert: Die linke Seite jeder gltigen, nicht-trivialen FD muss einen Schlssel enthalten. Was darf also nicht gelten? Motivation: FDs zu Schlsselabhngigkeiten machen.Felix Naumann | Datenbanksysteme I | Sommer 2011108Boyce-Codd-Normalform (BCNF)Allgemeinere (und praktischere) Formulierung Eine Relation R ist in BCNF genau dann wenn: Fr jede nicht-triviale FD A1A2An B1B2Bm fr Rist {A1, A2, , An} ein Superschlssel fr R. quivalent? A1A2An B1B2Bm ist Abkrzung fr m FDs. Wegen nicht-Trivialitt gibt es mindestens ein Bi {A1,A2,,An}. A1A2An Bi ist dann die Verletzung der BCNF. Motivation: Dekomposition mit allen Attributen, die auf der rechten Seite sind. In einem RutschFelix Naumann | Datenbanksysteme I | Sommer 2011109BCNF BeispielTitel Jahr Lnge Typ StudioName SchauspNameTotal Recall 1990 113 Farbe Fox Sharon StoneBasic Instinct 1992 127 Farbe Disney Sharon StoneTotal Recall 1990 113 Farbe Fox ArnoldDead Man 1995 121 s/w Paramount Johnny DeppFelix Naumann | Datenbanksysteme I | Sommer 2011110 Tabelle ist nicht in BCNF. Prfung Einziger Schlssel? {Titel, Jahr, SchauspName} Superschlssel enthalten also mindestens diese drei Attribute. Eine FD: Titel, Jahr Lnge, Typ, StudioName Titel, Jahr Lnge Titel, Jahr Typ Titel, Jahr StudioName nicht BCNFBCNF Beispiel Filme1 ist in BCNF Titel, Jahr Lnge, Typ, Studioname {Titel, Jahr} ist einziger Schlssel Jede (nicht-triviale) FD hat mindestens Titel und Jahr auf der linken Seite.Felix Naumann | Datenbanksysteme I | Sommer 2011111 Titel Jahr Lnge Typ StudioName SchauspNameTotal Recall 1990 113 Farbe Fox Sharon StoneBasic Instinct 1992 127 Farbe Disney Sharon StoneTotal Recall 1990 113 Farbe Fox ArnoldDead Man 1995 121 s/w Paramount Johnny DeppTitel Jahr Lnge Typ StudioNameTotal Recall 1990 113 Farbe FoxBasic Instinct 1992 127 Farbe DisneyDead Man 1995 121 s/w ParamountTitel Jahr SchauspNameTotal Recall 1990 Sharon StoneBasic Instinct 1992 Sharon StoneTotal Recall 1990 ArnoldDead Man 1995 Johnny DeppFilmeFilme1 Filme2BCNF zwei AttributeJede Relation mit nur zwei Attributen ist in BCNF. Analyse aller FDs mit nur einem Attribut rechts. Fallunterscheidung Keine FDs BCNF, da nur FDs diese verletzen knnen. A B, aber nicht B A A ist einziger Schlssel Jede (nicht-triviale) FD hat A auf der linken Seite B A, aber nicht A B Analog A B und B A A und B sind jeweils Schlssel Jede FD hat einen der beiden Schlssel auf der linken Seite.Felix Naumann | Datenbanksysteme I | Sommer 2011112EmpID, SSNBCNF verlangt nur irgendeinen Schlssel.Dekomposition zu BCNF Ziel: Wiederholte Dekomposition von Relationen Zur Erreichung der BCNF Unter Garantie der Wiederherstellbarkeit der ursprnglichen Relation Dekomposition in viele 2er Relationen garantiert BCNF, aber nicht Wiederherstellbarkeit. Gegenbeispiel? FDs helfen Grundalgorithmus Suche wiederholt BCNF-verletzende FD (A1A2An B1B2Bm). Fge auf der rechten Seite so viele Attribute wie mglich hinzu. Erzeuge zwei neue Relationen:Felix Naumann | Datenbanksysteme I | Sommer 2011113A1A2An B1B2BmAlle anderenDekomposition zu BCNF Beispiel 1 Filme(Titel, Jahr, Lnge, Typ, StudioName, SchauspName) Titel, Jahr Lnge, Typ, Studioname verletzt BCNF Neue Relationen Filme1(Titel, Jahr, Lnge, Typ, StudioName) Filme2(Titel, Jahr, SchauspName) Beide sind in BCNF.Felix Naumann | Datenbanksysteme I | Sommer 2011114Dekomposition zu BCNF Beispiel 2Titel Jahr Lnge Typ StudioName StudioAdresseTotal Recall 1990 113 Farbe Fox HollywoodBasic Instinct 1992 127 Farbe Disney Buena VistaTerminator 1984 107 Farbe Fox HollywoodDead Man 1995 121 s/w Paramount Buena VistaFelix Naumann | Datenbanksysteme I | Sommer 2011115 Titel, Jahr Lnge, Typ, StudioName StudioName StudioAdresse Transitivitt: Titel, Jahr StudioAdresse {Titel, Jahr} ist Schlssel StudioName StudioAdresse verletzt also BCNF Zwei neue Relationen Filme1(Titel, Jahr, Lnge Typ, StudioName) Filme2(StudioName, StudioAdresse)Dekomposition zu BCNF Beispiel 2Titel Jahr Lnge Typ StudioName StudioAdresseTotal Recall 1990 113 Farbe Fox HollywoodBasic Instinct 1992 127 Farbe Disney Buena VistaTerminator 1984 107 Farbe Fox HollywoodDead Man 1995 121 s/w Paramount Buena Vista Titel, Jahr Lnge, Typ, StudioName {Titel, Jahr} ist SchlsselFelix Naumann | Datenbanksysteme I | Sommer 2011116 StudioName StudioAdresse {StudioName} ist SchlsselTitel Jahr Lnge Typ StudioNameTotal Recall 1990 113 Farbe FoxBasic Instinct 1992 127 Farbe DisneyTerminator 1984 107 Farbe FoxDead Man 1995 121 s/w ParamountStudioName StudioAdresseFox HollywoodDisney Buena VistaParamount Buena VistaVergleich der beiden Beispiele Beispiel 1 BCNF-Verletzung durch Darstellung einer n:m Beziehung in einer einzigen Relation (Filme, Schauspieler). Zusammen mit anderen Informationen ber Filme Beispiel 2 BCNF-Verletzung durch Darstellung einer n:1 Beziehung in einer einzigen Relation (Filme, Studios) Zusammen mit anderen Informationen ber Studios Abhngigkeit ist nur transitiv Titel, Jahr Lnge, Typ, StudioName StudioName StudioAdresseFelix Naumann | Datenbanksysteme I | Sommer 2011117Dekomposition zu BCNF Beispiel 3 Filme(Titel, Jahr, StudioName, Prsident, PrsAdresse) Titel, Jahr StudioName StudioName Prsident Prsident PrsAdresse {Titel, Jahr} ist Schlssel Erste Dekomposition anhand von StudioName Prsident Hinzufgen von mglichst vielen Attributen auf der rechten Seite: StudioName Prsident, PrsAdresse Filme1(Titel, Jahr, StudioName) Filme2(StudioName, Prsident, PrsAdresse) Hier gilt weiter Prsident PrsAdresse BCNF Verletzung Zweite Dekomposition Filme2 wird zu Filme2(StudioName, Prsident) Filme3(Prsident, PrsAdresse) Verfahren terminiert, da jede neue Relation kleiner wird und 2er-Relationen garantiert in BCNF sind.Felix Naumann | Datenbanksysteme I | Sommer 2011118Wiederherstellung von Informationen Angenommen: R(A,B,C) mit B C als BCNF-Verletzung Z.B. weil A B gilt, und somit {A} Schlssel ist Oder z.B. weil B C die einzige FD ist, und somit {A,B} Schlssel ist. Dekomposition: R1(A,B) und R2(B,C) Sei t = (a,b,c) ein Tupel in R Wird zu t1(a,b) in R1 und t2(b,c) in R2 Wiederherstellung durch Join (Verbund). Vollstndigkeit Kombination von Tupeln zweier Relationen, die in den Werten fr gemeinsame Attribute bereinstimmen. t1(a,b) verknpft mit t2(b,c) wird zu t(a,b,c) Korrektheit Nchste FolieFelix Naumann | Datenbanksysteme I | Sommer 2011119Wiederherstellung von InformationenKorrektheit Seien t(a,b,c) und v(d,b,e) zwei Tupel in R Dekomposition mit Projektion In R1: t1(a,b) und v1(d,b) In R2: t2(b,c) und v2(b,e) Join ergibt Tupel t(a,b,c) x(a,b,e) v(d,b,e) y(d,b,c) Ist x(a,b,e) ein Fehler? Und y()? Nein, denn B C D.h. c = e Dies gilt auch allgemeiner fr AttributmengenFelix Naumann | Datenbanksysteme I | Sommer 2011120tvv2t1xProjektionProjektionJoin Join Wiederherstellung von InformationenA B C1 2 34 2 5Felix Naumann | Datenbanksysteme I | Sommer 2011121Dekomposition ohne FD (aus Spa) Angenommen R(A,B,C) ohne B C Projektionen auf R1(A,B) und R2(B,C) Wiederherstellung durch Join ber BA B1 24 2B C2 32 5A B C1 2 31 2 54 2 34 2 5Falsch!Weitere Normalformen 1. Normalform (1NF) Nur atomare Werte 2. Normalform (2NF) 1NF und keine Abhngigkeiten von einem Teil eines Schlssels 3. Normalform (3NF) 2NF und zustzlich keine transitiven Abhngigkeiten Boyce-Codd Normalform (BCNF) 3NF und keine transitiven Abhngigkeiten auch innerhalb des Schlssels 4. Normalform (4NF) Mehrwertige AbhngigkeitenFelix Naumann | Datenbanksysteme I | Sommer 20111221. Normalform1NF: Nur atomare Werte Relation nicht in 1NF: Umgewandelte Relation in 1NF: Andere Umwandlungsmglichkeit R(Vater, Mutter, Kind1, Kind2) Nachteile?Felix Naumann | Datenbanksysteme I | Sommer 2011123Vater Mutter KinderJohann Martha {Else, Lucie}Johann Maria {Theo, Josef}Heinz Martha {Cleo}Vater Mutter KindJohann Martha ElseJohann Martha LucieJohann Maria TheoJohann Maria JosefHeinz Martha CleoBeispiel nach Alfons Kemper (TU Mnchen)2. Normalform1NF und keine Abhngigkeiten von Nicht-Schlssel-Attributen von einem Teil eines Schlssels Matr Name Aber Matr ist nicht vollstndiger Schlssel Abhilfe: Dekomposition R1(MatrNr, VorlNr) R2(MatrNr, Name, Semester)MatrNr VorlNr Name Semester26120 5001 Fichte 1027550 5001 Schopenhauer 627550 4052 Schopenhauer 628106 5041 Carnap 328106 5052 Carnap 328106 5216 Carnap 328106 5259 Carnap 3... ... ... ...Felix Naumann | Datenbanksysteme I | Sommer 20111243. NormalformKinoauffhrungen R(Titel, Kino, Stadt) FDs Kino Stadt (ein Kino steht in nur einer Stadt) Titel, Stadt Kino Annahme: Ein Film wird nicht zweifach in der gleichen Stadt aufgefhrt Schlssel? Einzelne Attribute sind nicht Schlssel {Titel, Stadt} ist Schlssel, da er funktional alle anderen Attribute bestimmt. {Kino, Titel} ist auch Schlssel, da Kino Stadt augmentiert werden kann zu Kino, Titel Stadt BCNF-Verletzung: Kino Stadt (da Kino nicht Superschlssel ist)Felix Naumann | Datenbanksysteme I | Sommer 20111253. NormalformKino StadtUfa BerlinBabylon BerlinFelix Naumann | Datenbanksysteme I | Sommer 2011126Dekomposition Verletzende FD: Kino Stadt Dekomposition R1(Kino, Stadt) R2(Kino, Titel) Problem: Titel, Stadt Kino kann nicht mehr sichergestellt werden. Gltige Beispielrelationen: Aber Wiederherstellung:Kino TitelUfa Star WarsBabylon Star WarsKino Stadt TitelUfa Berlin Star WarsBabylon Berlin Star Wars3. NormalformLsung des Problems durch Relaxierung der BCNF Eine Relation R ist in 3. Normalform genau dann wenn: Fr jede nicht-triviale FD A1A2An B fr R ist entweder {A1, A2, , An} ein Superschlssel fr R, oder B ist Teil eines Schlssels fr R. Kurz: Fr jede FD ist entweder die linke Seite ein Superschlssel oder die rechte Seite Teil eines Schlssels. Am Beispiel R(Titel, Kino, Stadt) mit FDs Kino Stadt Titel, Stadt KinoFelix Naumann | Datenbanksysteme I | Sommer 2011127Verletzt nicht 3. Normalform, da Stadt Teil eines Schlssels ist.3NF vs. BCNF Wichtige Eigenschaften der Dekomposition1. Wiederherstellbarkeit Projektion der ursprnglichen Relation auf die neuen Relationen und dann Rekonstruktion der ursprnglichen Relation (mittels Join).2. Bewahrung der FDs Prfbarkeit aller FDs in den neuen Relationen BCNF garantiert 1. 3NF garantiert 1. und 2. Dekomposition zur 3NF Anderer Algorithmus Nicht hier!Felix Naumann | Datenbanksysteme I | Sommer 2011128Zusammenfassung NormalformenFelix Naumann | Datenbanksysteme I | Sommer 2011131Eigenschaft 3NF BCNF 4NFEliminiert Redundanzen aus FDs Die meisten Ja JaEliminiert Redundanzen aus MVDs Nein Nein JaDekomposition erhlt FDs Ja Vielleicht VielleichtDekomposition erhlt MVDs Vielleicht Vielleicht Vielleicht3NFBCNF4NF2NF1NFZusammenfassung relationaler DatenbankentwurfFelix Naumann | Datenbanksysteme I | Sommer 2011132 Relationales Modell Schemata Von Entitytypen zu Relationen Von Relationshiptypen zu Relationen Von IST-Hierarchien zu Relationen Funktionale Abhngigkeiten Schlssel einer Relation Regeln fr FDs Dekomposition BCNF 3NFDatenbanksysteme IRelationaler DatenbankentwurfberblickMotivationEntwurfsaufgabeEntwurfsprozessPhasenmodell fr den DatenbankentwurfAnforderungsanalyseKonzeptioneller EntwurfSichtenintegrationVerteilungsentwurf (Partitionierung)Logischer EntwurfDatendefinitionPhysischer EntwurfImplementierung und WartungberblickPhasenmodell fr den DatenbankentwurfDas Entity-Relationship-ModellBegriffeEntity-Relationship-DiagrammEntity-Relationship-Diagramm Feinheiten Die IST-BeziehungBumeNebenbedingungen (Constraints)SchlsselSchlsselWo ist der Schlssel?SchlsselReferentielle IntegrittReferentielle IntegrittSlide Number 31berblickDie RelationElemente einer RelationElemente einer RelationFormalEdgar F. CoddContributions (nach C.J.Date)Slide Number 39Slide Number 40Slide Number 41berblickPhasenmodell fr den DatenbankentwurfZiele der ER-AbbildungKapazittserhhende AbbildungKapazittsvermindernde AbbildungGrundalgorithmusEntitytyp RelationRelationshiptyp RelationRelationshiptyp RelationRelationshiptyp RelationZusammenlegen von RelationenZusammenlegen von Relationen1:n-RelationshipsZusammenlegen von Relationen1:1-RelationshipsZusammenlegen von Relationenn:m-RelationshipsSchwache EntitytypenSchwache EntitytypenSchema-TeilmengenSchwache EntitytypenSchwache EntitytypenberblickWdh. SpezialisierungDrei StrategienER-StilER-Stil FeinheitenObjekt-orientierter StilObjekt-orientierter Stil Feinheiten Mit NullwertenVergleich der drei StileVergleich der drei StileberblickMotivationDefinition Funktionale AbhngigkeitBeispielSchema vs. InstanzSchlssel als Spezialfall einer FDSchlssel als Spezialfall einer FDSchlssel und SuperschlsselWo kommen FDs her?Schlssel aus ER-DiagrammenSchlssel aus ER-DiagrammenSchlssel aus ER-DiagrammenSchlssel aus ER-Diagrammen:n-re RelationshiptypenSchlssel aus ER-Diagrammen:n-re RelationshiptypenSchlssel aus ER-Diagrammen:IST-HierarchienberblickMotivationAbleitung von FDs BeispielFD-MengenDekomposition und VereinigungTriviale FDsHlleBerechnung der HlleBerechnung der Hlle BeispielMembershipproblemAnalyse des Algorithmus zur HllenbildungTransitivittsregelDie BasisArmstrong Axiome und weitere AbleitungsregelnArmstrong AxiomeFDs nach ProjektionenFDs nach ProjektionenberblickSchema Design berblickAnomalienDekomposition von RelationenDekomposition von RelationenBoyce-Codd-Normalform (BCNF)Boyce-Codd-Normalform (BCNF)BCNF BeispielBCNF BeispielBCNF zwei AttributeDekomposition zu BCNFDekomposition zu BCNF Beispiel 1Dekomposition zu BCNF Beispiel 2Dekomposition zu BCNF Beispiel 2Vergleich der beiden BeispieleDekomposition zu BCNF Beispiel 3Wiederherstellung von InformationenWiederherstellung von InformationenWiederherstellung von InformationenWeitere Normalformen1. Normalform2. Normalform3. Normalform3. Normalform3. Normalform3NF vs. BCNFZusammenfassung NormalformenZusammenfassung relationaler Datenbankentwurf

Recommended

View more >