Übungsblatt praktische Übung zu datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture...

26
FACULTY OF COMPUTER SCIENCE Übungsblatt Praktische Übung zu Datenbanksysteme 1 Wintersemester 2019/2020 Arbeitsgruppe Datenbanken und Software Engineering Magdeburg, 16. Dezember 2019 Prof. Dr. Gunter Saake, Marcus Pinnecke, M.Sc. Späteste Abgabe ist Montag, 20. Januar 2020, 23:59 Uhr per E-Mail an Ihren Tutor. Hinweis: Versenden Sie Ihre Lösungen als Gesamtpaket (im PDF oder SQL Format) und nicht einzeln! Verwenden Sie hierzu die im Anhang befindliche Vorlage. Die Verwendung von SQLite 3 wird empfohlen. Achtung: Diese Übung ist eine Einzelabgabe, so dass eine Abgabe in Ihrer bisherigen Übungsgruppe nicht zulässig ist. Sobald Sie Ihre Lösung abgegeben haben, gilt Ihre Abgabe als final. Bei diesem Übungszettel handelt es sich um den gesonderten praktischen Übungszettel, der den zweiten Teil der Klausurzulassung darstellt. Entgegen der ursprünglichen Bekanntgabe zum Beginn des Semsters können Sie die Aufgaben dieses Zettels in Einzelarbeit an einem Ort Ihrer Wahl bearbeiten (d.h., es wird keinen festgelegten (mehrstündigen) Termin in Rechnerpools der Fakultät geben). Zum Erlangen der Klausurzulassung ist es nötig, dass Sie mindestens x % der Aufgabenpunkte auf diesen Zettel durch korrekte Lösung und fristgerechter Abgabe erhalten. Wie hoch x genau ist, wird durch die Anzahl der Bonuspunkte bestimmt, die Sie im Laufe des Semsters erworben haben: x = 80 bei 0 Bonuspunkten (entspricht 20 Aufgabenpunkten) x = 50 bei 1 Bonuspunkt (entspricht 13 Aufgabenpunkten) x = 35 bei 2 Bonuspunkten (entspricht 9 Aufgabenpunkten) x = 28 bei 3 Bonuspunkten (entspricht 7 Aufgabenpunkten) x = 25 ab 4 Bonuspunkten (entspricht 6 Aufgabenpunkten) Dieser Übungszettel umfasst 34 Aufgabenpunkte, wobei Sie 100% erreicht haben, wenn Sie 25 Aufga- bepunkte gesammelt haben. Es steht Ihnen also frei einige Aufgaben oder Teilaufgaben auszulassen, um dennoch die volle Anzahl der Aufgabenpunkte zu erhalten. Sie erhalten für jede richtige Lösung einer Teilaufgabe einen Aufgabenpunkt. Eine Lösung ist richtig, wenn diese das korrekte Ergebnis liefert, eine SQLite-kompatible SQL Anfrage darstellt und semantisch die Aufgabenanforderung umsetzt. Sie erhalten insbesondere keinen Aufgabenpunkt, wenn Ihre Abgabe syntaktische Fehler enthält (d.h., Ihre Lösung kein valides SQLite SQL darstellt), oder Sie zwar eine syntaktisch korrekte Abfrage formulieren, die allerdings künstlich und ausschließlich die zur Hilfe bereitgestellten Ergebnisse produziert. Zur Erleichterung Ihrer Arbeit finden Sie im Anhang dieses Zettels weitere Hilfestellungen.. Sollten Sie sich über die Anzahl Ihrer Bonuspunkte unsicher sein, fragen Sie bitte bis spätestens 1 Woche nach Ausgabe dieses Zettels bei Ihrem Tutor nach. Bedenken Sie bitte, dass auch nicht von Ihnen gewählte Aufgaben klausurelevante Themen enthalten. Viel Erfolg! 16. Dezember 2019 1

Upload: others

Post on 17-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Übungsblatt Praktische Übung zu Datenbanksysteme 1 Wintersemester 2019/2020Arbeitsgruppe Datenbanken und Software Engineering Magdeburg, 16. Dezember 2019Prof. Dr. Gunter Saake, Marcus Pinnecke, M.Sc.

Späteste Abgabe ist Montag, 20. Januar 2020, 23:59 Uhr per E-Mail an Ihren Tutor.

Hinweis: Versenden Sie Ihre Lösungen als Gesamtpaket (im PDF oder SQL Format) und nicht einzeln!Verwenden Sie hierzu die im Anhang befindliche Vorlage. Die Verwendung von SQLite 3 wird empfohlen.

Achtung: Diese Übung ist eine Einzelabgabe, so dass eine Abgabe in Ihrer bisherigen Übungsgruppenicht zulässig ist. Sobald Sie Ihre Lösung abgegeben haben, gilt Ihre Abgabe als final.

Bei diesem Übungszettel handelt es sich um den gesonderten praktischen Übungszettel, der den zweitenTeil der Klausurzulassung darstellt. Entgegen der ursprünglichen Bekanntgabe zum Beginn des Semsterskönnen Sie die Aufgaben dieses Zettels in Einzelarbeit an einem Ort Ihrer Wahl bearbeiten (d.h., es wirdkeinen festgelegten (mehrstündigen) Termin in Rechnerpools der Fakultät geben).

Zum Erlangen der Klausurzulassung ist es nötig, dass Sie mindestens x% der Aufgabenpunkte auf diesenZettel durch korrekte Lösung und fristgerechter Abgabe erhalten. Wie hoch x genau ist, wird durch dieAnzahl der Bonuspunkte bestimmt, die Sie im Laufe des Semsters erworben haben:

• x = 80 bei 0 Bonuspunkten (entspricht 20 Aufgabenpunkten)• x = 50 bei 1 Bonuspunkt (entspricht 13 Aufgabenpunkten)• x = 35 bei 2 Bonuspunkten (entspricht 9 Aufgabenpunkten)• x = 28 bei 3 Bonuspunkten (entspricht 7 Aufgabenpunkten)• x = 25 ab 4 Bonuspunkten (entspricht 6 Aufgabenpunkten)

Dieser Übungszettel umfasst 34 Aufgabenpunkte, wobei Sie 100% erreicht haben, wenn Sie 25 Aufga-bepunkte gesammelt haben. Es steht Ihnen also frei einige Aufgaben oder Teilaufgaben auszulassen, umdennoch die volle Anzahl der Aufgabenpunkte zu erhalten. Sie erhalten für jede richtige Lösung einerTeilaufgabe einen Aufgabenpunkt. Eine Lösung ist richtig, wenn diese das korrekte Ergebnis liefert, eineSQLite-kompatible SQL Anfrage darstellt und semantisch die Aufgabenanforderung umsetzt. Sie erhalteninsbesondere keinen Aufgabenpunkt, wenn Ihre Abgabe syntaktische Fehler enthält (d.h., Ihre Lösung keinvalides SQLite SQL darstellt), oder Sie zwar eine syntaktisch korrekte Abfrage formulieren, die allerdingskünstlich und ausschließlich die zur Hilfe bereitgestellten Ergebnisse produziert. Zur Erleichterung IhrerArbeit finden Sie im Anhang dieses Zettels weitere Hilfestellungen..

Sollten Sie sich über die Anzahl Ihrer Bonuspunkte unsicher sein, fragen Sie bitte bis spätestens 1 Wochenach Ausgabe dieses Zettels bei Ihrem Tutor nach.

Bedenken Sie bitte, dass auch nicht von Ihnen gewählte Aufgaben klausurelevante Themen enthalten.

Viel Erfolg!

16. Dezember 2019 1

Page 2: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Inhaltsverzeichnis

Übungsaufgaben

• Aufgabe 1 (Seite 3)

• Aufgabe 2 (Seite 4)

• Aufgabe 3 (Seite 4)

• Aufgabe 4 (Seite 5)

• Aufgabe 5 (Seite 6)

• Aufgabe 6 (Seite 7)

• Aufgabe 7 (Seite 8)

• Aufgabe 8 (Seite 9)

• Aufgabe 9 (Seite 10)

• Aufgabe 10 (Seite 11)

Hilfestellung und Abgabevorlage

• Hinweise zur SQL Sandbox (Seite 14)

• Vorlage zur Abgabe Ihrer Lösungen (abgabe.sql) (Seite 16)

Wenn Sie die SQL Sandbox nicht verwenden wollen:

• SQLite Skript zur Erstellung der zu verwendenden Datenbankinstanz (create.sql) (Seite 18)

• Beispielergebnisse für die geforderten Anfragen (Seite 22)

16. Dezember 2019 2

Page 3: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Übungsaufgaben

Aufgabe Praktische Übung.1 (1+1+1=3)Erstellen Sie zu folgenden Sachverhalten die nötigen DDL-Statements.

1. Erzeugen Sie eine Tabelle Glas mit den Attributen Gname(VARCHAR2(15)) und Gid(NUMBER).Dabei sei Gid der Primärschlüssel.

2. Erzeugen Sie eine Tabelle Zutat mit den Attributen Zname(VARCHAR2(15)), Zid(NUMBER) undAlkoholgehalt(NUMBER). Zid ist der Primary Key. Der Defaultwert für Alkoholgehalt ist 0.

3. Erzeugen Sie eine Tabelle Cocktail mit den Attributen Cname(VARCHAR2(20)), Cid(NUMBER),Alkoholisch(CHAR(1)) und Gid(NUMBER). Cid sei der Primary Key, und Gid ein Foreign Key, derTabelle Glas(Gid) referenziert. Weiterhin darf der Cname nicht Absinth sein.

Aufgabe Praktische Übung.2 (1+1=2)Fügen Sie die folgenden Daten in das von Ihnen erstellte Datenschema ein.

1. Fügen Sie der Tabelle Glas die folgenden Werte hinzu:

Gid Gname1 Floete2 Schwenker3 Kelch

2. Zusätzlich fügen Sie in Tabelle Zutat die folgenden Werte ein:

Zid Zname Alkoholgehalt1 Tequilla 342 Curacao Triple 363 Limettensaft 0

Aufgabe Praktische Übung.3 (1+1+1+1=4)Nutzen Sie das Ihnen zur Verfügung gestellte SQL-Script create.sql. Nutzen Sie dieses Schema für dieLösung folgenden natürlichsprachlichen Sachverhalte:

16. Dezember 2019 3

Page 4: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

1. Welche Cocktails gibt es in der Datenbank?

2. Welche Lokale haben die Postleitzahlen 39108?

3. Gib alle Postleitzahlen aus. (ohne Duplikate)

4. Welche Zutat hat einen Alkoholgehalt, der größer 30 ist?

Aufgabe Praktische Übung.4 (1+1+1+1=4)Verwenden Sie in dieser Aufgabe ebenfalls das Schema aus Aufgabe 12.3. (ohne Veränderung) Nutzen Siefür die Lösung in SQL die in der Vorlesung vorgestellten Möglichkeiten.

1. In einem Trinkspiel soll jeder gegen jeden antreten. Geben Sie die zugehörige Liste der Spielpaare(Name, Name) aus.

2. Geben Sie die Namen der Gläser und Cocktails in einer einspaltigen Liste/Tabelle aus.

3. Für welche Cocktails gibt es noch kein Rezept in der Datenbank?

4. In welchen Lokalen wird kein Knieweich serviert?

Aufgabe Praktische Übung.5 (1+1+1+1=4)Verwenden Sie in dieser Aufgabe ebenfalls das Schema aus Aufgabe 12.3. (ohne Veränderung) Nutzen Siefür die Lösung in SQL die in der Vorlesung vorgestellten Möglichkeiten.

1. Fügen Sie in Tabelle Cocktail einen neuen Cocktail Lila Kuh ein. Der Cocktail ist alkohlisch, wird ineinem Schwenker serviert & hat die ID 18.

2. Der Cocktail Lila Kuh heisst eigentlich Blaue Kuh. Korrigieren Sie diesen Fehler.

3. Der Alkoholgehalt aller Zutaten des Cocktails Knieweich ist doppelt so hoch wie der eingetrageneWert. Korrigieren Sie diesen Fehler.

4. Löschen Sie das Glas Bierkrug.

Aufgabe Praktische Übung.6 (1+1+1+1=4)Verwenden Sie in dieser Aufgabe ebenfalls das Schema aus Aufgabe 12.3. (ohne Veränderung) Nutzen Siefür die Lösung in SQL die in der Vorlesung vorgestellten Möglichkeiten.

16. Dezember 2019 4

Page 5: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

1. Welche Lokale bieten die Cocktails mit der ID 8 oder ID 11 an?

2. Welcher Cocktail ist alkoholisch und wird im Cocktailglas serviert?

3. Welche Gläser werden nie benutzt?

4. Über welche Cocktails wird eine Unterhaltung geführt?

Aufgabe Praktische Übung.7 (1+1+1=3)Verwenden Sie in dieser Aufgabe ebenfalls das Schema aus Aufgabe 12.3. (ohne Veränderung) Nutzen Siefür die Lösung in SQL die in der Vorlesung vorgestellten Möglichkeiten.

1. Welche Zutaten haben einen Alkoholgehalt zwischen 0 und 50?

2. Welche Personennamen beginnen mit S?

3. Gibt es ein Lokal, dass keinen Cocktail serviert?

Aufgabe Praktische Übung.8 (1+1+1=3)Verwenden Sie in dieser Aufgabe ebenfalls das Schema aus Aufgabe 12.3. (ohne Veränderung) Nutzen Siefür die Lösung in SQL die in der Vorlesung vorgestellten Möglichkeiten.

1. Was ist der mittlere Alkoholgehalt der Zutaten? (Ohne avg-Funktion). Geben Sie das Ergebnis inPromille aus.

2. Was ist der mittlere Alkoholgehalt der Zutaten?

3. Wie viele Zutaten gibt es?

Aufgabe Praktische Übung.9 (1+1+1+1=4)In der folgenden Aufgabe sollen Ihre Kenntnisse in SQL gefestigt werden. Nutzen Sie auch wie in denAufgaben zuvor das zur Verfügung gestellte Schema.

1. Gesucht sind die Summe der Einheiten der einzelnen Cocktails die Alkohol enthalten.

2. Gesucht sind alle Cocktails mit mehr als 2 Zutaten und die Anzahl der Zutaten pro Cocktail.

16. Dezember 2019 5

Page 6: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

3. Gesucht wird der tatsächliche Alkoholgehalt je Cocktail. Der tatsächliche Alkoholgehalt eines Cock-tails berechnet sich aus der Summe über alle (Alkoholgehalt der Zutat * der Einheiten der Zutat)geteilt durch die Summe aller Einheiten. Führen Sie eine geeignete Umbennenung der Attribute derLösungsrelation durch.

4. Geben Sie für alkoholische und nicht alkoholische Getränke jeweils die Getränke aus die mehr als 4Zutaten haben.

Aufgabe Praktische Übung.10 (1+1+1=3)In der folgenden Aufgabe sollen Ihre Kenntnisse in SQL gefestigt werden. Nutzen Sie auch wie in denAufgaben zuvor das zur Verfügung gestellte Schema.

1. Legen Sie eine Sicht "Cocktail_Alkoholgehalt" mit den Attributen CID und Alkoholgehalt an.

2. Gesucht sind jeweils von jedem Lokal der Minimale und Maximale ausgeschenkte Alkoholgehalt.Benutzen Sie die dazu erstellte Sicht.

3. Erstellen Sie eine Sicht für Cocktails die möglichts viele Daten (auch aus anderen Tabellen) über denjeweiligen Cocktail enthalten.

16. Dezember 2019 6

Page 7: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

16. Dezember 2019 7

Page 8: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Hilfestellung und Abgabevorlage

Anhang (Hinweise zur SQL Sandbox)

Für korrekte Lösungen wird von Ihnen erwartet, dass Sie SQLite-kompatibles SQL gegen eine vordefinierteDatenbank schreiben. Wir empfehlen Ihnen daher die Verwendung von SQLite 3. Als Hilfestellung findenSie weiter unten SQL Skripte zum Anlegen der geforderten Datenbank, sowie die Ergebnisse der korrektenAnfragen, wenn diese gegen die gegebene Datenbankinstanz gestellt werden.

Um Ihnen das Setup zu erleichtern, stellt unsere Arbeitsgruppe Ihnen eine SQL Sandbox zur Verfügung, sodass Sie sich nur noch um die Aufgabenlösung nicht aber um die Vorbereitung kümmern müssen. Die SQLSandbox ist eine virtuelle Maschine, in der ein vorkonfiguriertes Ubuntu Linux, SQLite, sowie ein Dienstzur Abfrage und zum Test Ihrer Lösung installiert ist.

Zum Verwenden der Sandbox benötigen Sie eine Virtualisierungssoftware (wie zum Beispiel VirtualBox vonOracle) und das Image der SQL Sandbox, die wir Ihnen bereitstellen. Zur Installation, laden und installierenSie sich bitte demnach eine entsprechende Virtualisierungssoftware sowie das SQL Sandbox Image von derVorlesungswebsite herunter und starten dieses. Nach dem Login mit Benutzername sandbox und Passwortsandbox wird Ihnen nachfolgende Hilfe angezeigt und Sie können direkt mit der Bearbeitung der Aufgabebeginnen.

*** Welcome to SQL Verifier Lite ***

This sandbox will help you to master SQL-related tasks by assist you to checkwhether your SQL queries produce the expected results. However, this sandboxis intended as a help for you and does neither replace yoursubmission nor guarantee that your solutions are correct - you get all thetools needed for a correct submission already setup and a hint whether yourresults looks like the expected once.

Important: Please submit all your SQL queries, which you wantto include in your final submission, as a single file (*.sql or *.pdf) to yourtutor right in time.

In case the screen is locked, the user account name is "sandbox"and the password is "sandbox", too.

Type the following commands into this terminal:

.helpShow this help.

.show TASKRequest the result set for a particular exercise task by running theexpected query against a pre-defined database inside a sandboxedvalidator server.

You may use this result set for your information and ashint what the correct query shall return.

16. Dezember 2019 8

Page 9: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Replace TASK with one of the following strings:"12/3/1", "12/3/2", "12/3/3", "12/3/4", "12/4/1", "12/4/2", "12/4/3","12/4/4", "12/6/1", "12/6/2", "12/6/3", "12/6/4", "12/7/1", "12/7/2", "12/7/3","12/8/1", "12/8/2", "12/8/3", "12/9/1", "12/9/2", "12/9/3", "12/9/4", "12/10/1","12/10/2", or "12/10/3".

Each such string encodes the sheet number (i.e., 12), the task number (e.g., 3)and the sub-task number (e.g., 1).

EXAMPLE:.show 12/3/1

.sqlRun SQLite3 on a pre-defined database, which contains all tables and a set ofexample records to play around with.

You may use this SQL interface to formulate and refine your queries.

EXAMPLE:.sql

.test TASK QUERYRun the QUERY in a sandboxed SQLite3 database and test theproduced result set against the expected result set for the task TASK.

Replace TASK with one of the following strings:"12/3/1", "12/3/2", "12/3/3", "12/3/4", "12/4/1", "12/4/2", "12/4/3","12/4/4", "12/6/1", "12/6/2", "12/6/3", "12/6/4", "12/7/1", "12/7/2", "12/7/3","12/8/1", "12/8/2", "12/8/3", "12/9/1", "12/9/2", "12/9/3", "12/9/4", "12/10/1","12/10/2", or "12/10/3".

Replace QUERY with a valid SQL query. In case you have a chainof SQL statements (e.g., SELECT * FROM T; SELECT * FROM R), all statements willbe evaluated but only the result for the last statement will be used to compareit against the result for TASK. Especially if you create VIEWS,you must query this newly created view as the last statement in a chain ofhave some effects of the view creation.

EXAMPLE:.test 12/3/2 "SELECT * FROM cocktail;".test 12/3/2 "SELECT * FROM zutat;SELECT * FROM cocktail;"

If you have any feedback or if you found bugs, feel free to contact us (seelecture website for details).

Good luck and have fun-- Marcus Pinnecke

Hinweis: Sollte Ihnen eine grafische Benutzeroberfläche die Arbeit erleichtern, tippen Sie bitte sudostartx in die Konsole ein. Es startet dann der Ubuntu Desktop.

16. Dezember 2019 9

Page 10: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Anhang (Vorlage zur Abgabe Ihrer Lösungen (abgabe.sql))Verwenden Sie nachfolgende Vorlage für Ihre Abgabe, indem Sie Kommentare durch jeweilig sinnvolle In-halte ersetzen. Sollten Sie einzelne Aufgaben überspringen, brauchen Sie die Kommentarzeilen nicht zuentfernen.

Eine digitale Fassung dieses Scripts finden Sie auf der Vorlesungswebsite.

-- Kontaktdaten ------------------------------------------------------------------------- Ersetzen Sie diesen Kommentar durch Ihren Vor- und Zunamen-- Ersetzen Sie diesen Kommentart durch Ihre E-Mail-Adresse

-- Aufgabe 1.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 1.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 1.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 2.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 2.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 3.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 3.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 3.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 3.4 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 4.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 4.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 4.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 4.4 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 5.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 5.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

16. Dezember 2019 10

Page 11: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

-- Aufgabe 5.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 5.4 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 6.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 6.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 6.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 6.4 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 7.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 7.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 7.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 8.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 8.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 8.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 9.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 9.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 9.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 9.4 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 10.1 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 10.2 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

-- Aufgabe 10.3 -------------------------------------------------------------------------- Sofern Sie eine Lösung abgeben, ersetzen Sie diesen Kommentar durch Ihre Lösung

16. Dezember 2019 11

Page 12: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Wenn Sie die SQL Sandbox nicht verwenden möchten

Anhang (SQLite Skript zur Erstellung der zu verwendenden Datenbankinstanz (create.sql))Verwenden Sie nachfolgendes (optionales) Skript, um sich eine für diese Übung benötigte Datenbankinstanzin SQLite 3 zu erstellen. Die Ergebnisbeispiele, die für die einzelnen Aufgaben in diesem Dokument finden,beziehen sich auf die Daten, die durch nachfolgendes Skript erstellt werden.

Eine digitale Fassung dieses Scripts finden Sie auf der Vorlesungswebsite. Insofern Sie die SQL Sand-box (siehe oben) verwenden, ist dieses Script zu Ihrer Kenntnis. Die SQL Sandbox erzeugt eine passendeDatenbankinstanz automatisch.

-- SQLite 3.22

DROP TABLE IF EXISTS zutat_cocktail;DROP TABLE IF EXISTS cocktail_person;DROP TABLE IF EXISTS zutat;DROP TABLE IF EXISTS cocktail;DROP TABLE IF EXISTS person;DROP TABLE IF EXISTS glas;DROP TABLE IF EXISTS lokal;DROP TABLE IF EXISTS cocktail_lokal;DROP TABLE IF EXISTS cocktail;

