Lösung - WI

Werbung
Datenbanksysteme 2
WS 11/12
Fachbereich Angewandte Informatik
Dipl.-Inf. Christian Pape
3. Übung
Aufgabe 1:
Formulieren Sie die folgenden Ausdrücke in SQL:
a.) Erstelle eine 3-spaltige Liste mit Namen. Der in der ersten Spalte genannte Angestellte soll der direkte Vorgesetzte des in der zweiten Spalte
angegebenen sein und der in der zweiten Spalte angegebene der direkte
Vorgesetzte desjenigen aus der letzten Spalte.
SELECT P0.PNAME "Ebene 0", P1.PNAME "Ebene 1", P2.PNAME
"Ebene 2" FROM PERS P0, PERS P1, PERS P2 WHERE P0.PNR=P1.MNR
AND P1.PNR=P2.MNR
Ebene 0
Bigboss
Bigboss
Bigboss
Bigboss
Ebene 1
Miniboss
Miniboss
Gerneboss
Gerneboss
Ebene 2
Apache
Sioux
Cherokee
Mohican
b.) Es sollen die Personalnummern, die Namen und die Personalnummern
der jeweiligen Vorgsetzten aller Mitarbeiter ausgegeben werden, die
mindestens 30 Jahre alt sind, und zwar aufsteigend sortiert nach der
Personalnummer der Vorgesetzten. Bei gleichen Vorgesetzten soll als
sekundäres Sortierkriterium der Betrag der Gesamtbezüge (aufsteigend)
genommen werden.
SELECT PNR, PNAME, MNR FROM PERS WHERE PALTER>=30 AND
NOT MNR IS NULL ORDER BY MNR, PGEHALT+PBONUS
PNR
2
45
46
47
102
PNAME
Adlatus
Miniboss
Apache
Sioux
Mohican
MNR
1
1
45
45
100
c.) Es sollen Nummern und Starttermine der Projekte ausgegeben werden,
deren Manager jünger als 30 Jahre sind. Die Ausgabe soll aufsteigend
nach der Abteilungsnummer des Projektleiters sortiert sein.
SELECT A.JNR, A.JBEGINN FROM PROJ A WHERE A.JMNR IN
(SELECT B.PNR FROM PERS B WHERE B.PALTER<30)
ORDER BY (SELECT C.ANR FROM PERS C WHERE C.PNR=A.JMNR)
JNR
2
3
1
JBEGINN
01-FEB-94
05-JUN-96
01-SEP-97
Aufgabe 2:
Formulieren Sie die folgenden Ausdrücke in SQL:
a.) Es ist eine Liste aller Theaterstücke zu erstellen, die neben dem Titel
auch die Anzahl der in dem Stück vorkommenden Figuren umfaßt. Die
Ausgabe soll absteigend nach der Anzahl sortiert sein.
SELECT TITEL, (SELECT COUNT(*) FROM ROLLE WHERE DRAMA.TITEL=ROLLE.TITEL)
FIGUREN FROM DRAMA ORDER BY FIGUREN DESC
TITEL
Faust
Maria Stuart
Tell
Wallenstein
Iphigenie
Nathan
Zerbrochene Krug
FIGUREN
3
2
2
2
1
1
0
b.) Für jeden Dichter soll die Anzahl seiner Stücke sowie das maximale, das
minimale und das durchschnittliche Alter des Autors bei der Uraufführung seiner Stücke berechnet werden. Diese Ausgabe soll aufsteigend
nach Dichternamen sortiert sein.
SELECT DRAMA.AUTOR, COUNT(*) STUECKE,
AVG(DRAMA.U_JAHR-DICHTER.G_JAHR) ALTERSDURCHSCHNITT,
MIN(DRAMA.U_JAHR-DICHTER.G_JAHR) ALTERSMINIMUM,
MAX(DRAMA.U_JAHR-DICHTER.G_JAHR) ALTERSMAXIMUM FROM
DRAMA, DICHTER WHERE DRAMA.AUTOR=DICHTER.AUTOR GROUP
BY DRAMA.AUTOR ORDER BY DRAMA.AUTOR
AUTOR
Goethe
Kleist
Lessing
Schiller
STUECKE
2
1
1
3
ALTERSDURCHSCHNITT
37.5
29
50
42
ALTERSMINIMUM
34
29
50
40
ALTERSMAXIMUM
41
29
50
45
Tabellen Dichter-DB:
DICHTER
DRAMA
ROLLE
AUTOR
Schiller
Goethe
Kleist
Lessing
G_ORT
Marbarch
Frankfurt
Kamenz
Frankfurt
TITEL
Maria Stuart
Wallenstein
Tell
Iphigenie
Faust
Zerbrochene Krug
Nathan
FIGUR
Faust
Mephisto
Gretchen
Wallenstein
Piccolomini
Tell
Geßler
Maria Stuart
Elisabeth
Iphigenie
Nathan
SCHAUSPIELER
DARSTELLER
U_ORT
Weimar
Jena
Weimar
Mannheim
Frankfurt
Weimar
Bonn
TITEL
Faust
Faust
Faust
Wallenstein
Wallenstein
Tell
Tell
Maria Stuart
Maria Stuart
Iphigenie
Nathan
PNR
1
2
3
4
5
6
7
8
PNR
1
1
2
2
2
2
4
4
4
5
5
G_JAHR
1759
1749
1777
1729
W_ORT
Frankfurt
Frankfurt
Dresden
Jena
Berlin
Frankfurt
Marbach
Bonn
FIGUR
Faust
Wallenstein
Faust
Nathan
Mephisto
Tell
Iphigenie
Gretchen
Maria Stuart
Tell
Piccolomini
U_JAHR
1800
1799
1804
1783
1790
1806
1779
AUTOR
Schiller
Schiller
Schiller
Goethe
Goethe
Kleist
Lessing
R_GESCHLECHT
Held
Schurke
Opfer
Held
Schurke
Held
Schurke
Held
Schurke
Held
Held
NAME
Schön
Müller
Beck
Schiller
George
Mann
Krug
Platte
A_ORT
Jena
Frankfurt
Fulda
Fulda
Frankfurt
Jena
Berlin
Kaiserslautern
Jena
Berlin
Kaiserslautern
A_JAHR
1991
1992
1990
1991
1992
1993
1991
1993
1992
1991
1992
THEATER
Schillertheater
Schauspiel
Schloßtheater
Schloßtheater
TAT
Schillertheater
Theater des Westens
Pfalztheater
Schillertheater
Theater des Westens
Pfalztheater
Tabellen PERS-DB:
PERS
ABT
PROJ
PNR
1
2
45
46
47
100
101
102
300
ANR
45
55
56
100
JNR
1
2
3
4
5
6
MITARB
PNAME
Bigboss
Adlatus
Miniboss
Apache
Sioux
Gerneboss
Cherokee
Mohican
Goldon
PALTER
50
30
40
40
40
25
25
30
28
PGEHALT
100000
40000
80000
40000
40000
50000
60000
40000
85000
PBONUS
10000
10000
0
10000
15000
0
30000
0
0
MNR
1
1
45
45
1
100
100
1
ANR
56
56
45
45
45
55
55
55
100
ANAME
Beschaffung
Produktion
Leitung
Vertrieb
JNAME
Jahresabschluß
NT 4.0
ABC-Analyse
ISO 9000
-
JNR
1
1
2
2
2
3
3
4
4
5
5
5
5
6
PNR
300
1
100
1
101
100
1
46
1
45
46
47
1
1
JMNR
300
100
100
46
-
JBEGINN
01.09.1995
01.02.1994
05.06.1996
01.01.1994
15.06.1996
-
ZEIT_ANTEIL
100
20
80
5
80
20
2
100
10
-
JENDE
31.07.1996
20.06.1995
-
STUNDEN
200
100
200
50
400
10
50
40
-
JSITZUNG
10:30
11:00
8:00
14:00
-
Herunterladen