Datenbanksysteme I - Institut für Informatik
Transcription
Datenbanksysteme I - Institut für Informatik
Universität Augsburg, Institut für Informatik Dr. W.-T. Balke M. Endres, A. Huhn, T. Preisinger WS 2006/2007 30. Okt. 2006 Übungsblatt 2 Datenbanksysteme I Aufgabe 1: ER-Modellierung Erstellen Sie das Modell einer Fluglinie im DB-Designer. Benutzen Sie dazu folgende Informationen: • Konzerne besitzen einen bestimmten Anteil an einer Fluglinie. • Eine Fluglinie besteht aus den Abteilungen: Flugdienst, Buchung und Werkstatt. • In jeder Abteilung arbeitet folgendes Personal: Crew, Sachbearbeiter und Mechaniker. • Fluglinien bieten Kunden Flüge von einem Abflugort zu einem Zielort an. • Von jeder Fluglinie dürfen nur bestimmte Flugziele angeflogen werden. • Benennen Sie zu jedem Entitätstyp geeignete Attribute, Schlüssel und Domänen. Abzugeben: Datei des DB-Designers sowie das relationale DB-Schema Aufgabe 2: Relationenmodell Übersetzen Sie das ER-Modell aus Aufgabe 2 von Übungsblatt 1 in ein relationales Datenbankschema. Benutzen Sie dazu die Algorithmen 37 und 45 sowie Lemma 56 aus der Vorlesung. Geben Sie geeignete Domänen an. Bestimmen Sie alle Primär- und Fremdschlüssel. Aufgabe 3: Mehrfachvererbung Betrachten Sie die Mehrfachvererbung in folgender Abbildung. Wie kann man diese Vererbungsstruktur als Relationenschema darstellen? Benutzen Sie dazu geeignete Fremdschlüsselbeziehungen. 1 Aufgabe 4: Auswertung relationaler Algebra-Ausdrücke Gegeben seien die folgenden beiden Relationen. Die Domänen der beiden Relationen seien verträglich. R A 10 15 25 B C a 5 b 8 a 6 S sowie D 10 25 10 E b c b F 6 3 5 Geben Sie die Ergebnisse der folgenden relationalen Ausdrücke an: a) R ./A = D S b) R ./B 6= E S c) πB (R) ∪ πE (S) d) (R ∪ S) \ R e) R ./A = D ∧ C = F S Aufgabe 5: Query-Formulierung mit relationaler Algebra Gegeben sei das folgende relationale DB-Schema (ohne Angabe der Domänen). Primärschlüssel sind unterstrichen, Fremdschlüssel sind kursiv gekennzeichnet. Buchung(Kundennr, Flugnr, Datum) Flug(Flugnr, Abflugort, Zielort, Preis) Kunde(Kundennr, Name, Adresse) Pilot(Name, Flugnr, #Flüge) Formulieren Sie folgende Queries in relationaler Algebra. a) Query1: Welche Kunden haben einen Flug mit Pilot ”Sepp Maier” gebucht? b) Query2: Wieviele Flüge hat der Pilot, der den Kunden ”Hans Maier” am 25.11.2005 von Augsburg nach Frankfurt fliegt, absolviert? c) Query3: Geben Sie die Kundennummer und das Datum aller Flüge an, die von Augsburg mit einem beliebigem Zwischenstop einen Weiterflug nach Paris ermöglichen. Abgabetermin: 06.11.2006, bis 11.00 Uhr per E-Mail an [email protected] 2