Vorlesung Datenbankmanagementsysteme

Ähnliche Dokumente
Teil V Relationaler Entwurf

5. Relationaler Datenbankentwurf. Relationaler DB-Entwurf: Überblick. Bücher-Relation mit Redundanzen

Teil IV Datenbankentwurf

Entwurfsaufgabe. 4. Datenbankentwurf. Anforderungsanalyse. Phasenmodell. Entwurfsaufgabe

Entwurfsaufgabe Phasenmodell Konzeptioneller Entwurf ER-Abbildung auf andere Datenbankmodelle Datendefinitionssprachen

5. Datenbankentwurf. Entwurfsaufgabe. Phasenmodell. Konzeptioneller Entwurf. ER-Abbildung auf andere Datenbankmodelle

Kommunikation und Datenhaltung

Vorlesung Datenbankmanagementsysteme

3. Normalform. Redundanz: Land mehrfach gespeichert Anomalien?

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung

Kapitel DB:IV (Fortsetzung)

Grundlagen von Datenbanken SS 2010

Rückblick: Datenbankentwurf

3. Das Relationale Datenmodell

Relationale Datenbanken

5. Relationale Entwurfstheorie

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Relationale Entwurfstheorie (Teil 2)

Kapitel 3: Datenbanksysteme

Programmierung und Datenbanken II

3. Relationales Modell & Algebra

Als Datenbanksystem wird ein Datenbankverwaltungssystem zusammen mit einer oder mehrerer Datenbanken bezeichnet.

Teil VI Relationale Theorie

Datenbanksysteme I Relationaler Datenbankentwurf Dr. Gjergji Kasneci (Folien von Prof. Dr. Felix Naumann)

Kapitel 3: Datenbanksysteme

Relationaler Datenbank-Entwurf. Kapitel 7: Normalformen. Schrittweises Vorgehen:

Kapitel 3: Datenbanksysteme

Zerlegung einer Relation

Eigenschaften von Datenbanken, insbesondere

DB-Entwurf im ER-Modell

Kapitel DB:VII (Fortsetzung)

Kapitel DB:VII (Fortsetzung)

3. Grundlagen relationaler Datenbanksysteme

Kapitel DB:IV (Fortsetzung)

4. Normalisierung von Relationenschemata

Kapitel 7: Normalformen

Kapitel 11. Normalisierung

Das relationale Datenmodell

Datenhaltung. Sommersemester Relationale Algebra Join Entity Relationship Model Kardinalitäten... 2

Rückblick: Relationales Modell

4.1 Relationale DB-Entwurfstheorie, Normalformen

3. Relationales Modell & Algebra

Introduction to Data and Knowledge Engineering

Datenbanken. Rückblick: Datenbank-Entwurfsprozess. Semantische Datenmodellierung (vgl. Kapitel 2)

Datenbanken 6: Normalisierung

2. Relationale Datenbanken

Kapitel DB:VII. VII. Entwurfstheorie relationaler Datenbanken

Medizininformatik Software Engineering

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

Aufgabe 1) Übung 4: 1.2

konzeptionelles DB-Design

Normalformen. Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich. Keine Einfüge-, Lösch-, Änderungsanomalien

9. Logischer DB-Entwurf

Kapitel 3: Datenbanksysteme

Übung Datenbanksysteme Normalformen

Kapitel 7: Normalformen

Kapitel 7: Normalformen

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 3: Modellierung von betrieblichen Informationssystemen

Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken

4. Normalformen. Qualitätsanforderungen an Tabellen. Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen

Kapitel 7: Normalformen

Kapitel 7: Normalformen

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Datenbanksysteme 2015

Kapitel 1: Wiederholungsfragen Grundlagen DBS

Datenbanken und SQL. Kapitel 3. Datenbankdesign Teil 1: Normalformen. Edwin Schicker: Datenbanken und SQL

Normalisierung (Dekomposition)

3. Relationales Modell

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax

Introduction to Data and Knowledge Engineering. 3. Übung. Funktionale Abhängigkeiten und Normalformen

mehrwertige Abhängigkeiten

Datenbanken 6: Normalisierung

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Abhängigkeiten und Normalisierung

Grundlagen: Datenbanken

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnummer ein, und legen Sie Ihren Studierendenausweis

Normalisierung II. Ziele

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Kapitel 7: Formaler Datenbankentwurf

Kapitel 7: Normalformen

Vorlesung DBIS I (WS 2005/2006) Teil 4

