Prof. Dr. Heide Faeskorn - Woyke, Dr. Birgit Bertelsmeier Fachbereich Informatik, Fachhochschule Köln, Abteilung Gummersbach Lehr- und Forschungsgebiet: Wirtschaftsinformatik, mit den Schwerpunkten Datenbank - und Informationssysteme 9. Praktikum Fach Datenbanken und Informationssysteme SS / 2002 (Wiederholung SQL und relationale Algebra, BLOB’s) Aufgabe 1 Die Mitarbeiterinnen und Mitarbeitern des Reisebüros haben keine Lust mehr, alle Anfragen in relationaler Algebra zu formulieren und wollen auf SQL umsteigen. Selbstverständlich ist aller Anfang schwer und sie haben deshalb noch einige Fragen: a) Wie heißt die folgende SQL-Anweisung in natürlicher Sprache und in der relationalen Algebra? select stadtname from Stadt where land = 'Spanien'; b) Wie heißt die folgende SQL-Anweisung in natürlicher Sprache und in der relationalen Algebra? select * from Stadt where stadtname in (select stadtname from Buchung where anreiseDatum >= '31.12.2000'); c)Wie heißt der folgenden relationale Ausdruck in natürlicher Sprache und in SQL? Projektion hotelname,PreisEZ, PreisDZ Selektion (Hotel) Stadtname ='Berlin' d) Wie heißt der folgenden relationale Ausdruck in natürlicher Sprache und in SQL? Durchschnitt Projektion Projektion Stadtname Stadtname Buchung Selektion Klasse = 5 Hotel Die Tabellendefinitionen der Reisedatenbank finden Sie auf der DBS-Homepage im Ordner Praktikum / Praktikum 8. Ein Benutzer reisen, Passwort reisen ist auf der Projekt-Datenbank angelegt. Relationale Algebra –Teile bitte als Grafik ablegen, sql-Abfragen und Erläuterungen als Text. Prof. Dr. Heide Faeskorn - Woyke, Dr. Birgit Bertelsmeier Fachbereich Informatik, Fachhochschule Köln, Abteilung Gummersbach Lehr- und Forschungsgebiet: Wirtschaftsinformatik, mit den Schwerpunkten Datenbank - und Informationssysteme Aufgabe 2 a) Erstellen Sie eine Kopie der Reise-Datenbank unter Ihrer eigenen ORACLE–Kennung ! Hinweis: Winzip-Datei ist auf der DBS-Homepage enthalten. b) Die Datenbank des Reisebüros ist natürlich auch Änderungen unterworfen. Formulieren Sie die folgenden Anweisungen in SQL: 1. Der Kunde mit der Nummer 3 möchte vom 27.11.2000 bis zum 23.12.2000 ein Doppelzimmer im Hotel „Prince“ in Paris buchen. 2. Der Kunde „Daniel Meyer“ möchte einen Tag länger im Hotel Columbus (Rom) bleiben. 3. Das Hotel „Columbus“ in Rom macht Pleite. Beachten Sie, dass Sie die Konsistenz Ihrer Datenbank wahren müssen. c) Bestimmen Sie Name und Adresse aller Hotels mit mehr als 50 Zimmern, die in Städte stehen, die in höchstens vier Flugstunden vom Kölner Flughafen erreichbar sind, und bei denen ein Einzelzimmer den geringsten Einzelzimmerpreis dieser Hotels hat. (Hinweis: durch geeignete Wahl einer Sicht wird die Aufgabe erheblich vereinfacht.) d) Nachdem eine Praktikantin im Reisebüro bei dem Versuch, Aufgabe 2b zu lösen, ganz Italien aus der Datenbank gelöscht hat, will das Reisebüro dazu übergehen, Zugriffsbeschränkungen einzuführen. Dazu sollen vier Benutzergruppen eingeführt werden: - Admin: die DatenbankadministratorInnen - Chef: die Leiter und Leiterinnen der einzelnen Filialen - Mitarb: Mitarbeiter und Mitarbeiterinnen des Reisebüros - Prakt: Praktikanten und Praktikantinnen Wie würden Sie die Rechte auf diese Benutzergruppen verteilen? Formulieren Sie die entsprechenden Anweisungen in SQL Aufgabe 3 Das Reisebüro möchte auch Bilder der Hotels und Beschreibungen im Doc-Format in die Datenbank aufnehmen. Dazu soll die Tabelle „Hotel“ um die Spalten Bild ( Datentyp BLOB) und Beschreibung (Datentyp Bfile) erweitert werden. a) Erweitern Sie die Tabelle „Hotel“ um die beschriebenen Spalten b) Füllen Sie die neuen Spalten der Tabellen mit Daten. Hinweis: DBMS_LOB.LOADFROMFILE, DBMS_LOB.FILEOPEN und DBMS_LOB.CLOSEFILE und BFILENAME verwenden. Ein Beispiel findet sich im Vorlesungsskript im Ordner Praktikum /Praktikum 9 auf der DBSHomepage.