KWALIFIKACJA INF3 - CZERWIEC 2016

PYTANIE NR 22.
W bazie danych wykonano następujące polecenia dotyczące praw użytkownika adam

GRANT ALL PRIVILEGES ON klienci TO adam
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam


Po wykonaniu poleceń użytkownik adam będzie miał prawa do
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
GRANT ALL PRIVILEGES nadaje pełny zestaw uprawnień do tabeli "klienci". Następnie REVOKE SELECT, INSERT, UPDATE odbiera tylko odczyt, wstawianie i modyfikację danych. Pozostałe prawa nie są cofnięte, więc użytkownik zachowuje m.in. DELETE (usuwanie rekordów) oraz DROP (usunięcie tabeli).

Pełne wyjaśnienie:

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.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
GRANT służy do nadawania uprawnień użytkownikowi lub roli do obiektów bazy (np. tabel). Dzięki temu można kontrolować, kto może wykonywać operacje typu odczyt, modyfikacja czy usuwanie danych. To podstawowy mechanizm bezpieczeństwa w administracji bazą.
To polecenie przyznaje użytkownikowi pełen zestaw uprawnień dostępnych dla wskazanej tabeli (zakres zależy od systemu DB). W praktyce obejmuje typowe prawa do danych (np. odczyt, dopisywanie, modyfikację, usuwanie) oraz często także uprawnienia do operacji na obiekcie tabeli.
Bo REVOKE odbiera wyłącznie te uprawnienia, które zostały w nim wymienione. Jeśli wcześniej nadano szerszy zestaw praw (np. przez ALL PRIVILEGES), to po cofnięciu kilku pozycji pozostałe uprawnienia pozostają aktywne. Trzeba więc czytać listę w REVOKE bardzo dokładnie.
SELECT pozwala odczytywać i przeglądać dane z tabeli. INSERT pozwala dopisywać nowe rekordy (wiersze). Na egzaminie często pojawia się pułapka polegająca na myleniu "widzę dane" (SELECT) z "mogę dopisać" (INSERT), choć są to zupełnie inne operacje.
DELETE usuwa rekordy (wiersze) z tabeli, czyli operuje na danych. DROP usuwa całą tabelę jako obiekt bazy danych (razem ze strukturą). To częsty punkt egzaminacyjny: oba "usuwają", ale na innym poziomie i wymagają innych uprawnień.
W wielu systemach jest to możliwe: uprawnienie DELETE dotyczy usuwania wierszy, a SELECT dotyczy odczytu. Jeśli SELECT jest cofnięte, użytkownik może nie widzieć danych, ale nadal może wykonać DELETE (np. po warunku). To ryzykowna konfiguracja, ale technicznie spotykana.
Użytkownik traci możliwość przeglądania danych (SELECT), dodawania nowych rekordów (INSERT) i edycji istniejących (UPDATE). Jeśli wcześniej miał pełne uprawnienia, to nadal może zachować inne prawa, np. usuwanie rekordów lub nawet usunięcie tabeli, o ile nie zostały cofnięte.
Krok 1: ustal, co zostało nadane (lista po GRANT).
Krok 2: od tej listy "odejmij" dokładnie to, co jest po REVOKE.
Krok 3: sprawdź, czy w odpowiedziach nie ma praw cofniętych. Taki schemat ogranicza błędy z pośpiechu.
Najczęściej to literówki w słowach kluczowych (np. błędny zapis PRIVILEGES lub REVOKE), brak wskazania obiektu po ON albo pomylenie kierunku (np. "FROM" vs "TO"). Na egzaminie warto rozpoznawać poprawne słowa kluczowe i układ polecenia.
Nie. Uprawnienia typu SELECT/INSERT/UPDATE/DELETE dotyczą operacji na istniejącej tabeli. Tworzenie tabel (DDL) zwykle wymaga osobnych uprawnień na poziomie schematu lub bazy. Dlatego odpowiedzi sugerujące "tworzenie tabeli klienci" nie wynikają automatycznie z praw nadanych do już istniejącej tabeli.
info

Statystycznie 43% uczniów zna prawidłową odpowiedź. trudne

Według specjalistów z branży: "GRANT ALL PRIVILEGES nadaje pełny zestaw uprawnień do tabeli "klienci"."

Źródła:

  • Microsoft Learn: GRANT (Transact-SQL) – składnia i opis polecenia, https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-transact-sql (dostęp: 2026-03-01)
  • MySQL 8.0 Reference Manual: GRANT Statement – opis i składnia, https://dev.mysql.com/doc/refman/8.0/en/grant.html (dostęp: 2026-03-01)
  • PostgreSQL Documentation: REVOKE — remove access privileges, https://www.postgresql.org/docs/current/sql-revoke.html (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja DCL (GRANT/REVOKE) dla używanego systemu bazodanowego
  • Materiały kursowe z administracji bazami danych w zakresie uprawnień do obiektów
  • Zadania praktyczne: tworzenie użytkownika i testowanie SELECT/INSERT/UPDATE/DELETE/DROP na tabeli

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego