Polecenia DCL służą do zarządzania uprawnieniami w bazie danych. GRANT ALL PRIVILEGES ON klienci TO adam przyznaje użytkownikowi pełny zestaw praw do wskazanego obiektu (tutaj: tabeli "klienci"). W praktyce obejmuje to m.in. możliwość odczytu danych, dopisywania rekordów, ich modyfikacji oraz usuwania, a także operacje na samym obiekcie tabeli.
Następne polecenie: REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam odbiera wyłącznie te uprawnienia, które zostały wymienione. To kluczowa zasada: REVOKE nie usuwa automatycznie wszystkiego, tylko konkretnie wskazane prawa.
Skoro cofnięto SELECT, użytkownik nie może przeglądać danych. Cofnięcie INSERT blokuje dodawanie nowych rekordów, a cofnięcie UPDATE uniemożliwia zmienianie istniejących danych. Nie cofnięto natomiast uprawnień do usuwania: DELETE dotyczy kasowania rekordów (wierszy), a DROP dotyczy usunięcia całej tabeli jako obiektu bazy.
Dlatego poprawna jest odpowiedź mówiąca o usunięciu tabeli lub jej rekordów – te operacje pozostają możliwe, mimo że nie da się już danych odczytać, dopisać ani zaktualizować.
- "aktualizowania danych i przeglądania tabeli klienci" jest błędne, bo UPDATE i SELECT zostały odebrane.
- "tworzenia tabeli klienci i aktualizowania w niej danych" jest błędne: tworzenie tabeli nie wynika z uprawnień do istniejącej tabeli, a UPDATE został odebrany.
- "przeglądania tabeli klienci i wstawiania do niej rekordów" jest błędne, bo SELECT i INSERT zostały odebrane.
Wskazówka egzaminacyjna: zawsze rozdziel w głowie uprawnienia do danych (SELECT/INSERT/UPDATE/DELETE) od uprawnień do obiektu (np. DROP/ALTER) i sprawdź, które z nich zostały wycofane w REVOKE.