DQL - ÜBUNGEN

Aufgabe 1 (am PC)

Gegeben sind folgende Relationen:

Welches Ergebnis liefern die folgenden SQL-Abfragen? Überprüfen Sie ihre DQL-Statements anhand der in 2.7.1 erstellten Datenbank namens „Rechnerverwaltung“ (Sind Fehler enthalten, so sind diese zu markieren)

a)

SELECT I.RNr
FROM Installationen I, Programm P
WHERE I.RNr=P.RNr AND Bereich='Grafik';

b)

SELECT StudAss, SUM(Gehalt) AS Ges
FROM Assistent
GROUP BY StudAss;

c)

SELECT StudAss, SUM(Gehalt)
FROM Assistent
GROUP BY StudAss
HAVING SUM(Gehalt)>4;

d)

SELECT SUM(Speicher)
FROM Rechner
WHERE Leist=3;

Aufgabe 2

In einem Weinkeller werden viele Weinflaschen (WEIN) gelagert. Jede Weinflasche wurde von einem Winzer (WINZER) befüllt und kann anhand der Datenbank leicht in den Regalreihen (KELLER) des Kellers gefunden werden. Es kann dabei angenommen werden, dass immer ausreichend Platz in den Regalen des Kellers vorhanden ist. Wird eine Flasche aus dem Keller entfernt, wird ein entsprechender Eintrag (PROTOKOLL) vermerkt. Wenn der Eigentümer des Kellers eine Flasche selbst trinkt, wird im Protokoll als Verwendung ’Eigenbedarf’ eingetragen.

Relation Winzer
wnrnamestrasseplzorttelefon
1Lackner TinnacherSteinbach 84567Gamlitz1234567
2Weingut PragerWeissenkirchen 483610Weissenkirchen1234567
3Weingut Emmerich KnollUnterloiben 103601Unterloiben12344457
4Weingut F.X. PichlerUnterloiben 273601Unterloiben11122233
5Weingut SpätleseWeintalstrasse 231136Wien
6Freie Weingarten WachauKremstalstrasse 233600Krems2304002
7Stiftskellerei
8Weingut BieglerWienerstrasse 883502Gumpoldskirchen54564565
Relation Wein
nrbezeichnungsortejahrgangpreisanzahlwnrknr
1Riesling KellerbergRiesling199928.002441
2LoibenbergGr. Veltliner200019.003642
3Ried KreutlesGr. Veltliner200019.001534
4Riesling SmaragdRiesling200021.003025
5GrauburgunderGrauburgunder200316.007216
6MorillonChardonnay20039.005517
7Riesling FederspielRiesling20039.908063
8ChardonnayChardonnay20039.001688
Relation Keller
knrreiheregalfach
1111
2112
3113
4121
5122
6211
7212
8221
Relation Protokoll
pnrnrpDatumverwendunganzahl
112003-01-12Geschenk an Herrn Berger12
232003-07-10Eigenbedarf2
312003-07-23Eigenbedarf4
462003-08-14Geschenk (Frau Kunz)6
512003-08-27Glasbruch1
642003-11-03Korkgeruch1
762003-11-03Eigenbedarf3

Folgende SQL-Abfragen sind gesucht! Überprüfen Sie ihre DQL-Statements anhand der in 2.7.1 erstellten Datenbank namens „Winzerverwaltung“

Basis Aufgaben 1-8)

1) Ermittle alle Weine (Bezeichnung, Preis) die unter 10.00 € kosten.

bezeichnungpreis
Morillon9
Riesling Federspiel9.9
Chardonnay9

2) Ermittle alle Weine (Bezeichnung, Anzahl) mit der Sorte Chardonnay, bei denen noch mehr als 20 Flaschen vorhanden sind.

bezeichnunganzahl
Morillon55

3) Ermittle alle Winzer (Name), die die Sorte Riesling verkaufen.

name
Weingut F.X. Pichler
Weingut Prager
Frei Weingarten Wachau

4) Ermittle alle Weine (Bezeichnung), die von einem Winzer in einem mit „G“ beginnenden Ort verkauft werden.

bezeichnungnameort
GrauburgunderLackner TinnacherGamlitz
MorillonLackner TinnacherGamlitz
ChardonnayWeingut BieglerGumpoldskirchen

