Relationaler Datenbankentwurf

Ähnliche Dokumente
Übung Datenbanksysteme I Relationaler Datenbankentwurf. Thorsten Papenbrock

Datenbanksysteme I Übung: Relationaler Datenbankentwurf. Jana Bauckmann

Übung Datenbanksysteme I Relationaler Datenbankentwurf

Datenbanksysteme I Übung: Normalformen und Relationale Algebra Jana Bauckmann

3. Übungsblatt (Testatwoche: Mai 2010) Einführung in Datenbanksysteme Datenbanken für die Bioinformatik

Aufgabe 1: Kanonische Überdeckung

2. Übungsblatt 3.0 VU Datenmodellierung

2. Übungsblatt 3.0 VU Datenmodellierung

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Grundlagen: Datenbanken

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

8. Tutorübung zu Grundlagen: Datenbanken

Grundlagen: Datenbanken WS 15/16

Kapitel 7: Formaler Datenbankentwurf

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Design Theorie für relationale Datenbanken

Datenbanksysteme Übungsblatt 1

Rückblick: Relationales Modell

Aufgabe 7. Sei die Schema R(A, B, C, D, E) mit folgenden fkt. Abh.:

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

Datenbanken 6: Normalisierung

Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen

5. Relationale Entwurfstheorie

Vorlesung Datenbank-Entwurf Klausur

Datenbanksysteme 1 Sommersemester Juni 2006

Übung Datenbanksysteme Normalformen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Relationale Entwurfstheorie (Teil 2)

Datenbanken und Informationssysteme Sommersemester 2012 Probeklausur

Grundlagen Datenbanken

Normalisierung (Dekomposition)

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

2. Übungsblatt 3.0 VU Datenmodellierung

Datenbanken Unit 7: Normalisierung ctd.

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

Datenbanksysteme I WS 2015/16. Übungsblatt 12: Lösungsvorschlag

3. Grundlagen relationaler Datenbanksysteme

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

Wiederholung VU Datenmodellierung

Relationales Datenmodell

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

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

Datenbanken 1 Sommersemester 2014/

Einführung in Datenbanken - Wiederholung Normalformen - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Normalisierung I. Ziele

Wiederholung VU Datenmodellierung

Es werden drei Datensätze vorgestellt. Die Bezeichner der Domänen sind fett dargestellt, ihre Werte erscheinen nach einem Doppelpunkt 1.

3. Übungszettel (Musterlösung)

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Rückblick: Relationale Entwurfstheorie

Rückblick: Datenbankentwurf

Aufgabenblatt 4 SQL. Vorbereitungen für das Aufgabenblatt: IMDB in DB2 laden

Kapitel 3: Datenbanksysteme

Datenbankdesign - Normalisierung

Datenbanken 6: Normalisierung

DEVO 5.1. Normalformen. Wolfgang Slany TU Wien

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 18. Juni 2007

Introduction to Data and Knowledge Engineering

Übungen Teil 2: Normalisierung und ER-Modell. Dozent: Stefan Maihack Dipl. Ing. (FH)

7.1.2 Membership-Test - fortgesetzt

Datenbanksysteme I Relationaler Datenbankentwurf Felix Naumann

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

2. Übungsblatt 3.0 VU Datenmodellierung

Wir haben folgende Ausprägung der Relation Studenten:

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

Datenbanken Unit 3: Das relationale Modell

Kapitel 11: Relationale Entwurfstheorie

Aufgabenblatt 3 SQL. Vorbereitungen für Aufgabenblätter 3 und 4: IMDb in DB2 laden

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

Zerlegung einer Relation

Schema Mapping. Armin Roth arminroth.de. Armin Roth (arminroth.de) II Schema Mapping / 23

9. Einführung in Datenbanken

Datenbanksysteme I Relationaler Datenbankentwurf Felix Naumann

Transkript:

Übung Datenbanksysteme I Relationaler Datenbankentwurf Thorsten Papenbrock

Vorstellung: Tutoren-Team 2 Übung: Thorsten Papenbrock Email: thorsten.papenbrock@hpi.uni-potsdam.de Raum: A-1.7 Tutoren: Alexander Spivak Fabian Maschler Moritz Finke

Vorstellung: Studenten 3 Wer nimmt vom IFI an der Vorlesung teil? 2. Semester? 4. Semester? 4+ Semester? Wer hat schon einmal mit SQL gearbeitet?

Vorstellung: Abgabesystem 4 URL: https://www.hpi.uni-potsdam.de/naumann/sites/abgabe/dbs1_2013 Hinweise: ausschließlich pdf-dateien eine Datei pro Aufgabe namens Aufgabe-<aufgabeNr>.pdf jedes Blatt beschriftet mit Namen Abgabetermin ist der angegebene Tag um 23:59 Uhr Smartphones nicht unterstützt (?)

