Der Grant-Befehl
GRANT Zugriffsrecht [ , ... ]
ON [ TABLE ] { Tabellenname | Sichtname } TO Benutzer [ , ... ]
[ WITH GRANT OPTION ]
! Mittels des Grant-Befehls wird angegeben, o welche Benutzer
o auf welche Relation (oder Sicht oder Gebiet) o welche Zugriffsrechte erhalten.
Zugriffsrechte in SQL
Zugriffsrecht erlaubt ...
SELECT lesenden Zugriff auf die angegebene Relation
UPDATE das Ändern von Inhalten der angegebenen Relation UPDATE (x) das Ändern des Inhalts des Attributs x der
angegebenen Relation
DELETE das Löschen von Tupeln der angegebenen Relation INSERT das Einfügen neuer Tupel in die angegebene Relation INSERT (x) das Einfügen eines neuen Attributs x in die
angegebene Relation
REFERENCES (x) das Referenzieren des Attributs x der angegebenen Relation
USAGE das Verwenden des angegebenen Gebiets ALL PRIVILEGES alle obigen Rechte auf alle Attribute
Der Revoke-Befehl
REVOKE [ GRANT OPTION FOR ] Zugriffsrecht [ , ... ] ON [ TABLE ] { Tabellenname | Sichtname }
FROM Benutzer [ , ... ] { RESTRICT | CASCADE }
! Mittels des Revoke-Befehls werden Rechte, die durch den Grant-Befehl gewährt wurden, wieder entzogen
Die Option „with grant option”
! Die „Grant Option“ gewährt dem Benutzer nicht nur das Recht des Zugriffs, sondern zusätzlich das Recht auf Weitergabe dieses Zugriffsrechts.
Beispiel:
! A sei der Eigentümer
! E hat die Zugriffsrechte zweimal erhalten (A#B#C#E, A#D#E)
! Entzieht A das Zugriffsrecht von B, so besitzt auch C kein Zugriffsrecht mehr, D und E dürfen weiterhin zugreifen.
A
D
E C
B
Datenbankschichten-Modell
physische DB-Schicht
logische DB-Schicht
Benutzerschicht Benutzerschicht Benutzerschicht
Maske Maske
Maske
Maske Maske Maske
Maske
logische DB-Schicht: Basistabellen, ermittelt aus Datenbank-Design Benutzerschicht: zusätzliche Sichten (Views) für die Benutzer