KWALIFIKACJA INF3 - CZERWIEC 2015

PYTANIE NR 22.
W języku SQL przywilej SELECT polecenia GRANT pozwala użytkownikowi baz danych na
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Przywilej SELECT nadawany poleceniem GRANT uprawnia użytkownika do wykonywania zapytań SELECT, czyli do odczytu (pobierania) wierszy z tabeli (czasem także z widoku). Nie obejmuje usuwania ani modyfikacji danych oraz nie daje prawa do tworzenia obiektów bazy — te uprawnienia nadaje się oddzielnie.

Pełne wyjaśnienie:

Przywilej SELECT w SQL dotyczy odczytu danych. Jeśli administrator nada użytkownikowi uprawnienie SELECT poleceniem GRANT, to użytkownik może uruchamiać zapytania, które pobierają rekordy z danej tabeli (a w wielu systemach analogicznie także z widoku, jeśli uprawnienie dotyczy widoku).

Odczyt oznacza, że użytkownik może przeglądać dane spełniające warunki zapytania, sortować je, łączyć tabele (JOIN) i budować wyniki raportowe, ale bez zmiany zawartości tabeli.

Odpowiedź "usunięcie danych z tabeli" jest niepoprawna, ponieważ usuwanie wierszy wymaga uprawnienia związanego z operacją DELETE (lub równoważnego prawa w danym systemie). Sam SELECT nie pozwala na trwałe usunięcie rekordów.

Odpowiedź "modyfikowanie danych w tabeli" również jest niepoprawna: modyfikacja obejmuje aktualizację istniejących wierszy (UPDATE) albo dopisywanie nowych (INSERT). To są odrębne typy działań i wymagają odrębnych przywilejów.

Odpowiedź "tworzenie tabeli" jest błędna, bo tworzenie obiektów bazy danych (np. tabel) dotyczy poleceń DDL, takich jak CREATE. Uprawnienia do tworzenia obiektów są inną kategorią niż uprawnienia do odczytu danych.

W praktyce na egzaminie warto pamiętać zasadę: SELECT = odczyt. Pozostałe operacje (INSERT/UPDATE/DELETE/CREATE) zawsze wymagają innych, osobno nadawanych uprawnień.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Uprawnienie SELECT pozwala użytkownikowi odczytywać dane, czyli wykonywać zapytania zwracające wiersze z tabeli (lub widoku, jeśli dotyczy widoku). Nie pozwala zmieniać zawartości tabeli ani tworzyć nowych obiektów bazy.
SELECT jest operacją tylko do odczytu. Usuwanie rekordów to osobna operacja (DELETE) i wymaga oddzielnego przywileju. Nadanie SELECT nie daje automatycznie praw do modyfikacji lub kasowania danych.
Do modyfikowania danych zwykle potrzebujesz uprawnienia do UPDATE (zmiana istniejących wierszy) oraz często także INSERT (dodawanie nowych). SELECT pozwala jedynie zobaczyć dane, a nie je zmieniać.
Tworzenie tabel to operacje DDL (np. CREATE). Wymagane są uprawnienia do tworzenia obiektów w danym schemacie lub bazie. Nie wynika to z samego SELECT, bo SELECT dotyczy wyłącznie odczytu danych.
To zależy od systemu i sposobu nadania praw. Najczęściej SELECT daje prawo odczytu z obiektu (tabeli/widoku), ale w części rozwiązań można ograniczyć odczyt do konkretnych kolumn lub wierszy przez dodatkowe mechanizmy (np. widoki).
W praktyce użytkownik musi mieć możliwość uwierzytelnienia i połączenia z serwerem (login/role). Dopiero potem jego uprawnienia obiektowe, takie jak SELECT, decydują, co może zrobić na tabelach. Sam SELECT bez dostępu do sesji nie zadziała.
Jeśli w treści pojawia się "SELECT" jako przywilej lub uprawnienie, prawie zawsze chodzi o odczyt. Usuwanie to DELETE, modyfikacja to UPDATE/INSERT, a tworzenie obiektów to CREATE. To proste skojarzenie zwykle wystarcza.
Najczęściej myli się SELECT z "pełnym dostępem" do tabeli. Uczniowie wybierają odpowiedzi o modyfikacji lub usuwaniu, bo kojarzą pracę z danymi jako edycję. Warto pamiętać rozdział: odczyt ≠ zmiana ≠ tworzenie obiektów.
W wielu systemach można nadawać SELECT zarówno na tabelach, jak i na widokach, bo widok jest obiektem, z którego da się odczytywać dane. Na egzaminie kluczowa idea pozostaje ta sama: SELECT oznacza możliwość pobrania danych.
Najlepiej ćwiczyć na prostych scenariuszach: utworzyć użytkownika i nadać mu osobno SELECT, INSERT, UPDATE, DELETE, a potem sprawdzić, co działa, a co daje błąd braku uprawnień. Takie testy utrwalają różnice między typami przywilejów.
info

Około 72% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Eksperci podkreślają: "Przywilej SELECT nadawany poleceniem GRANT uprawnia użytkownika do wykonywania zapytań SELECT, czyli do odczytu (pobierania) wierszy z tabeli (czasem także z widoku)."

Źródła:

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

Materiały:

  • Dokumentacja systemu bazy danych używanego na zajęciach (sekcja o uprawnieniach)
  • Ćwiczenia laboratoryjne z tworzenia użytkowników i nadawania uprawnień
  • Materiały o bezpieczeństwie baz danych i zasadzie najmniejszych uprawnień

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego