KWALIFIKACJA INF3 - WRZESIEŃ 2014

PYTANIE NR 20.
Polecenie w języku SQL GRANT ALL PRIVILEGES ON klienci TO pracownik
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
GRANT służy do nadawania uprawnień. Fragment ALL PRIVILEGES oznacza pełny zestaw uprawnień dostępnych dla danego obiektu, a część ON klienci TO pracownik wskazuje, że dotyczą one tabeli "klienci" i są nadawane użytkownikowi "pracownik".

Pełne wyjaśnienie:

Polecenie GRANT należy do grupy poleceń kontroli dostępu (DCL) i służy do nadawania uprawnień do obiektów bazy danych (np. tabel, widoków) użytkownikom lub rolom.

W zapisie GRANT ALL PRIVILEGES ON klienci TO pracownik kluczowe są trzy elementy:

  • ALL PRIVILEGES – oznacza nadanie pełnego zestawu uprawnień, jakie można nadać do wskazanego obiektu (dla tabel typowo są to m.in. odczyt danych, wstawianie, modyfikacja i usuwanie wierszy; mogą też dochodzić uprawnienia administracyjne zależne od systemu).
  • ON klienci – wskazuje obiekt, którego dotyczą prawa, czyli tabelę o nazwie "klienci".
  • TO pracownik – określa adresata, czyli użytkownika (lub rolę, zależnie od systemu) o nazwie "pracownik".

Dlatego poprawna interpretacja brzmi: polecenie nadaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik.

Pozostałe odpowiedzi są błędne z typowych powodów egzaminacyjnych:

  • Stwierdzenie o "odbieraniu uprawnień" myli GRANT z poleceniem REVOKE, które służy do cofania już nadanych praw.
  • Opis "kopiowania uprawnień z grupy" nie odpowiada składni GRANT; w SQL nadaje się konkretne uprawnienia do obiektu, a nie "kopiuje" ich z obiektu o nazwie identycznej jak grupa.
  • Odwrotne przypisanie (grupa jako obiekt, tabela jako użytkownik) narusza sens składni: po ON występuje obiekt bazy (np. tabela), a po TO podmiot otrzymujący prawa (użytkownik/rola).

W praktyce, mimo że ALL PRIVILEGES bywa wygodne w testach, na produkcji często stosuje się zasadę najmniejszych uprawnień i przyznaje tylko to, co niezbędne (np. samo SELECT dla raportów).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Polecenie GRANT nadaje uprawnienia do obiektów bazy danych (np. tabel, widoków) wskazanemu podmiotowi, czyli użytkownikowi lub roli. Jest to podstawowy mechanizm kontroli dostępu: pozwala zdecydować, kto może odczytywać lub modyfikować dane.
ALL PRIVILEGES oznacza nadanie pełnego zestawu uprawnień, jakie można nadać do wskazanego obiektu w danym systemie bazy danych. Dla tabel zwykle obejmuje operacje na danych (np. odczyt, dopisywanie, zmiany, usuwanie), a czasem także dodatkowe prawa zależne od silnika.
Typowy schemat to: GRANT uprawnienia ON obiekt TO użytkownik. Po ON podajesz obiekt bazy (np. tabelę), a po TO podajesz podmiot otrzymujący prawa (użytkownik lub rolę). Pomylenie kolejności jest częstą przyczyną błędów na egzaminie.
To przeciwne operacje: GRANT przyznaje uprawnienia, a REVOKE je cofa. Uczniowie mylą je, bo oba dotyczą bezpieczeństwa i praw dostępu. Na egzaminie warto zapamiętać parę: "grant = daj", "revoke = odbierz".
Idea jest taka sama: nadanie uprawnień do obiektu. Różnice mogą dotyczyć szczegółów (nazw i zakresu uprawnień, domyślnych zachowań, roli schematów). Na poziomie egzaminu INF.3 liczy się rozumienie konstrukcji: GRANT ... ON ... TO ... i znaczenie nadawania praw.
Dodatek WITH GRANT OPTION stosuje się, gdy chcesz, aby odbiorca uprawnień mógł przekazywać je dalej innym użytkownikom lub rolom. To podnosi uprawnienia administracyjne i w praktyce wymaga ostrożności, bo może prowadzić do niekontrolowanego rozszerzania dostępu.
W praktyce często nadaje się tylko potrzebne prawa, np. SELECT dla raportów (odczyt), INSERT dla dopisywania rekordów, UPDATE dla modyfikacji i DELETE dla usuwania. To realizuje zasadę najmniejszych uprawnień i ogranicza ryzyko błędów lub nadużyć.
Silnik bazy danych analizuje składnię polecenia bardzo dokładnie. Literówka w słowie kluczowym (np. w nazwie uprawnienia) powoduje błąd parsowania i polecenie nie zostanie wykonane. Na egzaminie zwracaj uwagę na dokładną pisownię takich elementów jak PRIVILEGES, SELECT, REVOKE.
W wielu narzędziach (konsolach i klientach SQL) średnik kończy instrukcję i ułatwia wykonywanie wielu poleceń po kolei. Jednak wymaganie średnika zależy od środowiska. Na egzaminie zwykle ważniejsza jest poprawna składnia i znaczenie, ale warto pamiętać o średniku jako dobrej praktyce.
W GRANT obiekt znajduje się po słowie ON (np. tabela "klienci"), a odbiorca uprawnień po słowie TO (np. użytkownik "pracownik"). Jeśli odpowiedź sugeruje odwrócenie tych ról, to zwykle jest to dystraktor sprawdzający rozumienie składni.
info

To pytanie poprawnie rozwiązuje 67% zdających egzamin. średnie

Eksperci podkreślają: "GRANT służy do nadawania uprawnień."

Źródła:

  • PostgreSQL Documentation: "GRANT" (SQL Command), https://www.postgresql.org/docs/current/sql-grant.html - accessed 2026-03-01
  • MySQL 8.0 Reference Manual: "GRANT Statement", https://dev.mysql.com/doc/refman/8.0/en/grant.html - accessed 2026-03-01
  • Microsoft Learn: "GRANT (Transact-SQL)", https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-transact-sql - accessed 2026-03-01

Materiały:

  • Dokumentacja PostgreSQL: polecenie GRANT (sekcja poleceń SQL)
  • Dokumentacja MySQL: składnia GRANT i uprawnienia
  • Dokumentacja Microsoft SQL Server: GRANT (Transact-SQL) oraz modele uprawnień

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego