KWALIFIKACJA INF3 - CZERWIEC 2016

PYTANIE NR 20.
Polecenie serwera MySQL postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal’@’localhost'

sprawi, że użytkownikowi tKowal zostaną
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
REVOKE służy do cofania wcześniej nadanych przywilejów. Polecenie REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost' odbiera temu użytkownikowi prawa do usuwania rekordów (DELETE) oraz modyfikowania istniejących danych (UPDATE) w tabeli pracownicy.

Pełne wyjaśnienie:

Polecenia kontroli dostępu w SQL (DCL) służą do zarządzania uprawnieniami użytkowników. W MySQL do nadawania uprawnień używa się GRANT, a do cofania – REVOKE.

W zapytaniu REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost' administrator wskazuje dwa konkretne przywileje oraz obiekt, którego dotyczą:

  • DELETE – prawo do usuwania wierszy z tabeli (operacje kasowania danych).
  • UPDATE – prawo do zmiany wartości w istniejących wierszach (aktualizacja danych).

Dlatego poprawne jest stwierdzenie, że użytkownikowi zostaną odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy.

Dlaczego pozostałe odpowiedzi są niepoprawne:

  • Odpowiedź mówiąca o "przydzieleniu" praw myli REVOKE z GRANT. Sama składnia REVOKE oznacza cofnięcie, nie nadanie.
  • Wariant z "dodawaniem rekordów" dotyczyłby przywileju INSERT, a nie UPDATE. UPDATE nie tworzy nowych wierszy, tylko zmienia istniejące.
  • Wariant o "zmianie struktury tabeli" odnosi się do uprawnień DDL, np. ALTER, CREATE, DROP. REVOKE DELETE, UPDATE nie dotyczy struktury, tylko operacji na danych (DML) w obrębie wskazanej tabeli.

W praktyce takie cofnięcie uprawnień stosuje się, gdy konto aplikacyjne lub pracownika nie powinno już wykonywać destrukcyjnych operacji (DELETE) albo modyfikacji (UPDATE) na wrażliwej tabeli.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
REVOKE cofa wcześniej nadane uprawnienia (przywileje) użytkownikowi lub roli. Wskazujesz, jakie przywileje mają zostać odebrane oraz do jakiego obiektu (np. tabela, baza) się odnoszą. To podstawowe narzędzie kontroli dostępu w SQL (DCL).
Lista po REVOKE zawiera konkretne przywileje. Jeśli są to DELETE i UPDATE, to użytkownik traci możliwość usuwania wierszy oraz aktualizowania danych w istniejących wierszach. Dopisek ON nazwa_tabeli precyzuje, że chodzi o jedną tabelę, a nie całą bazę.
DELETE pozwala usuwać rekordy z tabeli, czyli trwale kasować wiersze. UPDATE pozwala zmieniać wartości w kolumnach już istniejących rekordów. Oba przywileje dotyczą operacji na danych (DML), a nie modyfikacji struktury tabeli.
To identyfikator konta w MySQL składający się z nazwy użytkownika i hosta (skąd wolno się logować). 'localhost' oznacza połączenia z tej samej maszyny. Uprawnienia są nadawane/cofane dla konkretnego konta w tej postaci.
GRANT służy do nadawania uprawnień (dodaje przywileje użytkownikowi/roli), a REVOKE do ich cofania (zabiera przywileje). Na egzaminie często myli się te polecenia, dlatego warto zapamiętać: GRANT = daj, REVOKE = odbierz.
Nie. REVOKE nie usuwa konta, tylko zmienia jego uprawnienia. Użytkownik nadal może istnieć i logować się (jeśli ma do tego prawo), ale nie będzie mógł wykonywać operacji, których przywileje zostały cofnięte.
Aby odebrać możliwość dodawania nowych wierszy, cofa się przywilej INSERT. UPDATE nie dodaje rekordów, tylko modyfikuje istniejące. Na testach to częsta pułapka: "modyfikacja" nie zawsze oznacza "dodawanie".
Nie. Zmiana struktury tabeli (np. dodanie kolumny, zmiana typu) wymaga uprawnień DDL, najczęściej ALTER (czasem także CREATE/DROP). UPDATE dotyczy wyłącznie danych w wierszach. Dlatego cofnięcie UPDATE nie blokuje zmian schematu.
Najczęściej używa się polecenia SHOW GRANTS dla danego konta, aby zobaczyć listę przywilejów. W praktyce to szybki sposób weryfikacji, czy REVOKE/GRANT zadziałały zgodnie z oczekiwaniem i jaki jest faktyczny zakres dostępu.
Najczęstsze pomyłki to: mylenie REVOKE z GRANT (odbieranie vs nadawanie), mylenie UPDATE z INSERT (zmiana vs dodawanie), oraz mieszanie DML z DDL (dane vs struktura). Pomaga sprawdzanie, czy w odpowiedzi jest mowa o danych w wierszach czy o schemacie tabeli.
info

To pytanie poprawnie rozwiązuje 41% zdających egzamin. trudne

Specjaliści zwracają uwagę: "REVOKE służy do cofania wcześniej nadanych przywilejów."

Źródła:

  • MySQL 8.0 Reference Manual: "REVOKE Statement" (SQL Statement Syntax) – https://dev.mysql.com/doc/refman/8.0/en/revoke.html - dostęp: 2026-03-01
  • MySQL 8.0 Reference Manual: "Privileges Provided by MySQL" – https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html - dostęp: 2026-03-01
  • MySQL 8.0 Reference Manual: "GRANT Statement" (dla porównania nadawania vs cofania uprawnień) – https://dev.mysql.com/doc/refman/8.0/en/grant.html - dostęp: 2026-03-01

Materiały:

  • Dokumentacja MySQL: sekcja o poleceniach GRANT i REVOKE
  • Ćwiczenia laboratoriów z SQL DCL (użytkownicy, role, uprawnienia)
  • Zadania praktyczne: tworzenie kont i nadawanie/cofanie uprawnień do tabel

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego