Polecenie GRANT służy do nadawania uprawnień użytkownikowi. W podanym przykładzie nadawane są dwa prawa: CREATE oraz ALTER.
CREATE dotyczy tworzenia obiektów bazy danych (np. tabel). ALTER dotyczy zmiany struktury istniejących obiektów, np. dodania/usunięcia kolumny, zmiany typu danych kolumny, dodania indeksu. Są to typowe uprawnienia z obszaru DDL (Data Definition Language), a więc dotyczą schematu/struktury, nie samych danych.
Kluczowe jest też rozumienie zakresu sklep.*. Zapis baza.* oznacza, że uprawnienia odnoszą się do wszystkich tabel (oraz typowo innych obiektów w danym systemie) w obrębie wskazanej bazy sklep. Nie jest to pojedyncza tabela o nazwie "sklep", tylko baza danych "sklep" oraz dowolna tabela w niej (symbol "*").
Dlatego poprawne jest stwierdzenie, że użytkownik otrzyma prawa do tworzenia i zmiany struktury wszystkich tabel w bazie sklep.
Pozostałe odpowiedzi są błędne z następujących powodów:
- Wariant mówiący o "tabeli sklep" pomija znaczenie .*, czyli zakresu obejmującego wiele tabel, i błędnie sprowadza uprawnienie do jednego obiektu.
- Warianty o "wstawianiu i zmianie danych" dotyczą uprawnień DML, takich jak INSERT i UPDATE. W poleceniu ich nie ma, więc nie można wnioskować o możliwości modyfikacji danych.
- Wariant o modyfikacji danych we wszystkich tabelach jest podwójnie mylący: rozpoznaje co prawda zakres "wszystkie tabele", ale przypisuje mu nie te typy uprawnień (DML zamiast DDL).
W praktyce egzaminacyjnej warto zapamiętać: CREATE/ALTER = schemat/struktura, a INSERT/UPDATE/DELETE = dane. Z kolei gwiazdka po nazwie bazy (baza.*) zwykle oznacza "wszystkie tabele w tej bazie".