Übersicht der Übung 1 5 1. ER Relationales Schema 2. Funktionale Abhängigkeiten und Schlüssel 3. BCNF und Dekomposition

Übersicht der Übung 1 6 1. ER Relationales Schema 2. Funktionale Abhängigkeiten und Schlüssel 3. BCNF und Dekomposition

Aufgabe: ER Relationales Schema 7 id name role order id name role order Actor Actress plays_in plays_in year Movie mid title has_genre produces Genre Producer id genre id name role

Lösung: ER Relationales Schema 8 Movie (mid, title, date) Actor (id, name, role, order, mid) Actress (id, name, role, order, mid) Genre (id, genre, mid) Producer (id, name, role, mid)

Lösung: ER Relationales Schema 9 Passagier (SSN, Name, Adresse, Telefon) Flug (Flugnummer, Tag, Flugzeug) Buchung (Flugnummer, Tag, SSN, Reihe, Sitz) Alle Schlüsselattribute eines Schlüssels müssen zusammen unterstrichen werden: (A, B) bedeutet, dass {A} und {B} jeweils Schlüssel sind (A, B) bedeutet, dass {A, B} ein Schlüssel ist

Aufgabe: ER Relationales Schema 10 Buchung Reihe Sitz gebucht_von gebucht_für Adresse Name Passagier Flug Flugzeug Telefon SSN Flugnummer Tag

Aufgabe: IST-Hierarchien Relationales Schema 11 Konvertiere das ER-Diagramm in relationale Datenbankschemata. Nutze dabei einmal jeden der drei Stile: ER, OO, Null-Werte Nummer Raum Kurs GehaltenVon Abteilung IST IST Vorsitzender Name ProjektSeminar Praktikum Projektziel Computer

Lösung: IST-Hierarchien Relationales Schema 12 ER-Stil Abteilung (Name, Vorsitzender) Kurs (Nummer, AbteilungName, Raum) Praktikum (Nummer, AbteilungName, Computer) ProjektSeminar (Nummer, AbteilungName, Projektziel) OO-Stil Abteilung (Name, Vorsitzender) Kurs (Nummer, AbteilungName, Raum) KursPraktikum (Nummer, AbteilungName, Raum, Computer) KursProjektSeminar (Nummer, AbteilungName, Raum, Projektziel) KursProjektSeminarPraktikum (Nummer, AbteilungName, Raum, Projektziel, Computer) Null-Werte Abteilung (Name, Vorsitzender) Eine Relation pro Entitytyp mit allen Schlüssel-Attributen der Wurzel(n) Eine Relation für jeden Teilbaum, der auch die Wurzel enthält Eine Relation für die gesamte IST-Hierarchie Kurs (Nummer, AbteilungName, Raum, Projektziel, Computer)

Übersicht der Übung 1 13 1. ER Relationales Schema 2. Funktionale Abhängigkeiten und Schlüssel 3. BCNF und Dekomposition

Funktionale Abhängigkeiten (FAs / FDs) 14 Definition: X A ist eine Aussage über eine Relation R: Immer wenn zwei Tupel in den Werten der Attributmenge X übereinstimmen, stimmen sie auch im Attributwert A überein. Nicht reflexiv: Gib eine Instanz der Relation R(A,B) an, die die folgende Regel verletzt: A B B A A B 0 2 1 2

Funktionale Abhängigkeiten (FAs / FDs) 15 Verschiffung (Schiffsname, Schiffstyp, FahrtID, Ladung, Hafen, Ankunftsdatum) Welche FAs könnten hier gelten? Schiffsname Schiffstyp FahrtID Schiffsname, Ladung Schiffsname, Ankunftsdatum FahrtID, Hafen Was sind mögliche Schlüssel?

Bestimmung aller Schlüssel 16 Verschiffung (Schiffsname, Schiffstyp, FahrtID, Ladung, Hafen, Ankunftsdatum) V (N, T, F, L, H, A) Vorgehen: Hüllenbildung Teste jede Teilmenge K der Attribute N T F N, L N, A F, H Trick: A kommt auf keiner rechten Seite einer FA vor, d.h. A wird von keinem Attribut funktional bestimmt A muss in jedem Schlüssel sein! Ist A selbst ein Schlüssel?

Bestimmung aller Schlüssel 17 {A} + = {A} kein Schlüssel, da A nicht alle Attribute funktional bestimmt Teste alle zweielementigen Mengen von Attributen auf Schlüsseleigenschaft Welche Mengen kommen in Frage? {A, N} + = {A, N, F, H, T, L} Schlüssel {A, T} + = {A, T} {A, F} + = {A, F, N, L, H, T} {A, L} + = {A, L} {A, H} + = {A, H} Schlüssel N T F N, L N, A F, H

