Polecenie GRANT SELECT, INSERT, UPDATE ON klienci TO anna; służy do nadania uprawnień (przywilejów) użytkownikowi anna. Kluczowe są tu dwa elementy: lista przywilejów oraz obiekt, którego one dotyczą.
1) Jakie uprawnienia są nadawane?
- SELECT – pozwala odczytywać dane z tabeli (wykonywać zapytania zwracające wiersze).
- INSERT – pozwala wstawiać nowe rekordy (nowe wiersze) do tabeli.
- UPDATE – pozwala modyfikować wartości w istniejących rekordach tabeli.
2) Jaki jest zakres (do czego)?
Fragment ON klienci wskazuje, że uprawnienia dotyczą tabeli o nazwie klienci. Oznacza to, że użytkownik nie dostaje automatycznie praw do innych tabel ani do całej bazy danych. Zakres jest ograniczony do tego jednego obiektu.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- Opcje mówiące o "dodawaniu pól" i "zmianie struktury tabeli" dotyczą operacji na schemacie (typowo kojarzonych z ALTER). Takich uprawnień nie ma na liście (są tylko SELECT/INSERT/UPDATE), więc nie wynikają z polecenia.
- Opcje mówiące o "wszystkich tabelach w bazie" są błędne, bo polecenie wskazuje konkretną tabelę. Aby nadać prawa szerzej, trzeba objąć nimi inne obiekty (np. schemat/bazę) zgodnie z możliwościami danego systemu.
Wskazówka egzaminacyjna: zawsze czytaj polecenie GRANT w dwóch krokach: (a) jakie czasowniki/uprawnienia są wymienione, (b) do jakiego obiektu po słowie ON się odnoszą. To zwykle eliminuje pomyłki między uprawnieniami do danych a uprawnieniami do struktury.