DROP VIEW IF EXISTS Cocktail_Alkoholgehalt;

CREATE TABLE zutat ( zid number PRIMARY key,zname varchar2(20),alkoholgehalt number );

CREATE TABLE lokal ( lid number PRIMARY key,lname varchar2(30),plz number(6, 0),stadt varchar2(20));

CREATE TABLE glas ( gid number PRIMARY key,gname varchar2(15) );

CREATE TABLE cocktail ( cid number PRIMARY key,cname varchar2(20),alkoholisch CHAR(1),gid number,FOREIGN key (gid) REFERENCES glas (gid));

CREATE TABLE person ( pid number PRIMARY key,name varchar2(20),geburtsdatum DATE);

CREATE TABLE zutat_cocktail ( zid number,cid number,

16. Dezember 2019 12

Page 13: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

menge number,PRIMARY key (zid, cid),FOREIGN key (zid) REFERENCES zutat (zid),FOREIGN key (cid) REFERENCES cocktail (cid));

CREATE TABLE cocktail_person ( cid number,pid1 number,pid2 number,PRIMARY key (cid, pid1, pid2),FOREIGN key (cid) REFERENCES cocktail (cid),FOREIGN key (pid1) REFERENCES person (pid),FOREIGN key (pid2) REFERENCES person (pid));

CREATE TABLE cocktail_lokal ( cid number,lid number,PRIMARY key (lid, cid),FOREIGN key (lid) REFERENCES lokal (lid),FOREIGN key (cid) REFERENCES cocktail (cid));

INSERT INTO person VALUES (1,’Kaiservonchina’,’23-FEB-36’);INSERT INTO person VALUES (2,’Thomas’,’23-SEP-76’);INSERT INTO person VALUES (3,’Vannara’,’11-FEB-80’);INSERT INTO person VALUES (4,’Luana’,’23-NOV-77’);INSERT INTO person VALUES (5,’Sabine’,’12-SEP-81’);INSERT INTO person VALUES (6,’Masako’,’16-SEP-80’);INSERT INTO person VALUES (7,’Fanny’,’19-SEP-79’);INSERT INTO person VALUES (8,’Hyekyoung’,’11-SEP-80’);INSERT INTO person VALUES (9,’Elrid’,’27-SEP-72’);INSERT INTO person VALUES (10,’Cintia’,’31-DEZ-79’);INSERT INTO person VALUES (11,’Aya’,’11-JUN-76’);INSERT INTO person VALUES (12,’Silvana’,’19-APR-79’);INSERT INTO person VALUES (13,’Elena’,’19-AUG-76’);INSERT INTO person VALUES (14,’Aurelie’,’23-SEP-76’);

INSERT INTO zutat VALUES (1,’Tequila’,34);INSERT INTO zutat VALUES (2,’Curacao Triple Sec’,36);INSERT INTO zutat VALUES (3,’Limettensaft’,0);INSERT INTO zutat VALUES (4,’weisser Rum’,52);INSERT INTO zutat VALUES (5,’brauner Rum’,67);INSERT INTO zutat VALUES (6,’Apricot Brandy’,45);INSERT INTO zutat VALUES (7,’Ananassaft’,0);INSERT INTO zutat VALUES (8,’Zitronensaft’,0);INSERT INTO zutat VALUES (9,’Weinbrand’,45);INSERT INTO zutat VALUES (10,’Creme de Menthe’,22);INSERT INTO zutat VALUES (11,’Cointreau’,12);INSERT INTO zutat VALUES (12,’Canadian Whisky’,45);INSERT INTO zutat VALUES (13,’Vermouth rosso’,23);INSERT INTO zutat VALUES (14,’Campari’,28);

INSERT INTO glas VALUES (1,’Floete’);INSERT INTO glas VALUES (2,’Schwenker’);INSERT INTO glas VALUES (3,’Kelch’);INSERT INTO glas VALUES (4,’Schale’);INSERT INTO glas VALUES (5,’Stiefel’);INSERT INTO glas VALUES (6,’Weinglas’);INSERT INTO glas VALUES (7,’Sektglas’);INSERT INTO glas VALUES (8,’Bierglas’);

16. Dezember 2019 13

Page 14: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

INSERT INTO glas VALUES (9,’Bierkrug’);INSERT INTO glas VALUES (10,’Flasche’);INSERT INTO glas VALUES (11,’Cocktailglas’);INSERT INTO glas VALUES (12,’Tumbler’);INSERT INTO glas VALUES (13,’Longdrinkglas’);

INSERT INTO cocktail VALUES (1,’BlauerBaum’,’y’,1);INSERT INTO cocktail VALUES (2,’Russentod’,’y’,5);INSERT INTO cocktail VALUES (3,’Bond007’,’y’,4);INSERT INTO cocktail VALUES (4,’Donnergurgler’,’y’,5);INSERT INTO cocktail VALUES (5,’Knieweich’,’y’,3);INSERT INTO cocktail VALUES (6,’Cola_gruen’,’n’,1);INSERT INTO cocktail VALUES (7,’BlaueOma’,’y’,4);INSERT INTO cocktail VALUES (8,’GelbeHose’,’y’,8);INSERT INTO cocktail VALUES (9,’Pot’,’y’,5);INSERT INTO cocktail VALUES (10,’Down’,’y’,2);INSERT INTO cocktail VALUES (11,’Alexander’,’y’,11);INSERT INTO cocktail VALUES (12,’Americano’,’y’,11);INSERT INTO cocktail VALUES (13,’Bronx’,’y’,11);INSERT INTO cocktail VALUES (14,’Daiquiri’,’y’,12);INSERT INTO cocktail VALUES (15,’Manhattan’,’y’,11);INSERT INTO cocktail VALUES (16,’Stinger’,’y’,11);INSERT INTO cocktail VALUES (17,’Zombie’,’y’,13);

