Gegeben sind folgende Relationen:
Abfragen:
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;
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 | |||||
|---|---|---|---|---|---|
| wnr | name | strasse | plz | ort | telefon |
| 1 | Lackner Tinnacher | Steinbach 8 | 4567 | Gamlitz | 1234567 |
| 2 | Weingut Prager | Weissenkirchen 48 | 3610 | Weissenkirchen | 1234567 |
| 3 | Weingut Emmerich Knoll | Unterloiben 10 | 3601 | Unterloiben | 12344457 |
| 4 | Weingut F.X. Pichler | Unterloiben 27 | 3601 | Unterloiben | 11122233 |
| 5 | Weingut Spätlese | Weintalstrasse 23 | 1136 | Wien | |
| 6 | Freie Weingarten Wachau | Kremstalstrasse 23 | 3600 | Krems | 2304002 |
| 7 | Stiftskellerei | ||||
| 8 | Weingut Biegler | Wienerstrasse 88 | 3502 | Gumpoldskirchen | 54564565 |
| Relation Wein | |||||||
|---|---|---|---|---|---|---|---|
| nr | bezeichnung | sorte | jahrgang | preis | anzahl | wnr | position |
| 1 | Riesling Kellerberg | Riesling | 1999 | 28.00 | 24 | 4 | 1 |
| 2 | Loibenberg | Gr. Veltliner | 2000 | 19.00 | 36 | 4 | 2 |
| 3 | Ried Kreutles | Gr. Veltliner | 2000 | 19.00 | 15 | 3 | 4 |
| 4 | Riesling Smaragd | Riesling | 2000 | 21.00 | 30 | 2 | 5 |
| 5 | Grauburgunder | Grauburgunder | 2003 | 16.00 | 72 | 1 | 6 |
| 6 | Morillon | Chardonnay | 2003 | 9.00 | 55 | 1 | 7 |
| 7 | Riesling Federspiel | Riesling | 2003 | 9.90 | 80 | 6 | 3 |
| 8 | Chardonnay | Chardonnay | 2003 | 9.00 | 16 | 8 | 8 |
| Relation Keller | |||
|---|---|---|---|
| knr | reihe | regal | fach |
| 1 | 1 | 1 | 1 |
| 2 | 1 | 1 | 2 |
| 3 | 1 | 1 | 3 |
| 4 | 1 | 2 | 1 |
| 5 | 1 | 2 | 2 |
| 6 | 2 | 1 | 1 |
| 7 | 2 | 1 | 2 |
| 8 | 2 | 2 | 1 |
| Relation Protokoll | ||||
|---|---|---|---|---|
| pnr | nr | pDatum | verwendung | anzahl |
| 1 | 1 | 2003-01-12 | Geschenk an Herrn Berger | 12 |
| 2 | 3 | 2003-07-10 | Eigenbedarf | 2 |
| 3 | 1 | 2003-07-23 | Eigenbedarf | 4 |
| 4 | 6 | 2003-08-14 | Geschenk (Frau Kunz) | 6 |
| 5 | 1 | 2003-08-27 | Glasbruch | 1 |
| 6 | 4 | 2003-11-03 | Korkgeruch | 1 |
| 7 | 6 | 2003-11-03 | Eigenbedarf | 3 |
Folgende SQL-Abfragen sind gesucht! Überprüfen Sie ihre DQL-Statements anhand der in 2.7.1 erstellten Datenbank namens „Winzerverwaltung“
a) Geben Sie für die Sorte ’Riesling’ die Namen aller Winzer sowie die Flaschenanzahl aus. Sortieren Sie dabei nach der Flaschenanzahl absteigend.
| name | anzahl |
|---|---|
| Freie Weingarten Wachau | 80 |
| Weingut Prager | 30 |
| Weingut F.X. Pichler | 24 |
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.
| name | durchschnittspreis | gesamtanzahl |
|---|---|---|
| Weingut F.X. Pichler | 23.50 | 60 |
| Weingut Prager | 21.00 | 30 |
| Weingut Emmerich Knoll | 19.00 | 15 |
| Lackner Tinnacher | 12.50 | 127 |
| Freie Weingarten Wachau | 9.90 | 80 |
| Weingut Biegler | 9.00 | 16 |
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.
| nr | bezeichnung | name |
|---|---|---|
| 2 | Loibenberg | Weingut F.X. Pichler |
| 4 | Riesling Smaragd | Weingut Prager |
| 5 | Grauburgunder | Lackner Tinnacher |
| 7 | Riesling Federspiel | Freie Weingarten Wachau |
| 8 | Chardonnay | Weingut 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.
| name | anzahl | kosten |
|---|---|---|
| Weingut F.X. Pichler | 4 | 112.00 |
e) Geben Sie fur jeden Winzer aus,
| name | anzahl | preisklasse |
|---|---|---|
| Freie Weingarten Wachau | 80 | niedrig |
| Lackner Tinnacher | 55 | niedrig |
| Lackner Tinnacher | 72 | mittel |
| Weingut Biegler | 16 | niedrig |
| Weingut Emmerich Knoll | 15 | mittel |
| Weingut F.X. Pichler | 24 | gehoben |
| Weingut F.X. Pichler | 36 | mittel |
| Weingut Prager | 30 | gehoben |
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.
| name | anzahl |
|---|---|
| Lackner Tinnacher | 127 |
| Freie Weingarten Wachau | 80 |
| Weingut F.X. Pichler | 60 |
| Weingut Prager | 30 |
| Weingut Biegler | 16 |
| Weingut Emmerich Knoll | 15 |
| Weingut Spätlese | |
| Stiftskellerei |