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 GRANT w SQL

Polecenie w języku SQL GRANT ALL PRIVILEGES ON klienci TO pracownik

A. nadaje uprawnienia grupie klienci do tabeli pracownik.
Źle. Role nazw są odwrócone: klienci to tabela po słowie ON, a pracownik to odbiorca po TO.
B. nadaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik.
Dobrze. GRANT nadaje prawa, ALL PRIVILEGES to komplet uprawnień, ON wskazuje tabelę klienci, a TO odbiorcę.
C. odbiera wszystkie uprawnienia pracownikowi do tabeli klienci.
Źle. Odbieranie uprawnień wykonuje polecenie REVOKE ... FROM, a nie GRANT.
D. skopiuje uprawnienia z grupy klienci na użytkownika pracownik.
Źle. GRANT nie kopiuje uprawnień z grupy, tylko nadaje wymienione prawa wskazanemu użytkownikowi.

Pytanie z egzaminu CKE, wrzesień 2014 (arkusz E.14-X-14.08).

Polecenie GRANT ALL PRIVILEGES ON klienci TO pracownik nadaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik. Budowa polecenia jest stała: po GRANT stoją uprawnienia, po ON obiekt, którego dotyczą, a po TO odbiorca. Słowa ALL PRIVILEGES oznaczają komplet praw do obiektu - odczyt, dopisywanie, modyfikację i usuwanie danych oraz pozostałe przywileje tabeli. Do zapamiętania: GRANT nadaje, a REVOKE odbiera uprawnienia. W praktyce administrator rzadko daje wszystko, częściej wymienia tylko potrzebne prawa, np. GRANT SELECT, INSERT ON klienci TO pracownik, żeby ograniczyć skutki pomyłki albo włamania. Uprawnienia można też nadać do całej bazy, zapisując po ON nazwę bazy z gwiazdką, np. sklep.*.

Pułapką jest tu odczytanie nazw w złej roli. Słowo ON wskazuje obiekt - tabelę klienci - a TO wskazuje odbiorcę, czyli użytkownika pracownik. Odpowiedź o nadaniu praw grupie klienci do tabeli pracownik zamienia te role miejscami. Odpowiedź o kopiowaniu uprawnień z grupy klienci zakłada istnienie grupy, której w poleceniu nie ma, a GRANT niczego nie kopiuje - przyznaje wymienione prawa. Odbieranie uprawnień to zadanie polecenia REVOKE, które ma odwrotny kierunek: REVOKE ALL PRIVILEGES ON klienci FROM pracownik. Skoro w poleceniu jest GRANT i ALL PRIVILEGES, poprawne jest nadanie kompletu uprawnień do tabeli klienci użytkownikowi pracownik. Warto czytać takie polecenie jak zdanie: nadaj (GRANT) wszystkie uprawnienia (ALL PRIVILEGES) do tabeli klienci (ON klienci) użytkownikowi pracownik (TO pracownik). Takie tłumaczenie od razu pokazuje, która nazwa oznacza obiekt, a która odbiorcę, i chroni przed zamianą ról.

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.