Institut für Informationssysteme
Dr. Robert Marti
Claude Barthels
David Sidler
Informationssysteme für Ingenieure
Herbstsemester 2016
Übung 3
Grundlage dieser Übung ist die Mondial Datenbank1 . Auf dieser sollen Abfragen durchgeführt und Änderungen vorgenommen werden. Auf der Vorlesungswebseite finden Sie eine Anleitung zur Erstellung einer MySQL-Instanz bei
den Informatikdiensten der ETH. Ebenfalls auf der Vorlesungswebsite stehen MySQL-Skripts zur Verfügung, welche
das Mondial-Schema auf der Datenbank erstellen und mit Daten füllen.
Alternativ zur Verwendung der ETH-Instanz können Sie einen lokalen MySQL Server auf Ihrem Rechner einrichten.
Die Software ist frei verfügbar unter http://dev.mysql.com/downloads/mysql/, wo Sie auch Instruktionen zur Installation und Verwendung finden.
Aufgabe 3.1 Datenbankabfragen
Formulieren Sie folgende Anfragen an die Mondial Datenbank in SQL:
1. Welches ist der grösste See der Welt?
2. Welches ist der grösste See in Afrika?
3. In welchem Land befindet sich die Stadt Dukou?
4. Auf welchem Kontinent (Name) befindet sich Aserbaidschan? (’Azerbaijan’)
5. An welche Länder grenzt Aserbaidschan?
6. Wieviele Einwohner hat die Hauptstadt von Aserbaidschan?
7. Welche Länder haben keine Meeresküste?
8. Welche Länder befinden sich auf mehr als einem Kontintent?
9. Welche Länder sind in mindestens einer Organisation Mitglied, in der auch die Mongolei (’Mongolia’) Mitglied
ist?
10. Welche Länder in Europa haben 4 Sprachen?
11. Welches ist der höchste Berg auf einer Insel in Asien?
12. Was sind Name, Hauptstadt, Fläche und Jahr der Unabhängigkeit des jüngsten Landes?
13. Was ist die grösste ethnische Gruppe in Asien?
14. Welches Land hat die höchste Anzahl angrenzender Länder?
15. Welches sind die längsten Flüsse je Kontinent?
Abgabe: Ihre SQL Query für jede Teilaufgabe.
1 http://www.dbis.informatik.uni-goettingen.de/Mondial/
Aufgabe 3.2 Null-Werte
NULL wird verwendet um fehlende Werte in einer Datenbank zu repräsentieren. Einige Städte in der Mondial DB
haben einen fehlenden Longitude Wert.
1. The folgende Query wurde verwendet um diese Städte abzufragen. Erklären Sie, wieso sie nicht das gewünschte
Resultat ergibt.
SELECT * FROM city WHERE longitude = NULL
2. Schreiben Sie die korrekte Query.
Aufgabe 3.3 Datenmanipulation
Stellen Sie sich vor Nordirland beschliesst sich von Grossbritannien abzulösen und wir ein eigenständiger Staat.
Aktualisieren Sie Ihre Mondial DB entsprechend, indem Sie (mindestens) folgende Informationen eintragen. Falls
Informationen zum Einfügen eines Tupels fehlen können Sie diese im Internet nachschauen oder erfundene Werte
annehmen.
1. Tragen Sie Nordirland als neues Land ein. Die Fläche betrage 14’130 km2 . Die Hauptstadt sei Belfast und zähle
1.864 Mio. Einwohner. Die Nordirische Population habe eine Zuwachsrate von 0.33 promille.
2. Offizielle Sprache ist English, aber 10 % der Leute sprechen Irish.
3. Der Staat wird sofort Mitglied der Organisation EU.
4. Ändern sie die landeszugehörigkeit der Provinz Northern Ireland zu Nordirland. Passen sie ebenfalls das Land
für alle Städte in dieser Provinz an.
Abgabe: Alle Insert/Update Operationen für jede Teilaufgabe.
Aufgabe 3.4 Relationale Algebra
Übersetzen Sie folgende SQL Abfragen in Ausdrücke der relationalen Algebra.
1. SELECT IName
FROM Island
WHERE Type = ’coral’
2. SELECT CityName, CName
FROM city, country
WHERE CountryCode = Code
AND population >1000000
AND Area >80000
Abgabetermin: 25. Oktober 2016
2