Bestimmung aller Schlüssel 18 Teste alle dreielementigen Mengen Nebenbedingungen beachten A muss enthalten sein N oder/und F dürfen nicht enthalten sein (warum?) Welche Mengen kommen dann noch in Frage? {A, T, H} + = {A, T, H} {A, T, L} + = {A, T, L} {A, L, H} + = {A, L, H} Teste alle vierelementigen Mengen Welche Mengen kommen noch in Frage? {A, T, L, H} + = {A, T, L, H} Es kann keinen Schlüssel mit 5 bzw. 6 Attributen geben! Begründung? (Tipp: Nebenbedingungen beachten)

FAs expandieren 19 Gegeben: V (N, T, F, L, H, A) N T F N, L N, A F, H Testen aller Kombinationen hat exponentielle Komplexität! Aufwand ist im Dekompositionsalgorithmus geringer, da die Relationen schrittweise kleiner werden Variante 1: Immer wieder Regeln anwenden Variante 2: Hülle aller Teilmengen von Attributen bilden {N} + = {N, T} {T} + = {T} {F} + = {F, N, L} {L} + = {L} {H} + = {H} {A} + = {A} (Diesen Schritt können wir mit der Schlüsselsuche kombinieren!) {A, N} + = {A, N, F, H, T, L} {A, T} + = {A, T} {A, F} + = {A, F, N, L, H, T} {A, L} + = {A, L} {A, H} + = {A, H} N T F N, L N, A F, H, T, L A, F N, L, H, T

Übersicht der Übung 1 20 1. ER Relationales Schema 2. Funktionale Abhängigkeiten und Schlüssel 3. BCNF und Dekomposition

BCNF und Dekomposition 21 Verschiffung(N, T, F, L, H, A) N T F N, L, T N, A F, H, L, T A, F N, L, H, T Zur Erinnerung: R ist in BCNF die linke Seite jeder nicht-trivialen FD ist Schlüssel oder Superschlüssel Warum BCNF? Redundanz und Anfälligkeit für Inkonsistenzen vermindern Welche FDs verletzen hier die BCNF? N T und F N, L Weder {N} noch {F} sind Schlüssel oder Superschlüssel in Verschiffung

BCNF und Dekomposition 22 Wiederhohle bis BCNF erreicht: 1. Schlüssel bestimmen {A, N} + = {A, N, F, H, T, L} {A, F} + = {A, F, N, L, H, T} Einen dieser beiden Schlüssel als Primärschlüssel wählen! 2. FAs expandieren (verletzende FA) N T N T F N, L F N, L, T N, A F, H N, A F, H, N, L, T A, F N, L, H, T 3. Dekomponieren 1. Verletzende FA identifizieren 2. Relation an verletzender FA trennen Es reicht, die verletzende FA zu expandieren. Falls man diese aber nicht sofort findet, muss so lange expandiert werden, bis man sicher ist, dass keine verletzende FA mehr existiert!

BCNF und Dekomposition 23 Dekomponieren: o V (N, T, F, L, H, A) Verletzende FA Attribute ohne rechten Teil der FA V (N,A,T,F,L,H) F N, L, T N T F N, L, T N, A F, H, L, T A, F N, L, H, T Alle Attribute der expandierten FA V 1 (A,F,H) V 2 (F,N,L,T) Schlüssel = alter Schlüssel, falls noch vollständig erhalten, sonst neu überlegen mit bekannten FAs V 3 (F,N,L) N T V 2 (N,T) Schlüssel = linke Seite der FA

BCNF und Dekomposition 24 Dekomponieren: o V (N, T, F, L, H, A) V (N,A,T,F,L,H) N T F N, L, T N, A F, H, L, T A, F N, L, H, T N T V 1 (N,A,F,L,H) V 2 (N,T) V 1 (A,F,H) F N, L, T V 3 (F,N,L) Die beiden Dekompositionsreihenfolgen haben hier zufällig dasselbe Ergebnis. Das ist aber nicht immer so!

BCNF und Dekomposition 25 V 1 (A, F, H) V 2 (N, T) V 3 (F, N, L) Name? (Schiffsname, Schiffstyp) Schiff (Schiffsname, Schiffstyp) Name? (FahrtID, Schiffsname, Ladung) Fahrt (Schiffsname, FahrtID, Ladung) Name? (FahrtID, Ankunftdatum, Hafen) FahrtStationen (FahrtID, Ankunftdatum, Hafen)

Aufgabe: Schlüssel, BCNF und Dekomposition 26 Gegeben: R (A, B, C, D) A, B C C D D A Gesucht: 1. Schlüssel 2. Expandierte FAs 3. BCNF {A,B}, {B,C}, {B,D} Immer wieder Regeln anwenden: A,B C,D C D,A D A R 1 (B,C) R 2 (C,D) R 3 (D,A)

Lösung: Schlüssel, BCNF und Dekomposition 27 R (A,B,C,D) C D,A R 1 (B,C) R 2 (C,D,A) D A R 2 (C,D) R 3 (D,A)