INSERT INTO lokal VALUES (1,’Klamauk’, 39108, ’Magdeburg’);INSERT INTO lokal VALUES (2,’bagel’, 39108, ’Magdeburg’);INSERT INTO lokal VALUES (3,’Alcatraz’, 39104, ’Magdeburg’);INSERT INTO lokal VALUES (4,’CyberSpaceCafe Orbit’, 39104, ’Magdeburg’);INSERT INTO lokal VALUES (5,’El Greco’, 39104, ’Magdeburg’);INSERT INTO lokal VALUES (6,’Exlibris’, 39104, ’Magdeburg’);INSERT INTO lokal VALUES (7,’Falstaff’, 39104, ’Magdeburg’);INSERT INTO lokal VALUES (8,’Klewitz’, 39112, ’Magdeburg’);INSERT INTO lokal VALUES (9,’Le Petit’, 39114, ’Magdeburg’);INSERT INTO lokal VALUES (10,’Rubens’, 39106, ’Magdeburg’);INSERT INTO lokal VALUES (11,’Durango Saloon’, 39128,’Magdeburg’);INSERT INTO lokal VALUES (12,’P 70’, 39108, ’Magdeburg’);INSERT INTO lokal VALUES (13,’Zum Alten Dessauer’, 39104, ’Magdeburg’);

INSERT INTO cocktail_person VALUES (12,2,4);INSERT INTO cocktail_person VALUES (13,12,2);INSERT INTO cocktail_person VALUES (14,1,4);INSERT INTO cocktail_person VALUES (17,3,2);INSERT INTO cocktail_person VALUES (17,2,8);INSERT INTO cocktail_person VALUES (17,3,9);INSERT INTO cocktail_person VALUES (17,1,5);INSERT INTO cocktail_person VALUES (17,2,7);INSERT INTO cocktail_person VALUES (17,13,4);INSERT INTO cocktail_person VALUES (16,1,3);INSERT INTO cocktail_person VALUES (16,1,6);INSERT INTO cocktail_person VALUES (16,2,1);INSERT INTO cocktail_person VALUES (16,2,8);INSERT INTO cocktail_person VALUES (16,3,8);INSERT INTO cocktail_person VALUES (16,11,12);INSERT INTO cocktail_person VALUES (15,12,13);INSERT INTO cocktail_person VALUES (15,12,3);INSERT INTO cocktail_person VALUES (15,4,11);

INSERT INTO zutat_cocktail VALUES (9,5,50);

16. Dezember 2019 14

Page 15: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

INSERT INTO zutat_cocktail VALUES (14,5,50);INSERT INTO zutat_cocktail VALUES (7,5,50);INSERT INTO zutat_cocktail VALUES (7,8,50);INSERT INTO zutat_cocktail VALUES (9,8,150);INSERT INTO zutat_cocktail VALUES (9,9,34);INSERT INTO zutat_cocktail VALUES (9,7,45);INSERT INTO zutat_cocktail VALUES (1,9,60);INSERT INTO zutat_cocktail VALUES (11,9,67);INSERT INTO zutat_cocktail VALUES (8,3,56);INSERT INTO zutat_cocktail VALUES (14,15,23);INSERT INTO zutat_cocktail VALUES (9,15,34);INSERT INTO zutat_cocktail VALUES (11,15,23);INSERT INTO zutat_cocktail VALUES (12,15,12);INSERT INTO zutat_cocktail VALUES (6,15,23);

INSERT INTO cocktail_lokal VALUES (17, 1);INSERT INTO cocktail_lokal VALUES (16, 2);INSERT INTO cocktail_lokal VALUES (15, 3);INSERT INTO cocktail_lokal VALUES (4, 4);INSERT INTO cocktail_lokal VALUES (4, 5);INSERT INTO cocktail_lokal VALUES (14, 6);INSERT INTO cocktail_lokal VALUES (8, 7);INSERT INTO cocktail_lokal VALUES (16, 8);INSERT INTO cocktail_lokal VALUES (8, 9);INSERT INTO cocktail_lokal VALUES (8, 10);INSERT INTO cocktail_lokal VALUES (5, 11);INSERT INTO cocktail_lokal VALUES (15, 12);INSERT INTO cocktail_lokal VALUES (15, 13);INSERT INTO cocktail_lokal VALUES (14, 1);INSERT INTO cocktail_lokal VALUES (5, 2);INSERT INTO cocktail_lokal VALUES (4, 3);INSERT INTO cocktail_lokal VALUES (5, 4);INSERT INTO cocktail_lokal VALUES (17, 5);INSERT INTO cocktail_lokal VALUES (5, 6);INSERT INTO cocktail_lokal VALUES (16, 7);INSERT INTO cocktail_lokal VALUES (5, 8);INSERT INTO cocktail_lokal VALUES (5, 9);INSERT INTO cocktail_lokal VALUES (13, 10);INSERT INTO cocktail_lokal VALUES (13, 11);INSERT INTO cocktail_lokal VALUES (17, 12);INSERT INTO cocktail_lokal VALUES (4, 13);

16. Dezember 2019 15

Page 16: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

Anhang (Beispielergebnisse für die geforderten Anfragen)Nachfolgend finden Sie Ergebnisse, die korrekte Lösungen produzieren sollten. Nutzen Sie diese Ergebnisseals Orientierung, um zu überprüfen, ob Ihre Lösung deckungsgleich ist. Beachten Sie bitte, dass Ergebnisseabweichen können, wenn Sie eine andere Datenbankinstanz als die gegebene verwenden. Nutzen Sie bittedie Datenbankinstanz aus dem vorhergehenden Anhang, um Verwirrungen zu vermeiden.

Insofern Sie die SQL Sandbox (siehe oben) verwenden, können Sie sich die Ergebnisse mit dem Befehlsandbox$ .show 12/x/y live anzeigen lassen, wobei x die Aufgaben- und y die Teilaufgabennummer ist.

Aufgabe 1Keine Ausgabe.

Aufgabe 2Keine Ausgabe.

Aufgabe 3.1

sandbox$ .show 12/3/1+----------------------+| cname |+----------------------+| BlauerBaum || Russentod || Bond007 || Donnergurgler || Knieweich || Cola_gruen || BlaueOma || GelbeHose || Pot || Down || Alexander || Americano || Bronx || Daiquiri || Manhattan || Stinger || Zombie |+----------------------+

Aufgabe 3.2

sandbox$ .show 12/3/2+----------------------+| lname |+----------------------+| Klamauk || bagel || P 70 |+----------------------+

Aufgabe 3.3

16. Dezember 2019 16

Page 17: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

sandbox$ .show 12/3/3+----------------------+| plz |+----------------------+| 39108 || 39104 || 39112 || 39114 || 39106 || 39128 |+----------------------+

Aufgabe 3.4

sandbox$ .show 12/3/4+----------------------+| zname |+----------------------+| Tequila || Curacao Triple Sec || weisser Rum || brauner Rum || Apricot Brandy || Weinbrand || Canadian Whisky |+----------------------+

Aufgabe 4.1

sandbox$ .show 12/4/1+----------------------+| name |+----------------------+| Kaiservonchina || Thomas || Kaiservonchina || Vannara || Kaiservonchina || Luana || Kaiservonchina || Sabine || Kaiservonchina || Masako || Kaiservonchina || Fanny || Kaiservonchina || Hyekyoung || Kaiservonchina || Elrid || Kaiservonchina || Cintia || Kaiservonchina || Aya || Kaiservonchina || Silvana |

16. Dezember 2019 17

Page 18: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

| Kaiservonchina || Elena || Kaiservonchina || Aurelie || Thomas || Vannara || Thomas || Luana || Thomas || Sabine || Thomas || Masako || Thomas || Fanny || Thomas || Hyekyoung || Thomas || Elrid || Thomas || Cintia || Thomas || Aya || Thomas || Silvana || Thomas || Elena || Thomas || Aurelie || Vannara || Luana || Vannara || Sabine || Vannara || Masako || Vannara || Fanny || Vannara || Hyekyoung || Vannara || Elrid || Vannara || Cintia || Vannara || Aya || Vannara || Silvana || Vannara || Elena || Vannara || Aurelie || Luana || Sabine || Luana || Masako || Luana || Fanny || Luana || Hyekyoung |

16. Dezember 2019 18

Page 19: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

| Luana || Elrid || Luana || Cintia || Luana || Aya || Luana || Silvana || Luana || Elena || Luana || Aurelie || Sabine || Masako || Sabine || Fanny || Sabine || Hyekyoung || Sabine || Elrid || Sabine || Cintia || Sabine || Aya || Sabine || Silvana || Sabine || Elena || Sabine || Aurelie || Masako || Fanny || Masako || Hyekyoung || Masako || Elrid || Masako || Cintia || Masako || Aya || Masako || Silvana || Masako || Elena || Masako || Aurelie || Fanny || Hyekyoung || Fanny || Elrid || Fanny || Cintia || Fanny || Aya || Fanny || Silvana || Fanny || Elena |

16. Dezember 2019 19

Page 20: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

| Fanny || Aurelie || Hyekyoung || Elrid || Hyekyoung || Cintia || Hyekyoung || Aya || Hyekyoung || Silvana || Hyekyoung || Elena || Hyekyoung || Aurelie || Elrid || Cintia || Elrid || Aya || Elrid || Silvana || Elrid || Elena || Elrid || Aurelie || Cintia || Aya || Cintia || Silvana || Cintia || Elena || Cintia || Aurelie || Aya || Silvana || Aya || Elena || Aya || Aurelie || Silvana || Elena || Silvana || Aurelie || Elena || Aurelie |+----------------------+

Aufgabe 4.2

sandbox$ .show 12/4/2+----------------------+| glaeser + cocktail |+----------------------+| Alexander || Americano || Bierglas || Bierkrug |

16. Dezember 2019 20

Page 21: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

| BlaueOma || BlauerBaum || Bond007 || Bronx || Cocktailglas || Cola_gruen || Daiquiri || Donnergurgler || Down || Flasche || Floete || GelbeHose || Kelch || Knieweich || Longdrinkglas || Manhattan || Pot || Russentod || Schale || Schwenker || Sektglas || Stiefel || Stinger || Tumbler || Weinglas || Zombie |+----------------------+

Aufgabe 4.3

sandbox$ .show 12/4/3+----------------------+| cname |+----------------------+| BlauerBaum || Russentod || Donnergurgler || Cola_gruen || Down || Alexander || Americano || Bronx || Daiquiri || Stinger || Zombie |+----------------------+

Aufgabe 4.4

sandbox$ .show 12/4/4+----------------------+| lname |+----------------------+| Klamauk || Alcatraz |

16. Dezember 2019 21

Page 22: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

| El Greco || Falstaff || Rubens || P 70 || Zum Alten Dessauer |+----------------------+

Aufgabe 5Keine Ausgabe

Aufgabe 6.1

sandbox$ .show 12/6/1+----------------------+| lname |+----------------------+| Falstaff || Le Petit || Rubens |+----------------------+

Aufgabe 6.2

sandbox$ .show 12/6/2+----------------------+| cname |+----------------------+| Alexander || Americano || Bronx || Manhattan || Stinger |+----------------------+

Aufgabe 6.3

sandbox$ .show 12/6/3+----------------------+| gname |+----------------------+| Weinglas || Sektglas || Bierkrug || Flasche |+----------------------+

Aufgabe 6.4

sandbox$ .show 12/6/4+----------------------+| cname |

16. Dezember 2019 22

Page 23: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

+----------------------+| Americano || Bronx || Daiquiri || Zombie || Stinger || Manhattan |+----------------------+

Aufgabe 7.1

sandbox$ .show 12/7/1+----------------------+| zname |+----------------------+| Tequila || Curacao Triple Sec || Limettensaft || Apricot Brandy || Ananassaft || Zitronensaft || Weinbrand || Creme de Menthe || Cointreau || Canadian Whisky || Vermouth rosso || Campari |+----------------------+

Aufgabe 7.2

sandbox$ .show 12/7/2+----------------------+| name |+----------------------+| Sabine || Silvana |+----------------------+

Aufgabe 7.3

sandbox$ .show 12/7/3+----------------------+| lname |+----------------------++----------------------+

Aufgabe 8.1

sandbox$ .show 12/8/1+----------------------+| promille |

16. Dezember 2019 23

Page 24: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

+----------------------+| 29 |+----------------------+

Aufgabe 8.2

sandbox$ .show 12/8/2+----------------------+| avg(alkoholgehalt) |+----------------------+| 29.2142857142857 |+----------------------+

Aufgabe 8.3

sandbox$ .show 12/8/3+----------------------+| count(*) |+----------------------+| 14 |+----------------------+

Aufgabe 9.1

sandbox$ .show 12/9/1+----------------------+---------------------+| sum(menge) |cname |+----------------------+---------------------+| 45 |BlaueOma || 200 |GelbeHose || 150 |Knieweich || 115 |Manhattan || 161 |Pot |+----------------------+---------------------+

Aufgabe 9.2

sandbox$ .show 12/9/2+----------------------+---------------------+| cname |anzahl zutaten |+----------------------+---------------------+| Knieweich |3 || Manhattan |5 || Pot |3 |+----------------------+---------------------+

Aufgabe 9.3

sandbox$ .show 12/9/3+----------------------+---------------------+

16. Dezember 2019 24

Page 25: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

| cname |alkoholgehalt |+----------------------+---------------------+| BlaueOma |45 || Bond007 |0 || GelbeHose |33 || Knieweich |24 || Manhattan |35 || Pot |27 |+----------------------+---------------------+

Aufgabe 9.4

sandbox$ .show 12/9/4+----------------------+---------------------+| cname |anzahl zutaten |+----------------------+---------------------+| Manhattan |5 |+----------------------+---------------------+

Aufgabe 10.1

sandbox$ .show 12/10/1+----------------------+---------------------+| alkoholgehalt |cid |+----------------------+---------------------+| 0 |3 || 24 |5 || 45 |7 || 33 |8 || 27 |9 || 35 |15 |+----------------------+---------------------+

Aufgabe 10.2

sandbox$ .show 12/10/2+----------------------+---------------------+---------------------+| lname |min(alkoholgehalt) |max(alkoholgehalt) |+----------------------+---------------------+---------------------+| Alcatraz |35 |35 || CyberSpaceCafe Orbit |24 |24 || Durango Saloon |24 |24 || Exlibris |24 |24 || Falstaff |33 |33 || Klewitz |24 |24 || Le Petit |24 |33 || P 70 |35 |35 || Rubens |33 |33 || Zum Alten Dessauer |35 |35 || bagel |24 |24 |+----------------------+---------------------+---------------------+

Aufgabe 10.3

16. Dezember 2019 25

Page 26: Übungsblatt Praktische Übung zu Datenbanksysteme 1pinnecke.info/db1/zettel12.pdf · lecture website for details). Good luck and have fun-- Marcus Pinnecke Hinweis: Sollte Ihnen

FACULT Y OFCOMPUTER SCIENCE

sandbox$ .show 12/10/3+----------------------+---------------------+---------------------+| zutat |cocktail |lokal |+----------------------+---------------------+---------------------+| Apricot Brandy |Manhattan |Alcatraz || Campari |Manhattan |Alcatraz || Canadian Whisky |Manhattan |Alcatraz || Cointreau |Manhattan |Alcatraz || Weinbrand |Manhattan |Alcatraz || Ananassaft |Knieweich |CyberSpaceCafe Orbit || Campari |Knieweich |CyberSpaceCafe Orbit || Weinbrand |Knieweich |CyberSpaceCafe Orbit || Ananassaft |Knieweich |Durango Saloon || Campari |Knieweich |Durango Saloon || Weinbrand |Knieweich |Durango Saloon || Ananassaft |Knieweich |Exlibris || Campari |Knieweich |Exlibris || Weinbrand |Knieweich |Exlibris || Ananassaft |GelbeHose |Falstaff || Weinbrand |GelbeHose |Falstaff || Ananassaft |Knieweich |Klewitz || Campari |Knieweich |Klewitz || Weinbrand |Knieweich |Klewitz || Ananassaft |GelbeHose |Le Petit || Weinbrand |GelbeHose |Le Petit || Ananassaft |Knieweich |Le Petit || Campari |Knieweich |Le Petit || Weinbrand |Knieweich |Le Petit || Apricot Brandy |Manhattan |P 70 || Campari |Manhattan |P 70 || Canadian Whisky |Manhattan |P 70 || Cointreau |Manhattan |P 70 || Weinbrand |Manhattan |P 70 || Ananassaft |GelbeHose |Rubens || Weinbrand |GelbeHose |Rubens || Apricot Brandy |Manhattan |Zum Alten Dessauer || Campari |Manhattan |Zum Alten Dessauer || Canadian Whisky |Manhattan |Zum Alten Dessauer || Cointreau |Manhattan |Zum Alten Dessauer || Weinbrand |Manhattan |Zum Alten Dessauer || Ananassaft |Knieweich |bagel || Campari |Knieweich |bagel || Weinbrand |Knieweich |bagel |+----------------------+---------------------+---------------------+

16. Dezember 2019 26