E-R-Modell zu Relationenschema

Wiederholung VU Datenmodellierung

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Anwendungsentwicklung Datenbanken Datenbankentwurf. Stefan Goebel

Datenbanken. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Themenübersicht Relationale Entwurfstheorie. Inhalt

Datenbanken 1. Relationale Entwurfstheorie. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Kapitel 11: Relationale Entwurfstheorie

Vorlesung Datenbanken II A Klausur

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Teil III Entity-Relationship-Modell

Vorlesung Datenbank-Entwurf Klausur

Transkript:

Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-1

Wiederholung Relationaler Datenbankentwurf - Phasen des Datenbankentwurfs, ER-Abbildung auf das relationale Modell, Relationaler Datenbankentwurf Schemaeigenschaften - Vermeidung lokaler Redundanzen: Funktionale Abhängigkeiten, Normalformen - Vermeidung globaler Redundanzen: Minimalität Transformationseigenschaften - Abhängigkeitstreue - Verbundtreue Zusammenfassung Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-2

Wiederholung Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-3

Datenbankentwurf Entwurfsaufgabe - Datenhaltung für mehrere Anwendungssysteme und mehrere Jahre daher: besondere Bedeutung - Anforderungen an Entwurf (Anwendungsseite) Anwendungsdaten jeder Anwendung sollen aus Daten der Datenbank ableitbar sein (und zwar möglichst effizient) nur vernünftige (wirklich benötigte) Daten sollen gespeichert werden nicht-redundante Speicherung - Eigenschaften von Entwurfsschritten (formale Seite) Informationserhalt (Verbundtreue bei ER/RM) = Erhalt des Informationsumfanges bei Transformation zwischen den Schritten (alle ursprünglich modellieren Informationen müssen gespeichert werden können) Konsistenzerhaltung (Abhängigkeitstreue bei ER/RM) = Erhalt der Konsistenz bei Transformation zwischen den Schritten (Regeln und Einschränkungen müssen erhalten bleiben) Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-4

Phasenmodell Anforderungsanalyse Konzeptioneller Entwurf Informale Beschreibung des Informationsbedarfes der Fachabteilungen Formale Beschreibung des Fachproblems, z.b. ER-Modell Verteilungsentwurf Logischer Entwurf Art und Weise der verteilten Speicherung Transformation in Datenmodell des DBMS Festlegung eines konkretes Schemas (z.b. mit SQL-DDL) Datendefinition Ergänzung um Zugriffsunterstützung zur Effizienzverbesserung (z.b. Indizes) Physischer Entwurf Installation, Optimierung, Anpassung, Portierung, Wartung Implementierung & Wartung Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-5

ER-Abbildung auf das relationale Modell Anforderungsanalyse Konzeptioneller Entwurf Informale Beschreibung des Informationsbedarfes der Fachabteilungen Formale Beschreibung des Fachproblems, z.b. ER-Modell 1. ER-Abbildung auf das relationale Modell 2. Verfeinerung Verteilungsentwurf Logischer Entwurf Art und Weise der verteilten Speicherung Transformation in Datenmodell des DBMS (z.b. Relationenmodell) Festlegung eines konkretes Schemas (z.b. mit SQL-DDL) Datendefinition Ergänzung um Zugriffsunterstützung zur Effizienzverbesserung (z.b. Indizes) Physischer Entwurf Installation, Optimierung, Anpassung, Portierung, Wartung Implementierung & Wartung Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-6

ER-Abbildung auf das relationale Modell Grundprinzipien der ER-Abbildung auf Relationen - Entity-Typen und Beziehungstypen: jeweils auf Relationenschemata - Attribute: Attribute des Relationenschemas, Schlüssel werden übernommen - Kardinalitäten der Beziehungen: durch Wahl der Schlüssel bei den zugehörigen Relationenschemata ausdrücken - In einigen Fällen: Verschmelzen der Relationenschemata von Entityund Beziehungstypen - Zwischen den verbleibenden Relationenschemata diverse Fremdschlüsselbedingungen einführen Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-7

Abbildung von Beziehungstypen Neues Relationenschema mit allen Attributen des Beziehungstyps Zusätzlich Übernahme aller Primärschlüssel der beteiligten Entity-Typen Festlegung der Schlüssel: - m:n-beziehung: beide Primärschlüssel zusammen werden Schlüssel im neuen Relationenschema - 1:n-Beziehung: Primärschlüssel der n-seite (bei der funktionalen Notation die Seite ohne Pfeilspitze) wird Schlüssel im neuen Relationenschema - 1:1-Beziehung: beide Primärschlüssel werden je ein Schlüssel im neuen Relationenschema, der Primärschlüssel wird dann aus diesen Schlüsseln gewählt Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-8

Abbildung von Beziehungstypen II Beispiel für n:m-beziehung Umsetzung Bestellung (BestellNr, Datum) Produkt (ProdNr, Bezeichnung, Preis) Umfasst (BestellNr Bestellung, ProdNr Produkt, Menge) Attribute BestellNr und ProdNr sind gemeinsam Schlüssel [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-13] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-9

Abbildung von Beziehungstypen III Beispiel für 1:n-Beziehung Umsetzung (zunächst) Album (AlbumNr, Titel, Preis) Musiker (MNr, Name, Land) EingespieltVon(AlbumNr Album, MNr Musiker) Primärschlüssel der n-seite wird Schlüssel im neuen Relationenschema [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-14] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-10

Abbildung von Beziehungstypen IV Beispiel für abhängige Entity-Typen Umsetzung Bestellposition (PosNr, BestNr Bestellung, Menge, Produkt) Bestellung (BestNr, Datum) [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-15] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-11

Abbildung von Beziehungstypen V Beispiel für Verschmelzung bei 1:n-Beziehung Da Album von einem Musiker/Band eingespielt werden muss (zwingende Beziehung), können Relationenschemata Album und EingespieltVon verschmolzen werden Umsetzung Album (AlbumNr, Titel, Preis, MNr Musiker) Musiker (MNr, Name, Land) [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-17] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-12

Abbildung von Beziehungstypen VI Beispiel für 1:1-Beziehung Umsetzung (zunächst ohne Verschmelzung) Album (AlbumNr, Titel, Laufzeit) DVDVideo (ProdNr, Format, Titel) Gehört_Zu (AlbumNr Album, ProdNr DVDVideo) [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-18] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-13

Abbildung von Beziehungstypen VII Beispiel für IST-Beziehung Umsetzung (zunächst ohne Verschmelzung) Produkt (ProdNr, Titel, Preis) Album (ProdNr Produkt, Genre, Laufzeit) Buch (ProdNr Produkt, ISBN, Verlag) [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-20] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-14

Abbildung von Beziehungstypen VIII Beispiel für mehrstellige Beziehungen Jeder beteiligte Entity-Typ wird nach den obigen Regeln behandelt Für Beziehung Bestellt werden Primärschlüssel der drei beteiligten Entity-Typen in das resultierende Relationenschema aufgenommen Beziehung ist allgemeiner Art (k:m:n-beziehung) alle Primärschlüssel bilden zusammen den Schlüssel [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-22] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-15

ER-Abbildung auf das relationale Modell Anforderungsanalyse Konzeptioneller Entwurf Informale Beschreibung des Informationsbedarfes der Fachabteilungen Formale Beschreibung des Fachproblems, z.b. ER-Modell 1. ER-Abbildung auf das relationale Modell 2. Verfeinerung Verteilungsentwurf Logischer Entwurf Art und Weise der verteilten Speicherung Transformation in Datenmodell des DBMS (z.b. Relationenmodell) Festlegung eines konkretes Schemas (z.b. mit SQL-DDL) Datendefinition Ergänzung um Zugriffsunterstützung zur Effizienzverbesserung (z.b. Indexe) Physischer Entwurf Installation, Optimierung, Anpassung, Portierung, Wartung Implementierung & Wartung Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-16

Relationaler Datenbankentwurf Redundanzen - Redundanzen in Basisrelationen aus mehreren Gründen unerwünscht: Redundante Informationen belegen unnötigen Speicherplatz Änderungsoperationen auf Basisrelationen mit Redundanzen nur schwer korrekt umsetzbar wenn eine Information redundant vorkommt, muss eine Änderung diese Information in allen ihren Vorkommen verändern Beispiel: Basisrelation mit Redundanzen [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-25] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-17

Funktionale Abhängigkeiten Funktionale Abhängigkeiten - Funktionale Abhängigkeit zwischen Attributmengen X und Y einer Relation: Wenn in jedem Tupel der Relation der Attributwert unter den X- Komponenten den Attributwert unter den Y-Komponenten festlegt. - Unterscheiden sich zwei Tupel in den X-Attributen nicht, so haben sie auch gleiche Werte für alle Y-Attribute - Notation für funktionale Abhängigkeit (FD, von functional dependency): X Y - Beispiel: AlbumNr MNr Titel, MNr, Name Land Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-18

Funktionale Abhängigkeiten II Schlüssel als Spezialfall - für Beispiel AlbumNr Titel, Jahr, Genre, MNr, Name, Land - Immer: AlbumNr AlbumNr (triviale funktionale Abhängigkeit) - Wenn linke Seite minimal: Schlüssel - Formal: Schlüssel X liegt vor, wenn für Relationenschema R FD X R gilt und X minimal - Ziel des Datenbankentwurfs: alle gegebenen funktionalen Abhängigkeiten in Schlüsselabhängigkeiten umformen, ohne dabei semantische Information zu verlieren [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-25] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-19

Schemaeigenschaften Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-20

Gewünschte Schemaeigenschaften Relationenschemata, Schlüssel und Fremdschlüssel so wählen, dass 1. alle Anwendungsdaten aus den Basisrelationen hergeleitet werden können, 2. nur semantisch sinnvolle und konsistente Anwendungsdaten dargestellt werden können, 3. die Anwendungsdaten möglichst nicht-redundant dargestellt werden. Jetzt Anforderung 3: - Vermeidung von Redundanzen innerhalb einer Relation Normalformen - Vermeidung globaler Redundanzen Minimalität Später Anforderungen 1 und 2: als Transformationseigenschaften Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-21

Normalformen Normalform (auch kanonische Form) allg.: - Eine Darstellung mit bestimmten vorgegebenen Eigenschaften Nutzung von Normalformen - Legen Eigenschaften von Relationenschemata fest - Verbieten bestimmte Kombinationen von funktionalen Abhängigkeiten in Relationen - Sollen Redundanzen und Anomalien vermeiden Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-22

Erste Normalform (1NF) Normalformen II - Erlaubt nur atomare (=unteilbare) Einzelwerte in den Relationenschemata Elemente von Standard-Datentypen wie integer oder string erlaubt Konstruktoren wie array oder set nicht erlaubt - 1NF verhindert: Relationen innerhalb von Reationen oder Relationen als Attribute von Tupeln Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-23

Erste Normalform (Forts.) Normalformen III - Verletzung der 1. Normalform Attribut AlbumNr enthält eine Menge von Werten - Probleme bei Abfragen des Datenbestandes Keine Sortierung nach AlbumNr möglich Alle Werte nur gleichzeitig oder gar nicht darstellbar Aufspaltung notwendig [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-42] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-24

Erste Normalform (Forts.) Normalformen IV [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-43] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-25

Zweite Normalform (2NF) Normalformen V - Eine Relation ist in 2. Normalform, wenn: sie in 1. Normalform ist und jedes nicht zum Primärschlüssel gehörende Attribut von diesem voll funktional abhängig ist - Was bedeutet das? Jedes Nichtschlüsselattribut ist von allen Teilen des Primärschlüssels abhängig Partielle funktionale Abhängigkeiten, d.h. funktionale Abhängigkeiten von Teilen des Primärschlüssels, werden eliminiert Besteht der Primärschlüssel nur aus einem Teil, so ist der Test überflüssig Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-26

Normalformen VI Zweite Normalform (Forts.) - Partielle Abhängigkeit liegt vor, wenn ein Attribut funktional schon von einem Teil des Schlüssels abhängt Schlüssel KNr, AlbumNr KName, Titel, Datum aber auch: AlbumNr Titel (1) KNr Kname (2) Partielle Abhängigkeit (2) Partielle Abhängigkeit (1) - Probleme durch redundante Daten möglich Z.B. Änderung des Kundennamens für eines der beiden Tupel mit KNr 101 führt zu Dateninkonsistenz hinsichtlich des anderen Tupels - Zweite Normalform eliminiert derartige partielle Abhängigkeiten bei Nicht- Schlüsselattributen [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-44] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-27

Normalformen VII Zweite Normalform (Forts.) Eliminierung partieller Abhängigkeiten Tabelle enthält nur noch Attribute, die voll funktional vom Schlüssel abhängen [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-45] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-28

Dritte Normalform (3NF) Normalformen VIII - Eine Relation ist in 3. Normalform, wenn: sie in 2. Normalform ist und kein Attribut, dass nicht zum Primärschlüssel gehört, von diesem transitiv abhängt - Was bedeutet das? Attribut A 2 ist von Schlüssel P transitiv abhängig, wenn ein Attribut A 1 existiert, sodass (P A 1 ) und (A 1 A 2 ), d.h. A 2 hängt über A 1 von P ab (P A 1 ) (A 1 A 2 ) (P A 2 ) Ein Nichtschlüsselattribut darf nur vom Schlüssel abhängen Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-29

Normalformen IX Dritte Normalform (Forts.) - Eliminiert (zusätzlich) transitive Abhängigkeiten AlbumNr MNr MNr Name - Man beachte: 3NF betrachtet nur Nicht-Schlüsselattribute als Endpunkt transitiver Abhängigkeiten [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-25] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-30

Normalformen X Dritte Normalform (Forts.) Eliminierung transitiver Abhängigkeiten [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-47] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-31

Normalformen XI Boyce-Codd-Normalform (BCNF) - Verschärfung der 3NF: Eliminierung transitiver Abhängigkeiten auch zwischen Primattributen - Beispiel Produkt(ProdNr, Hersteller, Lieferant, Preis) - FDs: ProdNr, Hersteller Preis Hersteller Lieferant Lieferant Hersteller - Schlüsselkandidaten: ProdNr, Hersteller und ProdNr, Lieferant - In 3NF, nicht jedoch in BCNF Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-32

Normalformen XII Boyce-Codd-Normalform (Forts.) - Beispiel Ausgangspunkt Produkt(ProdNr, Hersteller, Lieferant, Preis) Schema in BCNF Produkt(ProdNr, Hersteller, Preis) HerstLief(Hersteller, Lieferant) BCNF kann jedoch Abhängigkeitstreue verletzen, daher oft nur bis 3NF Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-33

Minimalität Bisher: Vermeidung von lokalen Redundanzen innerhalb von Relationen Jetzt: angestrebte Schemaeigenschaft zur Vermeidung globaler Redundanzen andere Kriterien (wie Normalformen) mit möglichst wenig Schemata erreichen Beispiel - Attributmenge ABC, FD-Menge {A B, B C} - Datenbankschemata in dritter Normalform S = {(AB, {A}), (BC, {B})} S = {(AB, {A}), (BC, {B}), (AC, {A})} - Redundanzen in S Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-34

Schemaeigenschaften Kennung Schemaeigenschaft Kurzcharakteristik 1NF nur atomare Attribute 2NF keine partielle Abhängigkeit eines Nicht- Primattributes von einem Schlüssel S1 3NF keine transitive Abhängigkeit eines Nicht-Primattributes von einem Schlüssel BCNF keine transitive Abhängigkeit eines Attributes von einem Schlüssel S2 Minimalität minimale Anzahl von Relationenschemata, die die anderen Eigenschaften erfüllt Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-35

Transformationseigenschaften Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-36

Transformationseigenschaften Transformationseigenschaften - Bei einer Zerlegung einer Relation in mehrere Relationen ist darauf zu achten, dass 1. nur semantisch sinnvolle und konsistente Anwendungsdaten dargestellt (Abhängigkeitstreue) und 2. alle Anwendungsdaten aus den Basisrelationen hergeleitet werden können (Verbundtreue) Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-37

Abhängigkeitstreue Abhängigkeitstreue (auch Abhängigkeitsbewahrung) der Zerlegung: eine Menge von Abhängigkeiten kann äquivalent in eine zweite Menge von Abhängigkeiten transformiert werden spezieller: in die Menge der Schlüsselabhängigkeiten, da diese vom Datenbanksystem effizient überprüft werden kann - die Menge der Abhängigkeiten soll äquivalent zu der Menge der Schlüsselbedingungen im resultierenden Datenbankschema sein - Äquivalenz sichert zu, dass mit den Schlüsselabhängigkeiten semantisch genau die gleichen Integritätsbedingungen ausgedrückt werden wie mit den funktionalen oder anderen Abhängigkeiten vorher Alle funktionalen Abhängigkeiten der ursprünglichen Relation gelten auch nach der Zerlegung noch - Keine Abhängigkeiten gehen verloren, keine neuen kommen hinzu Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-38

Abhängigkeitstreue II Beispiel Im Beispiel: transitive Abhängigkeiten Zerlegung des Relationenschemas Album in 3NF: AlbumNr Titel, Jahr, Genre, MNr MNr Name, Land äquivalent zu Schlüsselabhängigkeiten abhängigkeitstreu [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-25] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-39

