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