/. »i;>IOVlVłWC Ail'CKl 1 JP/.«KA
3. Słowo kluczowe ON.
4. Element bazy danych, zgodny z opisem z punktu 4 w opisie instrukcji grant.
5. Słowo kluczowe from.
6. Lista użytkowników (czyli identyfikatory autoryzacji).
A więc można podać następujący schemat dla instrukcji rcvoke:
revoke <li$ta praw> on <element bazy danych> FROM <li$ta użytkowników>
Można do tej instrukcji dołączyć jeszcze inne elementy:
• Instrukcja może zostać zakończona słowem kluczowym CASCADE. Wówczas odbierając wyspecyfikowane prawa, odbiera się również tc prawa, które zostały- nadane w wyniku ich przekazania. A dokładniej: jeśli użytkownik U odbiera prawa P użytkownikowi V, wynikające z praw Q użytkownika U, to zostaje usunięta krawędź diagramu grant prowadząca od wierzchołka U!O do VfP. Wówczas usuwa się z tego diagramu wszystkie te wierzchołki, dla których nie można znaleźć wierzchołka poprzedzającego z dwiema gwiazdkami (właściciela praw).
• Można tę instrukcję zastąpić słowem RESTRICT, co oznacza że nie należy wykonać instrukcji revoke, jeśli w wyniku stosowania kaskady zostałyby usunięte jeszcze jakieś inne prawa niż tc, które są jawnie wyspecyfikowane.
• Można zastąpić REVOKL przez revoke grant OPTICN FOR, a wtedy nie odbiera się praw, a tylko prawo do ich udzielania. Można tę opcję łączyć zarówno z CASCADE, jak i z RESTRICT. co spowoduje analizę i ewentualną modyfikację diagramu grant.
PRZYKŁAD 7.24
Posługujemy sic znowu danymi z przykładu 7.22 i załóżmy teraz, że janka chce odebrać prawa, które udzieliła piotrowi i w tym celu uruchamia instrukcję
REVOKE SELECT, INSERT ON Studio FROM piotr CASCADE;
REVOKE SF.LECT ON Film FROM piotr CASCADE;
Na rysunku 7.15 zostaje usunięta krawędź od praw janki do praw piotr. Ponieważ korzysta się z opcji CASCADE, więc należy sprawdzić, czy w diagramie pozostały w ierzchołki, w których nie można sprawdzić, kto jest właścicielem praw. Na rysunku 7.15 widać, że prawa piotra nic sąjuż dostępne z żadnego wierzchołka z dw iema gwiazdkami (mogłyby być, jeśli ist-
niałby inny, oprócz janki, właściciel, który te prawa nadał piotrc W podobny sposób są również niedostępne prawa sta fana do INSER' relacji Studio. A zatem z diagramu grant usuwamy nic tylko prawa pic ale także prawo Stefana do INSERT.
Zauważmy, że nie usuwa się prawa Stefana do SELECT do relacji : i Studio, ani jego prawa do INSERT (nazwa) do Studio, ponieważ s? dostępne z wierzchołka janki pośrednio przez prawa karo’a. Dia; grant, który powstał w wyniku tych przekształceń, jest przedstawion rys. 7.16.
RYSUNEK 7.16
Diagram GRANT po odebraniu praw piotra