Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych Administracja serwerem i bezpieczeństwo

Słowa kluczowe: DCL w SQL REVOKE w SQL

Polecenie SQL

GRANT SELECT ON nazwa1 TO nazwa2;
pozwala na
A. odebranie użytkownikowi nazwa2 prawa odczytu tabeli nazwa1.
Źle. Odbieranie uprawnień wykonuje REVOKE ... FROM. GRANT zawsze nadaje prawa.
B. usunięcie konta nazwa2 z bazy danych.
Źle. Konto usuwa DROP USER. GRANT zmienia tylko uprawnienia istniejącego użytkownika.
C. nadanie użytkownikowi nazwa2 prawa odczytu danych z tabeli nazwa1.
Dobrze. GRANT SELECT daje użytkownikowi nazwa2 prawo odczytu danych z tabeli nazwa1.
D. nadanie użytkownikowi nazwa2 wszystkich uprawnień do tabeli nazwa1.
Źle. Wszystkie uprawnienia daje GRANT ALL. Tutaj nadano tylko SELECT, czyli odczyt.

GRANT nadaje uprawnienia. Schemat polecenia to: GRANT uprawnienie ON obiekt TO użytkownik;. Tutaj uprawnieniem jest SELECT, czyli odczyt danych, obiektem tabela nazwa1, a odbiorcą użytkownik nazwa2. Po wykonaniu nazwa2 może pobierać dane z nazwa1 zapytaniami SELECT, ale nie może ich zmieniać ani usuwać.

Uprawnienia łączy się przecinkami, np. GRANT SELECT, INSERT, UPDATE ON sklep.klienci TO 'anna'@'localhost';. Zapis sklep.* obejmuje wszystkie tabele bazy. Odwrotnością jest REVOKE SELECT ON nazwa1 FROM nazwa2;, które odbiera prawo. Zasada najmniejszych uprawnień mówi: dawaj tylko to, co jest potrzebne do pracy.

Nadane prawa sprawdzisz poleceniem SHOW GRANTS FOR nazwa2;.

Błędne odpowiedzi łatwo wybrać, jeśli myli się kierunek polecenia albo jego zakres. Odbieranie uprawnień to zadanie REVOKE, które ma budowę lustrzaną: zamiast TO używa słowa FROM. GRANT zawsze dodaje prawa.

Usunięcie konta wykonuje DROP USER nazwa2;. GRANT w ogóle nie dotyka istnienia konta, zmienia tylko jego uprawnienia.

Wszystkie uprawnienia nadaje się jawnie słowami ALL PRIVILEGES albo ALL: GRANT ALL ON nazwa1 TO nazwa2;. W tym poleceniu stoi wyłącznie SELECT, więc użytkownik dostaje tylko odczyt. Próba wykonania INSERT czy DELETE na nazwa1 zakończy się błędem braku uprawnień.

Zapamiętaj parę słów kluczowych: GRANT ... TO daje komuś prawa, REVOKE ... FROM zabiera je komuś. Słowo po nazwie obiektu od razu mówi, które polecenie widzisz. Uprawnienia nie znikają też przy zmianie hasła, bo hasło i prawa to osobne ustawienia konta. Kto ma odczyt, nie może jeszcze modyfikować danych.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.