Abhängigkeitstreue III Beispiel 2 - Postleitzahl-Struktur der Deutschen Post PLZ (P), Ort (O), Straße(S), Hausnummer(H) und funktionale Abhängigkeiten F OSH P, P O - Für ein Datenbankschema S bestehend aus dem einzigen Relationenschema (OSHP, {OSH}) ist Menge der Schlüsselabhängigkeiten {OSH OSHP} nicht äquivalent zu F und somit S nicht abhängigkeitstreu Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-40

Verbundtreue Zur Erfüllung des Kriteriums der Normalformen müssen Relationenschemata teilweise in kleinere Relationenschemata zerlegt werden Für Beschränkung auf sinnvolle Zerlegungen gilt Forderung, dass die Originalrelation wieder aus den zerlegten Relationen mit dem natürlichen Verbund zurückgewonnen werden kann Verbundtreue Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-41

Verbundtreue II Beispiel - Zerlegung des Relationenschemas R = ABC in R 1 = AB und R 2 = BC - Dekomposition bei Vorliegen der Abhängigkeiten F = {A B, C B} ist nicht verbundtreu - Dagegen bei Vorliegen von F = {A B, B C} verbundtreu Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-42

Verbundtreue III Verbundtreue Dekomposition für F = {A B, B C} - Originalrelation: - Dekomposition: - Verbund (verbundtreu): [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-58] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-43

Verbundtreue IV Nicht verbundtreue Dekomposition für F = {A B, C B} - Originalrelation: - Dekomposition: - Verbund (nicht verbundtreu): [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-59] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-44

Transformationseigenschaften Kennung Eigenschaft Kurzcharakteristik T1 Abhängigkeitstreue alle gegebenen Abhängigkeiten sind durch Schlüssel repräsentiert T2 Verbundtreue die Originalrelationen können durch den Verbund der Basisrelationen wiedergewonnen werden Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-45

Mehrwertige Abhängigkeit Mehrwertige Abhängigkeit (kurz: MVD) - Innerhalb einer Relation R wird einem Attributwert von X eine Menge von Y-Werten zugeordnet, unabhängig von den Werten der restlichen Attribute - Bsp: Band Person oder ISBN Autor Vierte Normalform Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-46

Mehrwertige Abhängigkeit II Mehrwertige Abhängigkeiten - Folge der 1NF - Mehrwertige Abhängigkeiten erzeugen Redundanz: - Eine (oder mehrere) Gruppe von Attributwerten ist von einem Schlüssel bestimmt, unabhängig von anderen Attributen - Hier: Menge von Alben plus Menge von Hobbies Name Album, Name Hobby - Resultat: Redundanz durch Bildung aller Kombinationen [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-67] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-47

Mehrwertige Abhängigkeit III Mehrwertige Abhängigkeiten und 4NF - Vierte Normalform fordert die Beseitigung derartiger Redundanzen - Prinzip Elimination der rechten Seite einer der beiden mehrwertigen Abhängigkeiten, linke Seite mit dieser rechten Seite in neue Relation kopiert [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-68] Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-48

Zusammenfassung Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-49

Relationaler Datenbankentwurf Überblick - Verfeinern des logischen Entwurfs - Ziel: Vermeidung von Redundanzen durch Aufspalten von Relationenschemata, ohne gleichzeitig semantische Informationen zu verlieren (Abhängigkeitstreue) die Möglichkeit zur Rekonstruktion der Relationen zu verlieren (Verbundtreue) - Redundanzvermeidung durch Normalformen Funktionale Abhängigkeiten - Funktionale Abhängigkeit zwischen Attributmengen X und Y einer Relation: Wenn in jedem Tupel der Relation der Attributwert unter den X- Komponenten den Attributwert unter den Y-Komponenten festlegt. - Notation (FD): X Y Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-50

Schemaeigenschaften Kennung Schemaeigenschaft Kurzcharakteristik 1NF nur atomare Attribute 2NF keine partielle Abhängigkeit eines Nicht- Primattributes von einem Schlüssel S1 3NF keine transitive Abhängigkeit eines Nicht-Primattributes von einem Schlüssel BCNF keine transitive Abhängigkeit eines Attributes von einem Schlüssel S2 Minimalität minimale Anzahl von Relationenschemata, die die anderen Eigenschaften erfüllt Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-51

Transformationseigenschaften Transformationseigenschaften - Bei einer Zerlegung einer Relation in mehrere Relationen ist darauf zu achten, dass 1. nur semantisch sinnvolle und konsistente Anwendungsdaten dargestellt (Abhängigkeitstreue) und 2. alle Anwendungsdaten aus den Basisrelationen hergeleitet werden können (Verbundtreue) Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-52