JUSTUS-LIEBIG-UNIVERSITÄT GIESSEN
Institut für Informatik
Dr. Stefan Brass

Vorlesung "Datenbanksysteme"

(Wintersemester 2000/2001)


Hausaufgabe 10:    Tabellendeklaration, Zugriffsrechte, Sichten


Aufgabe 10 (12 Punkte)

Ihr Arbeitgeber möchte einen Restaurantführer für Gießen produzieren.

   a)
Legen Sie folgende Tabellen an, um die Ergebnisse von Restaurant-Tests abzuspeichern: "TESTER" ist der Name des Feinschmeckers, der das Essen in dem Restaurant probiert hat. "GRADE" ist eine Zensur zwischen 5.0 und 1.0. "COMMENTS" ist eine kurze Erklärung für die Bewertung (nicht mehr als 2000 Zeichen). "COST" sind die Spesen, die der Verlag dem Tester ersetzt. Stellen Sie sicher, daß nur in den Spalten "OWNER" und "COMMENTS" ein Nullwert möglich ist, und deklarieren Sie Schlüssel und Fremdschlüssel. Für Namen sind normalerweise 20 Zeichen ausreichend. Benutzen Sie den Datentyp "DATE" für die Spalte "TEST_DATE". Spezifizieren Sie Constraints, die sicherstellen, daß "COST" nicht negativ ist, und "GRADE" zwischen 5.0 und 1.0 liegt (zur Vereinfachung sind auch ungewöhnliche Zensuren wie 2.5 erlaubt).
   b)
Fügen Sie mindestens zwei Tupel in die Tabelle "RESTAURANTS" ein und mindestens drei Tupel in "TESTS".
   c)
Der Besitzer eines Restaurants (Owner = 'Scott') hat eine Benutzerkennung für die Datenbank (Benutzer SCOTT). Dieser Benutzer soll die Test-Ergebnisse seines Restaurants in der Datenbank einsehen können, bevor der Führer veröffentlicht wird. Er soll aber nicht in der Lage sein, die Testergebnisse anderer Restaurants zu lesen. Es ist auch sehr wichtig, daß die Tester anonym bleiben. Deswegen soll er nur folgende Spalten lesen können: TEST_DATE, GRADE, und COMMENTS. Um die Identifikation der Tester schwieriger zu machen, sollen ihm nur Tests angezeigt werden, die mindestens 7 Tage zurückliegen (Er könnte sich sonst erinnern, wer gestern was gegessen hat.). "TEST_DATE+7" liefert das Datum eine Woche nach "TEST_DATE", und "SYSDATE" ist das aktuelle Datum. Definieren Sie eine Sicht "SCOTTS_TEST" für den Benutzer SCOTT und geben Sie ihm Leserechte für diese Sicht.
   c)
Melden Sie sich bei der Datenbank als Benutzer SCOTT an und prüfen Sie, daß Sie auf die Sicht zugreifen können, aber nicht auf die Tabelle selbst.

Abgabetermin:

Bitte geben Sie Ihre Lösung bis Mittwoch, den 7. Februar ab.


Stefan Brass (Stefan.Brass@informatik.uni-giessen.de), 31. Januar 2001

Original URL: http://www.informatik.uni-giessen.de/staff/brass/db00/ha_secur.html   [HTML 3.2 Checked]