5) Ermittle alle Weine (Bezeichnung und Sorte) und das Protokolldatum der Entnahme, die für den Eigenbedarf verwendet wurden.

bezeichnungsortpDatum
Ried KreutlesGr. Veltliner2003-07-10
Riesling KellerbergRiesling2003-07-23
MorillonChardonnay2003-11-03

6) Ermittle alle Weine (Bezeichnung und Sorte), die im Keller in der Reihe 1 gelagert werden.

bezeichnungsorte
Riesling KellerbergRiesling
LoibenbergGr. Veltliner
Ried KreutlesGr. Veltliner
Riesling SmaragdRiesling
Riesling FederspielRiesling

7) Ermittle alle Weine (Bezeichnung und Sorte) inkl. Winzer (Name), die im Keller in der Reihe 1 gelagert werden.

bezeichnungsortename
Riesling KellerbergRieslingWeingut F.X. Pichler
LoibenbergGr. VeltlinerWeingut F.X. Pichler
Ried KreutlesGr. VeltlinerWeingut Emmerich Knoll
Riesling SmaragdRieslingWeingut Prager
Riesling FederspielRieslingFreie Weingarten Wachau

8) Ermittle alle Weine (Bezeichnung) die im Keller in der Reihe 2 gelagert werden, nach dem Jahr 2000 (jahrgang) produziert wurden und mehr als 15€ (preis) kosten.

bezeichnungjahrgangpreis
Grauburgunder200316

Erweiterte Aufgaben a-f)

a) Geben Sie für die Sorte ’Riesling’ die Namen aller Winzer sowie die Flaschenanzahl aus. Sortieren Sie dabei nach der Flaschenanzahl absteigend.

nameanzahl
Freie Weingarten Wachau80
Weingut Prager30
Weingut F.X. Pichler24

b) Ermitteln Sie für jeden Winzer den durchschnittlichen Flaschenpreis und die Gesamtanzahl der Flaschen im Keller. Berücksichtigen Sie dabei nur Winzer, von denen bekannt ist, aus welchem Ort sie kommen. Sortieren Sie die Liste nach dem Preis absteigend.

namedurchschnittspreisgesamtanzahl
Weingut F.X. Pichler23.5060
Weingut Prager21.0030
Weingut Emmerich Knoll19.0015
Lackner Tinnacher12.50127
Freie Weingarten Wachau9.9080
Weingut Biegler9.0016

c) Geben Sie eine Liste aller Weinbezeichnungen sowie den Namen des erzeugenden Winzers aus, von denen im Jahr 2003 keine Flasche getrunken worden ist (Verwendung in Tabelle Protokoll =’Eigenbedarf’). Sie brauchen dabei nur Winzer berücksichtigen, von denen mindestens eine Flasche im Keller vorhanden ist.

nrbezeichnungname
2LoibenbergWeingut F.X. Pichler
4Riesling SmaragdWeingut Prager
5GrauburgunderLackner Tinnacher
7Riesling FederspielFreie Weingarten Wachau
8ChardonnayWeingut Biegler

d) Suchen Sie die Winzer, von denen der Kellereigentümer die meisten Flaschen getrunken (Verwendung in Tabelle Protokoll = ’Eigenbedarf’) hat. Geben Sie jeweils den Namen des Winzers sowie die Gesamtkosten des von diesem Winzer konsumierten Weines aus.

nameanzahlkosten
Weingut F.X. Pichler4112.00

e) Geben Sie fur jeden Winzer aus,

nameanzahlpreisklasse
Freie Weingarten Wachau80niedrig
Lackner Tinnacher55niedrig
Lackner Tinnacher72mittel
Weingut Biegler16niedrig
Weingut Emmerich Knoll15mittel
Weingut F.X. Pichler24gehoben
Weingut F.X. Pichler36mittel
Weingut Prager30gehoben

f) Erstellen Sie eine Liste, die angibt, wie viele Flaschen jedes in der Datenbank gespeicherten Winzers sich im Keller befinden. Sortieren Sie dabei nach der Flaschenanzahl absteigend.

nameanzahl
Lackner Tinnacher127
Freie Weingarten Wachau80
Weingut F.X. Pichler60
Weingut Prager30
Weingut Biegler16
Weingut Emmerich Knoll15
Weingut Spätlese
Stiftskellerei