Universität Würzburg Datenbanken Institut für Informatik Prof. Dr. Dietmar Seipel Dipl.-Inform. Christian Schneiker Dipl.-Inform. Joachim Spoerhase Wintersemester 2009/10 2. Übungsblatt Aufgabe 5 (Datenbankaufbau in Sql) (10 Punkte) a) Legen Sie eine Sql–Datenbank mit Tabellen für die folgenden Entitätstypen an: • Bahnhof ( B id, B Name, S Name, Bundesland, Anzahl Gleise ) • Stadt ( Name, Bundesland, Einwohnerzahl ) • Zug ( Nummer, Typ, Länge ) In der Tabelle Bahnhof“ soll zusätzlich zum Schlüssel B id“ auch die Attribut” ” kombination B Name, S Name, Bundesland“ eindeutig sein. S Name“ bezieht ” ” sich auf Name“ in Stadt“. ” ” b) Realisieren Sie die folgende Beziehung als Tabelle in Sql: verbindet“ ist eine ” ternäre Beziehung zwischen den Entitätstypen Bahnhof“ (2 mal) und Zug“; sie ” ” trägt die Attribute Abfahrt“ und Ankunft“. ” ” c) Geben Sie geeignete Insert–Statements zum Einfügen von Beispieldaten in die Tabellen aus den Teilaufgaben a) und b) an. Aufgabe 6 (Datenbankanfragen in Sql) (10 Punkte) Geben Sie Sql–Statements zur Beantwortung der folgenden Anfragen an die in Aufgabe 4 erstellte Datenbank sowie die zugehörigen Antworten an. a) Welche Anschlüsse gibt es von Würzburg (Bayern)“ aus ? ” b) Welche Städte verbindet der Zug ICE3“ direkt ? ” c) Wieviele Einwohner hat das Bundesland Sachsen“ ? ” d) Geben Sie alle Städte an, welche mehr als einen Bahnhof besitzen, sowie die genaue Anzahl der Bahnhöfe in diesen Städten. e) Welche Städte haben keinen Bahnhof ? Aufgabe 7 (Datenbankänderungen in Sql) (10 Punkte) In der Zug–Datenbank aus Aufgabe 4 sollen folgende Änderungen vorgenommen werden: a) Wegen Bauarbeiten stehen am Bahnhof Frankfurt Hbf (Hessen)“ nur noch 18 Gleise ” zur Verfügung. b) Die Stadt Lohr am Main (Bayern)“ wird aus dem Streckennetz entfernt. ” c) Der Zug IR111“ startet in Frankfurt Hbf (Hessen)“ wegen eines Streiks nicht ” ” mehr um 12.00 Uhr sondern erst um 13.00 Uhr, und er endet entsprechend später um 15.15 Uhr (temporäre Fahrplanänderung). d) Der Zug ICE3“ wird in ICE4“ umbenannt. ” ” Aufgabe 8 (Funktionale Abhängigkeiten) (12+5Z Punkte) Gegeben sei folgende Relation r über dem Relationenschema R = (U, F ) zur Attributmenge U = { Lieferant, Teil, Menge, Ort } : Lieferant Teil L1 T1 L1 T2 L2 T1 Menge Ort 3 Würzburg 2 Würzburg 1 Frankfurt a) Geben Sie die Menge F aller nicht–trivialen, links–minimalen und rechts–minimalen funktionalen Abhängigkeiten an, die in der gegebenen Relation r gelten. b) Erweitern Sie die Relation r zu einer Relation r0 ⊃ r, so daß in r0 nur noch die funktionalen Abhängigkeiten { Lieferant, Teil } → { Menge }, { Lieferant } → { Ort } sowie deren Konsequenzen gelten; geben Sie jeweils eine Begründung für die hinzugefügten Tupel an. c) Gegeben sei ein Relationenschema (U, F ) mit U = {A, B, C, D, E} und F = {AB → C, B → CE, C → D, A → D} . Bestimmen Sie {B}+ und {A, B}+ mit Hilfe des Hüllenalgorithmus’ aus der Vorlesung. d) Zusatzaufgabe: Zeigen Sie, wie man die Regeln (F4)–(F6) (F4) Zerlegungsregel {X → Y Z} ` X → Y, X → Z (F5) Vereinigungsregel {X → Y, X → Z} ` X → Y Z (F6) Pseudo-Transitivitäts-Regel: {X → Y, W Y → Z} ` W X → Z aus den drei Inferenzregeln (F1)–(F3) von Armstrong ableiten kann. Abgabe: in der Vorlesung am Dienstag, dem 17. November 2009 Abgabe in 3er–Gruppen möglich! Besprechung: in den Übungen am 23. und 25. November 2009