KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 23.
W języku SQL, po wykonaniu przedstawionych poleceń GRANT, prawo do zmiany struktury tabeli oraz jej usuwania zostanie przypisane
Ilustracja przedstawia fragment kodu SQL, który dotyczy nadawania uprawnień do bazy danych.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Zmiana struktury tabeli oraz usuwanie tabeli odpowiadają uprawnieniom DDL (typowo ALTER i DROP) nadanym poleceniami GRANT. Adresatami tych uprawnień są wskazani użytkownicy, więc po wykonaniu poleceń prawo to przysługuje Adamowi i Annie, a nie pozostałym konfiguracjom osób.

Pełne wyjaśnienie:

W SQL uprawnienia nadawane poleceniem GRANT dotyczą konkretnych operacji na konkretnym obiekcie bazy (np. tabeli). Pytanie dotyczy dwóch czynności typowo zaliczanych do DDL:

  • zmiana struktury tabeli (np. dodanie/zmiana kolumny) – odpowiada uprawnieniu typu ALTER,
  • usunięcie tabeli – odpowiada uprawnieniu typu DROP.

Jeżeli przedstawione polecenia GRANT nadają właśnie te uprawnienia (bezpośrednio lub w zestawie uprawnień obejmującym ALTER i DROP) określonym użytkownikom, to prawo do zmiany struktury tabeli oraz jej usuwania mają dokładnie ci użytkownicy, którzy zostali wskazani jako beneficjenci GRANT dla tych operacji.

Dlaczego poprawna jest odpowiedź "Adamowi i Annie"?
Bo to oni są adresatami uprawnień odpowiadających operacjom ALTER i DROP w pokazanych poleceniach GRANT, a zatem mogą wykonywać działania modyfikujące schemat tabeli oraz usuwać tabelę.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "tylko Annie" – byłaby prawdziwa wyłącznie wtedy, gdyby GRANT przyznawał uprawnienia DDL wyłącznie Annie, bez nadania ich Adamowi.
  • "Tomaszowi i Annie" – byłaby prawdziwa, gdyby uprawnienia ALTER/DROP otrzymał Tomasz zamiast Adama.
  • "Tomaszowi i Adamowi" – byłaby prawdziwa, gdyby uprawnienia DDL pomijały Annę, a obejmowały Tomasza.

Na egzaminie warto pamiętać o typowym rozdziale ról: uprawnienia DML (SELECT/INSERT/UPDATE/DELETE) nie oznaczają automatycznie prawa do zmian w strukturze tabeli. Uprawnienia do DDL (ALTER/DROP) są zwykle przyznawane węższej grupie użytkowników, bo mają duży wpływ na działanie aplikacji i bezpieczeństwo danych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
GRANT służy do nadawania uprawnień w bazie danych (np. do tabel, widoków, schematów) wskazanym użytkownikom lub rolom. Określasz, kto dostaje dostęp, do czego (jaki obiekt) i jakie czynności może wykonywać.
Zmiana struktury tabeli (np. dodanie kolumny, zmiana typu danych) jest operacją DDL i zwykle wymaga uprawnienia ALTER do tej tabeli (lub szerszego uprawnienia administracyjnego, zależnie od DBMS).
Usunięcie tabeli to operacja DDL wykonywana poleceniem DROP TABLE. W wielu systemach wymaga uprawnienia DROP do tabeli albo prawa do zarządzania obiektami w danym schemacie. Dokładne nazwy i zasady zależą od DBMS.
SELECT i UPDATE to uprawnienia DML dotyczące danych wierszy/kolumn, a ALTER TABLE zmienia definicję obiektu (schemat). To inny poziom kontroli. Celowo rozdziela się te uprawnienia, aby użytkownik aplikacyjny mógł pracować na danych, ale nie mógł zmieniać struktury bazy.
W GRANT kluczowe jest, kto występuje po słowie TO (lub odpowiedniku w danym DBMS). To beneficjent uprawnienia. Na egzaminie czytaj dokładnie listę osób/ ról po TO i sprawdzaj, jakie uprawnienia są przyznawane w danym poleceniu.
WITH GRANT OPTION oznacza, że beneficjent może dalej przekazywać otrzymane uprawnienie innym. Nie zmienia faktu, kto pierwotnie ma prawo wykonać daną operację, ale może wpływać na to, czy inni użytkownicy mogą je otrzymać pośrednio.
Najczęstsze błędy to mylenie uprawnień DML z DDL (np. uznanie, że UPDATE oznacza ALTER), pomijanie adresata po TO, oraz ignorowanie tego, że uprawnienia są nadawane dla konkretnego obiektu (konkretnej tabeli), a nie "dla całej bazy".
Zależy od DBMS. Zwykle używa się widoków systemowych/katalogów (np. informacji o przywilejach) albo narzędzi administracyjnych. W praktyce administrator weryfikuje, czy użytkownik ma prawa ALTER/DROP dla danej tabeli lub odpowiednią rolę w schemacie.
Tak. Często nadaje się uprawnienia roli (np. roli administracyjnej), a potem przypisuje użytkowników do tej roli. To upraszcza zarządzanie i audyt: zmieniasz uprawnienia w jednym miejscu, zamiast modyfikować GRANT dla wielu kont osobno.
Przećwicz rozpoznawanie: (1) obiektu po ON, (2) listy uprawnień, (3) adresata po TO oraz (4) wpływu opcji dodatkowych. Warto robić mini-zadania, gdzie mapujesz operacje (ALTER/DROP/SELECT) na wymagane przywileje i wskazujesz, kto je posiada.
info

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

Specjaliści zwracają uwagę: "Zmiana struktury tabeli oraz usuwanie tabeli odpowiadają uprawnieniom DDL (typowo ALTER i DROP) nadanym poleceniami GRANT."

Źródła:

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

Materiały:

  • Dokumentacja wybranego DBMS: sekcja dotycząca GRANT/REVOKE oraz uprawnień na obiektach
  • Ćwiczenia praktyczne z rolami i uprawnieniami w przykładowej bazie (np. baza szkoleniowa)
  • Notatki/ściąga z rozróżnienia DDL vs DML i odpowiadających im uprawnień

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego