W pytaniu chodzi o odebranie użytkownikowi dwóch konkretnych praw do danych: przeglądania i aktualizacji w bazie gazeta. W systemach MySQL/MariaDB odpowiadają im uprawnienia:
- SELECT – pozwala odczytywać (wyświetlać) dane z tabel,
- UPDATE – pozwala zmieniać wartości w istniejących wierszach tabel (modyfikacja danych).
Dlatego właściwa składnia musi używać polecenia REVOKE (odebranie uprawnień) oraz wskazać oba uprawnienia naraz i właściwy zakres obiektu:
REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
Zapis gazeta.* oznacza "wszystkie tabele (i obiekty w rozumieniu uprawnień) w bazie gazeta". Z kolei 'redaktor'@'localhost' identyfikuje konto użytkownika wraz z hostem, co jest istotne, bo w MySQL użytkownik o tej samej nazwie może mieć różne uprawnienia zależnie od hosta.
Dlaczego pozostałe propozycje są błędne:
- Opcje z GRANT są niepoprawne, bo GRANT nadaje uprawnienia, a nie je odbiera.
- Opcje z ALTER nie spełniają warunku "aktualizacji danych", ponieważ ALTER dotyczy zmiany struktury (np. kolumn, indeksów), a nie modyfikacji rekordów. To inny typ operacji i inne ryzyka.
W praktyce egzaminacyjnej warto zapamiętać prostą parę skojarzeń: "odczyt = SELECT", "zmiana danych w wierszach = UPDATE", a "zmiana struktury tabeli = ALTER".