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: CREATE USER w MySQL GRANT w MySQL Przywileje obiektowe w SQL SELECT w SQL

Przedstawione polecenie SQL nadaje prawo SELECT

GRANT SELECT ON *.* TO 'sprzedawca'@'localhost';
A. do wszystkich tabel we wszystkich bazach na serwerze
B. tylko do tabeli o nazwie * w bieżącej bazie
C. dla użytkownika root na serwerze localhost
D. tylko do tabel w bazie o nazwie sprzedawca
Poprawna odpowiedź to: do wszystkich tabel we wszystkich bazach na serwerze. W składni GRANT SELECT ON *.* TO 'sprzedawca'@'localhost'; fragment SELECT oznacza nadanie prawa odczytu danych, czyli wykonywania zapytań SELECT. Zapis *.* składa się z dwóch części: pierwsza gwiazdka oznacza dowolną bazę danych, a druga dowolną tabelę w tej bazie. Oznacza to uprawnienie globalne do odczytu tabel na serwerze bazy danych dla konta 'sprzedawca'@'localhost'. Trzeba zapamiętać schemat: GRANT uprawnienie ON baza.tabela TO użytkownik@host. W praktyce tak szerokie uprawnienie stosuje się ostrożnie, ponieważ użytkownik może odczytywać dane ze wszystkich baz. Częstsze jest ograniczenie, np. ON sklep.* tylko do jednej bazy.
W tym poleceniu najłatwiej pomylić nazwę użytkownika z nazwą bazy danych albo znaczenie znaku *. Odpowiedź: do wszystkich tabel we wszystkich bazach na serwerze wynika bezpośrednio z zapisu *.* po słowie ON. Pierwsza gwiazdka oznacza każdą bazę danych, druga - każdą tabelę. Sformułowanie tylko do tabel w bazie o nazwie sprzedawca byłoby trafne przy zapisie ON sprzedawca.*, gdzie sprzedawca występowałby jako nazwa bazy, a nie jako nazwa konta. Odpowiedź dla użytkownika root na serwerze localhost nie pasuje, ponieważ adresatem uprawnienia jest 'sprzedawca'@'localhost', a nie root. Zapis użytkownik@host określa konto i miejsce logowania. Odpowiedź tylko do tabeli o nazwie * w bieżącej bazie błędnie traktuje gwiazdkę jako dosłowną nazwę tabeli. W składni uprawnień SQL gwiazdka pełni rolę symbolu wieloznacznego, a nie nazwy obiektu. Typowy błąd polega na czytaniu fragmentu po TO jako nazwy bazy albo na ignorowaniu formatu baza.tabela po ON.

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.