GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost'; Po wydaniu polecenia SQL prezentowanego w ramce użytkownik Ela będzie mógł
GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';Po wydaniu polecenia SQL prezentowanego w ramce użytkownik Ela będzie mógł
Pytanie z egzaminu CKE, czerwiec 2022 (arkusz EE.09-SG-22.06).
Polecenie nadaje cztery uprawnienia do danych tabeli tab1 w bazie baza1: SELECT pozwala je odczytywać, INSERT - dodawać, UPDATE - zmieniać, a DELETE - usuwać. To komplet operacji na danych, często określany skrótem CRUD. Zapis 'Ela'@'localhost' oznacza konto Ela łączące się z tego samego komputera, na którym działa serwer. Uprawnień do zmiany struktury, takich jak CREATE, ALTER czy DROP, polecenie nie zawiera, więc Ela nie doda kolumny ani nie usunie tabeli. Do zapamiętania: SELECT, INSERT, UPDATE i DELETE dotyczą danych, a CREATE, ALTER i DROP - struktury. Uprawnienia odbiera się poleceniem REVOKE. Nadane prawa obowiązują od razu.
Błędne odpowiedzi mylą operacje na danych z operacjami na strukturze albo pomijają część praw. Tworzenie i modyfikacja struktury tabel wymagałyby uprawnień CREATE i ALTER, a operacje na strukturze w ogóle - także DROP; żadnego z nich w poleceniu nie ma. Dodawanie i modyfikacja danych to tylko INSERT i UPDATE, a polecenie nadaje jeszcze SELECT i DELETE, więc słowo „jedynie” czyni tę odpowiedź niepełną. Cztery wymienione uprawnienia pokrywają wszystkie podstawowe działania na rekordach: odczyt, dodawanie, zmianę i usuwanie. Ela może więc wykonywać wszystkie akcje na danych w tabeli tab1, ale nie zmieni jej budowy. Gdyby Ela miała też zmieniać strukturę, administrator dopisałby do listy uprawnienia CREATE, ALTER i DROP albo nadałby jej wszystkie prawa zapisem ALL PRIVILEGES, co w praktyce robi się rzadko.