1 P. - Lehrgebiet Informationssysteme

Werbung
Datenbankanwendung WS 2014/15
Prof. Dr.-Ing. Sebastian Michel
MSc. Johannes Schildgen
TU Kaiserslautern, FB Informatik – Lehrgebiet Informationssysteme http://wwwlgis.informatik.uni-kl.de
Übungsblatt 6: Ausgabe 02.12.2014, Präsentation 11.12.2014
Aufgabe 1: Fensteranfragen
(1 P.)
Beantworten Sie unten stehende Anfragen mit SQL auf der folgenden Tabelle land 1 :
CREATE TABLE land (
lnr varchar(4) not null primary key,
name varchar(50),
einwohner decimal(20,2), -- in Millionen
flaeche INT,
hauptstadt varchar(30),
kontinent varchar(15));
1. Geben Sie die Namen aller Länder zusammen mit deren Einwohnerzahlen aus.
2. Geben Sie die Namen aller Kontinente zusammen mit deren Gesamt-Einwohnerzahlen aus.
3. Geben Sie die Namen aller Länder zusammen mit deren Einwohnerzahlen aus sowie dem Namen
des Kontinents, in dem das Land liegt, und wie viele Einwohner insgesamt in diesem Kontinent
liegen.
4. Geben Sie die Namen aller Länder zusammen mit deren Einwohnerzahl aus sowie dem Namen
des Kontinents, in dem das Land liegt, und den weltweiten Rang gemessen an der Einwohnerzahl.
Sortieren Sie die Ausgabe nach dem Rang, sodass z.B. China mit Rang 1 ganz oben steht, weil es
das Land mit weltweit den meisten Einwohnern ist.
5. Wie bei der vorherigen Aufgabe, bloß dass der Rang innerhalb des Kontinents angegeben wird. Nun
stehen also Australien, Brasilien, Deutschland, die vereinigten Staaten, China und Nigeria jeweils
mit Rang 1 ganz oben, weil sie die einwohnerstärksten Länder in ihrem Kontinent sind.
6. Was bedeuten die Werte in der vierten Spalte der folgenden Fensteranfrage?
SELECT name, einwohner, flaeche, SUM(flaeche) OVER (ORDER BY einwohner)
FROM land ORDER BY einwohner
Aufgabe 2: Rekursion mit SQL
(1 P.)
Beantworten Sie unten stehende Anfrage mit einer rekursiven SQL-Anfrage auf der folgenden Tabelle
fernbus 1 :
CREATE TABLE fernbus (
busnr INT PRIMARY KEY,
von VARCHAR(31),
nach VARCHAR(31),
dauer INT,
-- in Minuten
preis INT);
-- in Euro
Was ist der günstigste Weg, mit Fernbussen von Kaiserslautern nach Hamburg zu kommen? Die Fahrt
soll insgesamt nicht länger als 1200 Minuten (20h) dauern. Wie oft und wo muss umgestiegen werden?
1 Auf
der Vorlesungswebseite finden Sie das Tabellenschema samt Beispieldaten zum Download.
1
Datenbankanwendung WS 2014/15
Prof. Dr.-Ing. Sebastian Michel
MSc. Johannes Schildgen
TU Kaiserslautern, FB Informatik – Lehrgebiet Informationssysteme http://wwwlgis.informatik.uni-kl.de
Übungsblatt 6: Ausgabe 02.12.2014, Präsentation 11.12.2014
Aufgabe 3: Relationenkalkül
(1 P.)
Die im folgenden dargestellten Relationen stellen die Liste der Folgen der Fernsehreihe Tatort sowie der
Schauspieler dar.
Folge
Sender
Ermittler
Thiel und Boerne
Ballauf und Schenk
Odenthal und Kopper
Stark
Sender
WDR
WDR
SWR
RBB
Folge
831
834
900
907
921
922
Titel
Hinkebein
Kinderland
Zirkuskind
Der Hammer
Blackout
Vielleicht
spielt mit
PID
101
102
103
104
104
103
Folge
900
900
907
907
831
831
Rolle
Lena Odenthal
Mario Kopper
Frank Thiel
Karl-Friedrich Boerne
Karl-Friedrich Boerne
Frank Thiel
PID
101
102
103
104
105
Ermittler
Thiel und Boerne
Ballauf und Schenk
Odenthal und Kopper
Thiel und Boerne
Odenthal und Kopper
Stark
Schauspieler
Name
Ulrike Folkerts
Andreas Hoppe
Axel Prahl
Jan Josef Liefers
Boris Aljinovic
Fall
21
53
59
25
60
37
Geboren
1961-05-14
1960-06-01
1960-03-26
1964-08-08
1967-06-23
a) Formulieren Sie folgende Anfrage mit Hilfe von SQL:
Welche Schauspieler haben in allen Tatort-Folgen mit den Ermittlern Thiel und Boerne
mitgespielt?
b) Formulieren Sie folgende Anfrage mit Hilfe der relationalen Algebra:
Welche Schauspieler, die im Jahr 1960 oder früher geboren sind, spielten in einem
Tatort des Senders SWR mit?
c) Formulieren Sie folgende Anfrage mit Hilfe des relationalen Tupelkalküls:
Welche Fernsehsender produzierten für jedes ihrer Ermittlerteams mindestens 25
Fälle?
d) Formulieren Sie folgende Anfrage mit Hilfe der relationalen Domänenkalküls:
In welcher Tatort-Folge hat mindestens ein Schauspieler mitgespielt, der älter als Jan
Josef Liefers ist?
Aufgabe 4: Relationenkalkül
(0 P.)
Formulieren Sie die Anfragen aus Aufgabe 3 jeweils auch in SQL, relationaler Algebra, dem relationalen
Tupelkalkül sowie Domänenkalkül.
2
Herunterladen