INFORMATIONSSYSTEME I (WS 2001/2002) APPELRATH/KÖSTER WWW -IS.INFORMATIK.UNI-OLDENBURG.DE/LEHRE/LEHRE.HTML Übungsblatt 3 Ausgabe: Rückgabe: Besprechung: Nächstes Übungsblatt: Freitag, 09.11.2001 Freitag, 23.11.2001 Freitag, 30.11.2001 Freitag, 23.11.2001 Aufgabe 1 – BEGRIFFE (15%) a) SQL wird als DEKLARATIVE SPRACHE Bezeichnet. a-1) Welches GRUNDPRINZIP ist in deklarativen Sprachen umgesetzt? a-2) Erläutern Sie dieses Grundprinzip anhand eines einfachen BEISPIELS. b) SQL kann in universelle Programmiersprachen wie etwa C oder C++ EINGEBETTET sein. b-1) Welches PROBLEM wird in diesem Zusammenhang durch CURSORS behandelt? b-2) Erläutern Sie die verschiedenen OPERATIONEN auf CURSORS. Aufgabe 2 – SQL I (35%) Gegeben sei folgendes Relationenschema: Legende: Personal(PNummer, Name, GebDatum, BetrAng, GeStufe) Buero(RNummer, Gebaeude, Mitarb) Verantwortung(Vorges, Besch) a) Geben Sie die SQL-Anweisungen zur Realisierung der entsprechenden Tabellen an und berücksichtigen Sie hierbei insbesondere auch Zusammenhänge zwischen den einzelnen Tabellen. Beachten Sie bitte bereits Teilaufgabe 2-b-1 zur Festlegung der Datentypen. PNummer = Name = GebDatum = BetrAng = GeStufe = RNummer = Gebaeude = Mitarb = Vorges = Besch = Personalnummer. Nachname. Geburtsdatum. Betriebsangehörigkeit. Gehaltsstufe. Raumnummer. Gebäudenummer. Mitarbeiter (PNummer). Vorgesetzter (PNummer). Angestellter (PNummer). b) Führen Sie die folgenden Manipulationen durch: b-1) Fügen Sie einen Mitarbeiter mit den folgenden Daten der Tabelle Personal hinzu: PNummer=MARB453, Name=Meyer, GebDatum=11. Januar 1969, BetrAng=0 Jahre und GeStufe=72. b-2) Entfernen Sie die Informationen zu solchen Mitarbeitern aus der Datenbank, die einen Vorgesetzten mit der PNummer=MARB122 besitzen. b-3) Erhöhen Sie die Gehaltsstufe der Mitarbeiter um 10, deren Nachname mit dem Anfangsbuchstaben P beginnt und deren aktuelle Gehaltsstufe < 50 ist. Erhöhen Sie die Gehaltsstufen der weiteren Mitarbeiter um 8. c) Erläutern sie die folgenden Anweisungen: c-1) c-2) c-3) DELETE FROM Personal ALTER TABLE Personal ADD COLUMN Vorname CHARACTER(42) SELECT PNummer FROM Personal EXCEPT SELECT Besch FROM Verantwortung WHERE Vorges=´MARB001´ d) Formulieren Sie in SQL die Anforderung, dass die Tabelle Personal nicht weniger als 5 Mitarbeitereinträge umfassen darf. Aufgabe 3 – SQL II (35%) Legende: Gegeben sei folgendes Relationenschema: Maler(MName, Pseudonym, Geburtstag, Todestag, Heimatland) Bild(InvNr, Titel, Jahr, GName, MName) Galerie(GName, Ort, Land) Geben Sie die SQL-Anweisungen zur Realisierung der folgenden Anfragen an: MName = Pseudonym = Geburtstag = Todestag = Heimatland = InvNr = Titel = Jahr = GName = MName = GName = Ort = Land = Nachname (eindeutig). Pseudonym (eindeutig). Geburtsdatum. Todestag. Heimatland. Inventarnummer (eindeutig). Titel. „Produktionsdatum“. Name der Galerie. Nachname. Name der Galerie (eindeutig). Stadt. Land. a-1) Welche Bilder hängen in der Galerie SCHÖNE BILDER in MÜNCHEN? a-2) Liefern Sie eine Tabelle, welche die MALER (deren Namen), die BILDER (deren Titel) und die ORTE in denen sie ausgestellt sind, zeigt. a-3) Die Bilder welcher Maler sind in BERLIN, aber nicht in MÜNCHEN ausgestellt? a-4) Listen Sie die Maler auf, von denen KEINES IHRER BILDER IN IHREM HEIMATLAND ausgestellt wird. a-5) Listen Sie die Maler auf, deren Bilder NUR IN IHREM HEIMATLAND ausgestellt sind. a-6) Wann wurde das ÄLTESTE BILD gemalt? a-7) Wie lautet der TITEL DES ÄLTESTEN BILDES? a-8) Von welchen Malern hängen in WENIGSTENS ZWEI GALERIEN BILDER? a-9) Von welchen Malern hängen in WENIGSTENS ZWEI ORTEN BILDER? a-10) Listen Sie die PSEUDONYME der Maler auf, von denen mehr als drei Bilder in der Datenbank erfasst sind. a-11) Listen Sie die PSEUDONYME der Maler auf, deren jeweiliger Nachname mit dem Anfangsbuchstaben A oder K beginnt. a-12) Listen Sie ALLE BILDER MIT AUSNAHME DES ÄLTESTEN Bildes auf. Aufgabe 4 – SQL IV (15%) Erläutern Sie die Effekte der folgenden Anweisungen zur Kontrolle von Zugriffsrechten in Datenbanken. Jeder Zeile ist hierbei der Benutzer vorangestellt, der die jeweilige Anweisung ausführt: Meyer: Meyer: Schmidt: Schubert: Meyer: Meyer: Schmidt: GRANT select ON Personal TO Schmidt, Weber GRANT select ON Buero TO Schmidt, Weber WITH GRANT OPTION GRANT select ON Buero TO Schubert WITH GRANT OPTION GRANT select ON Buero TO Erkens REVOKE select ON Buero FROM Weber GRANT select ON Buero TO Schubert REVOKE select ON Buero FROM Schubert CASCADE