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