Pytanie dotyczy odebrania uprawnień do wykonywania zmian w definicji struktury bazy danych. W praktyce są to operacje typu DDL (Data Definition Language), czyli takie, które wpływają na schemat: tworzenie obiektów, modyfikowanie ich definicji oraz usuwanie.
W MySQL do cofania uprawnień służy polecenie REVOKE. Jeżeli chcemy odebrać prawa do zmian strukturalnych, typowo cofamy przywileje:
- CREATE – prawo do tworzenia obiektów (np. tabel),
- ALTER – prawo do zmiany definicji istniejących obiektów (np. kolumn, indeksów),
- DROP – prawo do usuwania obiektów.
Dlatego odpowiedź "REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'" odpowiada odebraniu uprawnień typowo kojarzonych ze zmianą schematu.
Pozostałe propozycje są niepoprawne z następujących powodów:
- "REVOKE ALL ..." odbierałoby (w ujęciu egzaminacyjnym) zbyt szeroki zestaw uprawnień, a pytanie wymaga odebrania praw jedynie do zmian w strukturze.
- "REVOKE CREATE UPDATE DROP ..." miesza DDL z DML: UPDATE dotyczy modyfikacji danych w wierszach, a nie definicji struktury; dodatkowo brakuje kluczowego ALTER.
- "REVOKE CREATE INSERT DELETE ..." również dotyczy w dużej części DML (INSERT, DELETE) i nie obejmuje typowej zmiany definicji obiektu (ALTER).
Wskazówka egzaminacyjna: gdy w treści pojawia się "struktura", "schemat", "definicja tabeli", najpierw myśl o DDL (CREATE/ALTER/DROP), a gdy "rekordy/dane" – o DML (SELECT/INSERT/UPDATE/DELETE).