Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 00:30
  • Data zakończenia: 8 czerwca 2026 00:46

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Aby wykonać kod napisany w języku PHP, w systemie musi być zainstalowany:

A. tylko przeglądarka internetowa
B. serwer WWW z interpreterem PHP
C. serwer WWW z bazą danych MySQL
D. wyłącznie edytor tekstu
PHP to język wykonywany po stronie serwera, więc do uruchomienia kodu potrzebny jest serwer WWW (np. Apache) wraz z interpreterem PHP. Interpreter przetwarza skrypt, a serwer wysyła do przeglądarki gotowy wynik (zwykle HTML). Baza danych jest opcjonalna - potrzebna dopiero, gdy aplikacja z niej korzysta. Dlatego do wykonania PHP wystarczy serwer WWW z interpreterem PHP.

Pytanie 2

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
B. Funkcje anonimowe oraz ustawienie hasła do bazy danych
C. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
D. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
W analizie pozostałych odpowiedzi można zauważyć, że wiele z nich nie odnosi się do skutecznych metod ochrony bazy danych Microsoft Access. Na przykład, funkcje anonimowe nie są standardową metodą zabezpieczania baz danych. Anonimizacja danych może być stosowana w kontekście ochrony prywatności, ale nie zapobiega dostępowi do samej bazy danych. Ponadto, ustalenie hasła otwarcia bazy danych bez dodatkowych zabezpieczeń nie zapewnia pełnej ochrony, ponieważ łatwe do odgadnięcia hasła mogą być szybko złamane przez atakujących. W kontekście zabezpieczeń SMS z kodem autoryzującym, warto zauważyć, że ta metoda w zasadzie nie jest stosowana w Microsoft Access. Chociaż SMS-y z kodami mogą być skuteczne w autoryzacji na poziomie aplikacji lub systemów webowych, Access nie obsługuje takiej funkcji. Wprowadzenie takich środków może być mylące i nie prowadzi do rzeczywistego zabezpieczenia bazy danych. Podobnie, ustalenie zabezpieczeń na poziomie sesji, mimo że jest ważne w niektórych systemach, nie znajduje zastosowania w Access, który nie obsługuje bardziej zaawansowanych metod autoryzacji sesji, jak to ma miejsce w systemach zarządzania bazami danych wysokiego poziomu, takich jak SQL Server. W skrócie, brak znajomości funkcji i ograniczeń Microsoft Access prowadzi do zaproponowania nieefektywnych metod zabezpieczeń.

Pytanie 3

W MSSQL Server rola dbcreator, która jest predefiniowana, umożliwia użytkownikowi

A. zarządzanie plikami na dysku
B. zarządzanie bezpieczeństwem systemu
C. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych
D. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy
Rola dbcreator w Microsoft SQL Server jest jedną z predefiniowanych ról serwerowych, która umożliwia użytkownikom zaawansowane zarządzanie bazami danych. Użytkownicy z tą rolą mają pełne uprawnienia do tworzenia nowych baz danych, modyfikowania istniejących oraz usuwania ich, co jest kluczowe dla administratorów i deweloperów pracujących w środowisku SQL. Rola ta pozwala także na odzyskiwanie baz danych, co jest niezbędne w kontekście zarządzania danymi krytycznymi oraz zapewniania ciągłości działania aplikacji. Przykład praktyczny zastosowania roli dbcreator można zobaczyć w sytuacji, gdy zespół deweloperski tworzy nowe środowisko testowe na podstawie istniejącej bazy danych produkcyjnej. Dzięki tej roli, deweloperzy mogą w łatwy sposób sklonować bazę, przeprowadzić modyfikacje i testy, a następnie usunąć niepotrzebne już zasoby. Standardy bezpieczeństwa oraz dobre praktyki zarządzania danymi zalecają ograniczanie uprawnień, co czyni rolę dbcreator narzędziem potężnym, ale wymagającym odpowiedzialnego podejścia ze strony użytkowników.

Pytanie 4

Co oceniają testy wydajnościowe oprogramowania?

A. działanie programu przy wadliwym sprzęcie
B. działanie programu przy wadliwym systemie
C. stopień spełnienia wymagań wydajnościowych przez system lub moduł
D. ciąg zdarzeń, gdzie prawdopodobieństwo zależy tylko od poprzedniego
Testy wydajnościowe oceniają, w jakim stopniu system lub moduł spełnia wymagania dotyczące wydajności - czas odpowiedzi, przepustowość czy zachowanie pod obciążeniem. Dzięki nim wiadomo, czy aplikacja udźwignie spodziewany ruch. Dlatego mierzą stopień spełnienia wymagań wydajnościowych.

Pytanie 5

W języku MySQL należy wykorzystać polecenie REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian wyłącznie w definicji struktury bazy danych. Polecenie, które służy do odebrania tych uprawnień, ma następującą formę

A. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
B. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych uprawnień użytkownikom. W przypadku użytkownika 'anna', aby odebrać mu prawa do modyfikacji struktury bazy danych, należy użyć polecenia REVOKE z odpowiednimi uprawnieniami. Wybór REVOKE CREATE ALTER DROP jest poprawny, ponieważ obejmuje kluczowe prawa związane z zarządzaniem strukturą tabeli. Uprawnienie CREATE pozwala na tworzenie nowych obiektów, ALTER umożliwia modyfikację istniejących obiektów, a DROP pozwala na ich usuwanie. Przydzielając te uprawnienia, użytkownik ma pełną kontrolę nad strukturą bazy danych. Odbierając te uprawnienia, ograniczamy możliwości użytkownika do modyfikacji struktury, co jest kluczowe w kontekście zarządzania bezpieczeństwem bazy danych i zapewnienia integralności danych. Przykładem zastosowania tego polecenia może być sytuacja, w której administrator bazy danych chce, aby użytkownik miał jedynie prawa do wprowadzania danych, ale nie do zmiany ich struktury. W takich przypadkach ważne jest, aby precyzyjnie definiować uprawnienia użytkowników, co może pomóc w unikaniu nieautoryzowanych zmian i potencjalnych utrat danych. Należy również odwołać się do standardów SQL, które definiują zarządzanie uprawnieniami w obiektach bazy danych, co jest kluczowym elementem każdego systemu zarządzania bazą danych.

Pytanie 6

Które polecenie MySQL porządkuje tabelę i odzyskuje miejsce zajmowane przez usunięte wcześniej wiersze?

A.
ANALYZE TABLE
B.
OPTIMIZE TABLE
C.
UPDATE TABLE
D.
MODIFY TABLE
Po wielu operacjach usuwania i aktualizacji tabela bywa pofragmentowana i zajmuje więcej miejsca, niż potrzeba. Polecenie OPTIMIZE TABLE porządkuje ją: reorganizuje dane i indeksy oraz zwalnia nieużywaną przestrzeń, co bywa też korzystne dla wydajności. Dlatego do uporządkowania tabeli i odzyskania miejsca służy OPTIMIZE TABLE.

Pytanie 7

Które polecenie nadaje użytkownikowi „uczen” najniższy poziom uprawnień (tylko odczyt, bez zmiany danych i struktury)?

A.
GRANT DROP ON szkola.przedmioty TO uczen;
B.
GRANT SELECT ON szkola.przedmioty TO uczen;
C.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
D.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
Pozostałe polecenia nadają uprawnienia znacznie szersze i bardziej ryzykowne. DROP pozwala usuwać obiekty bazy (np. całe tabele), więc to bardzo wysokie uprawnienie. Połączenie INSERT i DROP daje prawo dodawania danych oraz kasowania obiektów - dużo więcej niż sam odczyt. ALTER umożliwia zmianę struktury tabeli (dodawanie/usuwanie kolumn). Najniższy poziom - tylko podgląd danych - zapewnia GRANT SELECT, dlatego ta odpowiedź jest poprawna.

Pytanie 8

Aby wykonać kopię zapasową bazy danych MySQL, można posłużyć się:

A. importem bazy
B. eksportem bazy
C. agregacją danych
D. modyfikacją danych
Kopię zapasową bazy MySQL tworzy się przez eksport - zapis struktury tabel i danych do pliku (najczęściej .sql). Taki plik zawiera polecenia, które pozwalają później odtworzyć bazę w tym samym stanie, np. po awarii lub przy przenoszeniu na inny serwer. Eksport wykonasz w phpMyAdmin (zakładka Eksport) albo narzędziem mysqldump. Odwrotną operacją, przywracającą dane z pliku, jest import. Do zrobienia kopii zapasowej służy więc eksport bazy.

Pytanie 9

Polecenie serwera MySQL postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
sprawi, że użytkownikowi tKowal zostaną
A. przydzielone uprawnienia do usuwania i aktualizowania danych w tabeli pracownicy
B. odebrane uprawnienia usuwania i modyfikowania danych w tabeli pracownicy
C. odebrane uprawnienia usuwania i dodawania rekordów w tabeli pracownicy
D. przydzielone uprawnienia do wszelkiej zmiany struktury tabeli pracownicy
Polecenie REVOKE w systemie zarządzania bazą danych MySQL jest używane do odebrania przydzielonych wcześniej uprawnień użytkownikowi lub grupie użytkowników. W przypadku instrukcji REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost', użytkownik 'tKowal' traci prawa do usuwania (DELETE) oraz aktualizowania (UPDATE) danych w tabeli 'pracownicy'. Przykładowo, jeśli wcześniej użytkownik 'tKowal' miał możliwość usuwania rekordów pracowników i modyfikacji ich danych, po wykonaniu tej instrukcji te uprawnienia zostaną odebrane. Ważne jest, aby zrozumieć, że REVOKE nie wpływa na inne uprawnienia, które użytkownik mógł posiadać, a jego działanie jest ograniczone do wymienionych operacji w kontekście konkretnej tabeli. W MySQL istnieje także możliwość przydzielania uprawnień za pomocą komendy GRANT, co stanowi odwrotność do REVOKE. Dokumentacja MySQL szczegółowo opisuje te mechanizmy, a ich właściwe użycie jest istotne dla bezpieczeństwa i administracji bazami danych. Aby lepiej zrozumieć praktyczne zastosowanie tych komend, można zapoznać się z przykładami na oficjalnej stronie MySQL, które ilustrują, jak zarządzać uprawnieniami użytkowników w różnych scenariuszach.

Pytanie 10

Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy:

A. kompatybilności
B. bezpieczeństwa
C. funkcjonalności
D. użyteczności
Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy KOMPATYBILNOŚCI (zgodności). Upewniają się, że oprogramowanie współpracuje z różnym sprzętem, systemami i przeglądarkami. Dlatego są to testy kompatybilności.

Pytanie 11

CAPTCHA to technika zabezpieczeń stosowana na stronach WWW, która pozwala:

A. przyspieszyć logowanie do aplikacji internetowej
B. pominąć proces uwierzytelniania w aplikacji
C. potwierdzić, że dane z formularza wysyła człowiek, a nie program
D. automatycznie wypełnić formularz danymi użytkownika
CAPTCHA to test, który ma odróżnić człowieka od programu (bota) - np. przepisanie zniekształconego tekstu, wskazanie obrazków czy proste zadanie. Stosuje się ją w formularzach (rejestracja, komentarze, logowanie), by utrudnić masowe, automatyczne wysyłanie danych przez boty i spam. Dlatego CAPTCHA potwierdza, że dane z formularza wysyła człowiek.

Pytanie 12

Do czego służy w MS SQL Server polecenie RESTORE DATABASE?

A. do przywrócenia bazy danych z kopii zapasowej
B. do aktualizacji bazy z weryfikacją więzów integralności
C. do rekonstrukcji bazy z danych buforowanych
D. do usunięcia bazy z serwera
Polecenie RESTORE DATABASE w MS SQL Server przywraca bazę z wcześniej utworzonej KOPII ZAPASOWEJ (pliku .bak) - odtwarza jej strukturę i dane do stanu z momentu backupu. To odpowiednik „cofnięcia” po awarii. Zapamiętaj parę: BACKUP robi kopię, RESTORE ją odtwarza.

Pytanie 13

Który opis dotyczy metody POST przesyłania formularza?

A. można ją zapisać jako zakładkę w przeglądarce
B. dane są przesyłane w adresie URL, widoczne dla użytkownika
C. ma ograniczenie długości adresu do 255 znaków
D. jest zalecana przy przesyłaniu danych wrażliwych (hasło, numer karty)
Metoda POST przesyła dane w treści żądania (a nie w adresie URL), więc nie są one widoczne w pasku adresu - dlatego zaleca się ją dla danych wrażliwych, jak hasło czy numer karty. Dlatego POST jest zalecana przy danych wrażliwych.

Pytanie 14

Co nada polecenie

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
(anna nie miała wcześniej praw)?
A. prawa do wybierania, wstawiania i aktualizacji DANYCH w tabeli klienci
B. prawa do dodawania kolumn i zmiany STRUKTURY tabeli klienci
C. prawa do danych we WSZYSTKICH tabelach bazy
D. prawa do zmiany struktury wszystkich tabel bazy
GRANT SELECT, INSERT, UPDATE ON klienci TO anna; nadaje użytkowniczce anna prawa do operacji na DANYCH konkretnej tabeli klienci: odczytu (SELECT), wstawiania (INSERT) i aktualizacji (UPDATE). Dlatego nadaje prawa do wybierania, wstawiania i aktualizacji danych w tabeli klienci.

Pytanie 15

Jak zabezpieczyć CREATE USER, aby nie utworzyć konta, gdy już istnieje?

A.
CREATE USER 'anna'@'localhost' IDENTIFIED BY 'haslo';
B.
CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'haslo';
C.
CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'haslo';
D.
CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'haslo';
Aby nie utworzyć konta, które już istnieje (i uniknąć błędu), używa się klauzuli IF NOT EXISTS: CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'haslo';. Gdy użytkownik istnieje, polecenie zostanie pominięte. Dlatego poprawny jest wariant z IF NOT EXISTS.

Pytanie 16

W programie Microsoft Access mechanizmem ochrony danych związanym z tabelą i kwerendą jest

A. określanie zakresu tabel
B. ustalanie limitów przestrzeni na dysku
C. przypisanie uprawnień
D. wykorzystanie makr
Przypisanie uprawnień jest kluczowym elementem zarządzania bezpieczeństwem w Microsoft Access, ponieważ pozwala na kontrolowanie, kto ma dostęp do danych w tabelach i kwerendach. W praktyce, administratorzy baz danych mogą definiować, które grupy użytkowników mogą przeglądać, edytować lub usuwać dane. To podejście jest zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy otrzymują tylko te uprawnienia, które są im niezbędne do wykonywania swoich zadań. Na przykład, jeśli pracownik potrzebuje jedynie przeglądać dane w konkretnej tabeli, administrator może przyznać mu jedynie uprawnienia do odczytu, co minimalizuje ryzyko nieautoryzowanych zmian. Warto także wspomnieć, że przypisanie uprawnień nie ogranicza się tylko do tabel, ale dotyczy również kwerend, formularzy i raportów, co pozwala na szczegółowe zarządzanie dostępem do różnych zasobów systemu. Dobre praktyki w zakresie bezpieczeństwa baz danych zalecają regularne audyty uprawnień, aby upewnić się, że są one nadal odpowiednie do zmieniających się potrzeb organizacji oraz roli użytkowników.

Pytanie 17

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL pozwala na

A. przyznawanie uprawnień za pomocą ustalonego schematu
B. usuwanie konta użytkownika z bazy danych
C. pozbawianie użytkownika uprawnień
D. przyznawanie praw dostępu do tabeli
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL służy do cofnięcia uprawnień, które wcześniej przyznaliśmy jakiejś osobie albo roli. W kontekście baz danych, uprawnienia SELECT to po prostu możliwość oglądania danych w tabeli (nazwa1). To dosyć ważna sprawa, jeśli mówimy o bezpieczeństwie bazy. Dzięki temu możesz kontrolować, kto ma dostęp do jakich danych, co jest szczególnie istotne w przypadku różnych regulacji prawnych, jak RODO. Przykładowo, jeśli użytkownik (nazwa2) miał dostęp do tej tabeli, a później uznaje się, że nie powinien go mieć, to używasz REVOKE, żeby to cofnąć. To normalne podejście w administrowaniu bazami danych, bo bezpieczeństwo danych to bardzo ważny aspekt. Warto również czasami przeglądać, kto ma jakie uprawnienia, żeby zminimalizować ryzyko, że ktoś niepowołany dostanie się do wrażliwych informacji.

Pytanie 18

Jaką metodę przesyłania należy wykorzystać, by zapewnić największe bezpieczeństwo danych zaszyfrowanych w formularzu, które są wysyłane do kodu PHP?

A. Metoda POST, za pomocą protokołu HTTPS
B. Metoda GET, za pomocą protokołu HTTP
C. Metoda GET, za pomocą protokołu HTTPS
D. Metoda POST, za pomocą protokołu HTTP
Jak wiemy, wybieranie metody POST przy użyciu HTTPS to naprawdę najlepszy sposób na przesyłanie wrażliwych danych. Dlaczego? Bo metoda POST przesyła dane w ciele żądania, więc są one mniej widoczne dla niepowołanych osób. W przeciwieństwie do metody GET, która wrzuca wszystko do adresu URL. A protokół HTTPS to już zupełnie inna bajka, bo szyfruje cały ruch między użytkownikiem a serwerem. W praktyce to znaczy, że nasze dane, przykładowo hasła w formularzach logowania, są lepiej chronione przed podsłuchiwaniem. Oprócz tego warto pamiętać o standardach OWASP, które mocno podkreślają, jak ważne jest stosowanie HTTPS i POST tam, gdzie przesyłamy wrażliwe informacje. To naprawdę mogłoby uratować nas przed różnymi atakami, jak Man-in-the-Middle, więc nie ma co ryzykować i warto stosować te metody.

Pytanie 19

Przedstawione zapytanie SQL przydziela uprawnienie SELECT

GRANT SELECT ON hurtownia.*
TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze localhost
B. do wszystkich kolumn w tabeli hurtownia
C. do wszystkich tabel w bazie hurtownia
D. dla użytkownika root na serwerze sprzedawca
Polecenie GRANT SELECT ON hurtownia.* pozwala na przyznanie prawa do wykonywania operacji SELECT na wszystkich tabelach w bazie danych hurtownia. Użycie symbolu * po nazwie bazy danych wskazuje na wszystkie tabele w tej konkretnej bazie. Jest to standardowe podejście w systemach zarządzania bazami danych takich jak MySQL, gdzie specyfikacja bazy danych z symbolem * oznacza pełny zakres tabel. Praktycznie oznacza to, że użytkownik ma możliwość przeglądania danych ze wszystkich tabel bez możliwości modyfikacji czy usuwania danych. Takie rozwiązanie stosowane jest często w przypadku ról użytkowników, którzy potrzebują jedynie dostępu do raportowania i analizy danych. Dobre praktyki w zakresie zarządzania uprawnieniami zalecają przydzielanie dokładnie takich praw, jakie są potrzebne do wykonania określonych zadań, co ogranicza ryzyko niepożądanych zmian w bazie danych. Warto zaznaczyć, że precyzyjne zarządzanie prawami dostępu jest kluczowe dla bezpieczeństwa danych w każdej organizacji.

Pytanie 20

W MS SQL Server instrukcja RESTORE DATABASE jest używana do

A. przywrócenia bazy danych z kopii zapasowej
B. reorganizacji bazy danych na podstawie zapisanych danych
C. usunięcia bazy danych z głównego serwera subskrybenta
D. aktualizacji bazy danych z kontrolą więzów integralności
Fajnie, że się zabrałeś za temat RESTORE DATABASE w MS SQL Server! To naprawdę ważne narzędzie, które pomaga w sytuacjach kryzysowych, tak jak wtedy, gdy coś pójdzie nie tak z bazą danych. Wiesz, jak to jest, czasem coś się popsuje albo niechcący usuniemy ważne dane. Dzięki temu poleceniu można szybko wrócić do wcześniejszego stanu. Istnieją różne sposoby przywracania, jak pełne, różnicowe czy punktowe, co daje dużą swobodę w pracy z danymi. Warto też pamiętać, że regularne robienie kopii zapasowych i testowanie, czy można je przywrócić, to bardzo mądra praktyka. Dzięki temu, w razie problemów, można szybko odzyskać dane. No i nie zapominaj o monitorowaniu kopii zapasowych, by mieć pewność, że wszystko działa jak należy. To naprawdę kluczowe dla bezpieczeństwa danych!

Pytanie 21

Które narzędzie wiersza poleceń służy do OGÓLNEGO administrowania serwerem MySQL (np. status serwera, tworzenie bazy, zmiana hasła)?

A.
truncate
B.
mysqldump
C.
mysqladmin
D.
mysqlcheck
Pozostałe narzędzia mają węższe zadania. truncate to polecenie SQL czyszczące tabelę, mysqldump robi kopię zapasową, a mysqlcheck sprawdza i naprawia tabele. Ogólną administracją serwera zajmuje się mysqladmin.

Pytanie 22

Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję

A. mieszających.
B. abstrakcyjnych.
C. klucza.
D. cyklometrycznych.
Użycie klucza do zabezpieczenia haseł użytkowników w systemach takich jak bankowość internetowa jest kluczowym elementem zapewnienia prywatności i bezpieczeństwa danych. Funkcje klucza, takie jak szyfrowanie, pozwalają na przekształcenie haseł w nieczytelne ciągi znaków, które są niemożliwe do odtworzenia bez odpowiedniego klucza. Przykładem jest zastosowanie algorytmów takich jak AES (Advanced Encryption Standard), które są szeroko uznawane i stosowane w branży. Dobre praktyki w zakresie zabezpieczania danych sugerują używanie silnych, losowych kluczy oraz regularne ich aktualizowanie. Ponadto, najnowsze standardy, takie jak NIST (National Institute of Standards and Technology), rekomendują stosowanie dodatkowych technik, takich jak solenie haseł, co zwiększa ich odporność na ataki. Dzięki temu, nawet w przypadku wycieku bazy danych, potencjalny atakujący napotyka na trudności w odzyskaniu oryginalnych haseł. Zrozumienie i wdrożenie funkcji klucza jest niezbędne dla każdej organizacji, która pragnie skutecznie chronić wrażliwe dane swoich użytkowników.

Pytanie 23

W bazie danych wykonano poniższe polecenia dotyczące uprawnień użytkownika adam:

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;
Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do:
A. zmiany danych oraz przeglądania tabeli klienci
B. usunięcia tabeli lub jej rekordów
C. tworzenia tabeli klienci i modyfikowania w niej danych
D. przeglądania tabeli klienci oraz dodawania do niej rekordów
Użytkownik <b>adam</b> rzeczywiście uzyskuje pełne prawa do zarządzania tabelą <b>klienci</b> po wykonaniu polecenia GRANT ALL PRIVILEGES. To polecenie nadaje wszystkie możliwe uprawnienia, w tym SELECT (przeglądanie danych), INSERT (wstawianie nowych rekordów), UPDATE (aktualizowanie istniejących danych) oraz DELETE (usuwanie rekordów). W kontekście praktycznym, posiadanie ALL PRIVILEGES oznacza, że użytkownik ma swobodę w manipulowaniu danymi, co jest kluczowe w pracy z bazami danych. Na przykład, w aplikacji zarządzającej klientami, <b>adam</b> może zaktualizować szczegóły klienta, dodać nowych klientów do bazy oraz usunąć tych, którzy już nie są aktywni. Jednakże, ważne jest, aby przyznawanie takich uprawnień odbywało się zgodnie z zasadami minimalnych uprawnień, aby zredukować ryzyko nieautoryzowanych zmian. Dlatego też praktyki zarządzania użytkownikami w bazach danych powinny obejmować dokładne audyty uprawnień oraz regularne przeglądy przyznanych praw, aby zapewnić bezpieczeństwo danych.

Pytanie 24

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wszystkie operacje na tabelach bazy dane.
B. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
C. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
D. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.

Pytanie 25

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
Zakładając, że użytkownik wcześniej nie posiadał żadnych uprawnień, to polecenie SQL przyzna użytkownikowi anna prawa jedynie do:
A. wybierania, dodawania rekordów oraz modyfikacji struktury tabeli o nazwie klienci
B. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych wszystkich tabel w bazie o nazwie klienci
D. wybierania, dodawania rekordów oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
Odpowiedź jest prawidłowa, ponieważ polecenie SQL 'GRANT SELECT, INSERT, UPDATE ON klienci TO anna;' przyznaje użytkownikowi 'anna' określone prawa do tabeli o nazwie 'klienci'. Prawa te obejmują możliwość wybierania, wstawiania oraz aktualizacji danych w tej tabeli, co jest zgodne z zasadami zarządzania uprawnieniami w systemach baz danych. W praktyce oznacza to, że użytkownik 'anna' będzie mógł wykonywać zapytania SELECT, co pozwoli mu na odczyt danych, a także wstawiać nowe rekordy (INSERT) oraz modyfikować istniejące (UPDATE). To jest standardowa praktyka w zarządzaniu dostępem do danych, która pozwala na precyzyjne kontrolowanie, jakie operacje mogą być wykonywane przez poszczególnych użytkowników. Dobrą praktyką jest ograniczenie uprawnień do minimum, które użytkownik potrzebuje do wykonania swoich zadań, co jest zgodne z zasadą najmniejszych uprawnień. Na przykład, jeżeli 'anna' jest odpowiedzialna tylko za wstawianie nowych klientów, to przyznawanie jej uprawnień do aktualizacji danych może nie być konieczne. W teorii i praktyce bazy danych, rozróżnienie pomiędzy różnymi rodzajami uprawnień jest kluczowe dla bezpieczeństwa i integralności danych.

Pytanie 26

Po zrealizowaniu polecenia użytkownik Jacek będzie miał możliwość

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. usuwać tabelę i zakładać nową
B. usuwać rekordy z tabeli i przeglądać informacje
C. modyfikować strukturę tabeli oraz dodawać nowe dane
D. przeglądać dane w tabeli i wstawiać nowe dane
Polecenie GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost'; przyznaje użytkownikowi Jacek uprawnienia do przeglądania danych (SELECT) oraz wstawiania nowych danych (INSERT) do tabeli mojaTabela w bazie danych baza1. To oznacza, że Jacek nie ma możliwości usuwania tabeli ani zmiany jej struktury, co jest zarezerwowane dla uprawnień takich jak ALTER czy DROP. Zastosowanie tych uprawnień jest kluczowe w kontekście bezpieczeństwa i zarządzania danymi, ponieważ pozwala na kontrolowanie, kto może wykonywać określone operacje w bazie danych. Przykładem praktycznego zastosowania może być sytuacja, w której zespół programistów musi umożliwić pracownikom działu sprzedaży dostęp do danych klientów w tabeli, ale jednocześnie chce zapobiec przypadkowemu usunięciu lub modyfikacji struktury tabeli. W ten sposób, przyznając tylko uprawnienia SELECT i INSERT, administracja bazy danych może zapewnić odpowiedni poziom kontroli nad danymi, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi i zabezpieczeń.

Pytanie 27

Po zrealizowaniu polecenia SQL użytkownik Ela zyska możliwość wykorzystania poniższych uprawnień:

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. tylko dodawać oraz zmieniać dane
B. przeprowadzać wszystkie operacje na danych
C. tylko tworzyć i zmieniać strukturę tabeli
D. realizować wszystkie działania na strukturze danych
Poprawna odpowiedź to możliwość wykonywania wszystkich akcji na danych przyznanych przez polecenie GRANT. W kontekście SQL, uprawnienia SELECT, INSERT, UPDATE oraz DELETE dają użytkownikowi pełną kontrolę nad danymi w tabeli. Dzięki uprawnieniu SELECT użytkownik może przeglądać dane, a INSERT umożliwia dodawanie nowych rekordów. Z kolei UPDATE pozwala na modyfikację istniejących danych, natomiast DELETE umożliwia ich usunięcie. Przykładowo, jeśli użytkownik Ela chce prowadzić analizy danych, korzystając z SELECT, a następnie wprowadzać poprawki lub dodawać nowe dane, polecenie to daje jej odpowiednie narzędzia do ich realizacji. W praktyce, wydawanie uprawnień dla użytkowników w bazach danych powinno być zgodne z zasadą minimalnych uprawnień, co oznacza, że użytkownicy powinni otrzymywać tylko te uprawnienia, które są konieczne do wykonywania ich zadań. Dzięki temu zwiększa się bezpieczeństwo bazy danych i zmniejsza ryzyko nieautoryzowanego dostępu.

Pytanie 28

Do czego można wykorzystać program FileZilla?

A. do interpretacji kodu PHP
B. do weryfikacji strony internetowej
C. do publikowania strony internetowej
D. do testowania prędkości ładowania strony
Odpowiedzi, które wybrałeś, niestety nie dotyczą FileZilli. Mieszają się tu różne tematy, jak interpretacja kodu PHP czy testowanie wczytywania strony, co nie ma nic wspólnego z tym narzędziem. PHP jest odrębną sprawą, bo skrypty są wykonywane na serwerze, a nie przez FileZillę. Walidacja strony też dotyczy zupełnie innych rzeczy – chodzi o to, czy strona pasuje do jakichś standardów, co robią specjalne narzędzia. A testowanie prędkości wczytywania to już w ogóle inny temat, do tego są inne aplikacje. Czasem zdarza się pomylić funkcje różnych narzędzi, co prowadzi do nieporozumień. Ważne jest, żeby zrozumieć, co naprawdę robi FileZilla i jak można z niej efektywnie korzystać przy tworzeniu stron.

Pytanie 29

W SQL, aby zabezpieczyć kwerendę CREATE USER przed utworzeniem konta, jeżeli ono już istnieje, należy użyć składni

A. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedź 'CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' jest poprawna, ponieważ zastosowanie klauzuli 'IF NOT EXISTS' pozwala na utworzenie użytkownika tylko w przypadku, gdy konto o podanej nazwie nie istnieje w systemie. Jest to niezwykle użyteczne w praktyce, ponieważ minimalizuje ryzyko wystąpienia błędów związanych z próbą utworzenia użytkownika, który już został wcześniej zdefiniowany, co mogłoby prowadzić do niepotrzebnych komplikacji w zarządzaniu bazą danych. Dzięki temu podejściu administratorzy mogą tworzyć skrypty, które są bardziej elastyczne i odporne na błędy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bazami danych. Warto także zaznaczyć, że odpowiednia obsługa błędów oraz unikanie zbędnych operacji wpływa na wydajność systemu, co jest kluczowym aspektem w środowiskach produkcyjnych, gdzie każda operacja ma znaczenie dla dostępności i efektywności aplikacji korzystających z bazy danych.

Pytanie 30

Którego protokołu należy użyć, aby przesłać pliki witryny na serwer hostingowy?

A. FTP
B. IRC
C. HTTP
D. SMTP
Do przesłania plików witryny na serwer hostingowy służy protokół FTP (File Transfer Protocol) - umożliwia wgrywanie i pobieranie plików między komputerem a serwerem. Dlatego używa się FTP.

Pytanie 31

Badania dotyczące skalowalności oprogramowania mają na celu sprawdzenie, czy aplikacja

A. posiada właściwą funkcjonalność
B. jest odpowiednio opisana dokumentacją
C. jest w stanie funkcjonować przy przewidzianym oraz większym obciążeniu
D. jest chroniona przed nieautoryzowanymi operacjami, takimi jak dzielenie przez zero
Odpowiedź 'potrafi działać przy zakładanym i większym obciążeniu' jest prawidłowa, ponieważ testy skalowalności oprogramowania mają na celu ocenę, jak aplikacja radzi sobie w warunkach wzrastającego obciążenia. Skalowalność odnosi się do zdolności systemu do obsługi większej ilości użytkowników lub danych bez utraty wydajności. Przykładem może być aplikacja internetowa, która musi obsługiwać rosnącą liczbę zapytań w godzinach szczytu. Dobrą praktyką jest przeprowadzanie testów obciążeniowych i stresowych, aby zidentyfikować punkty krytyczne i wąskie gardła w architekturze aplikacji. W standardzie ISO/IEC 25010 definiuje się jakość produktu oprogramowania, gdzie skalowalność jest kluczowym zjawiskiem wpływającym na niezawodność i wydajność systemu. Testy te pozwalają również na ocenę, czy architektura aplikacji jest wystarczająco elastyczna, aby dostosować się do zmieniających się potrzeb użytkowników oraz na potwierdzenie, że infrastruktura serwerowa i sieciowa spełniają wymagania związane z przyszłym wzrostem obciążenia.

Pytanie 32

Zgodnie z aktualnie obowiązującym w Polsce prawem, osoby z wykształceniem inżynieryjno-technicznym są zobowiązane do odbywania szkoleń BHP w regularnych odstępach czasu, które nie powinny być dłuższe niż co

A. 1 rok
B. 5 lat
C. 6 lat
D. 8 lat
Wszystkie pozostałe odpowiedzi są błędne, ponieważ nie odpowiadają wymogom prawnym dotyczącym okresowych szkoleń BHP dla inżynieryjno-technicznych pracowników w Polsce. Odpowiedzi sugerujące, że szkolenia powinny odbywać się co 5, 6 lub 8 lat, opierają się na nieprawidłowym rozumieniu przepisów. Ustawa Kodeks pracy jasno określa, że okresowe szkolenia BHP mają na celu nie tylko dostarczenie pracownikom wiedzy na temat bezpieczeństwa, ale także dostosowanie ich umiejętności do zmieniających się warunków w miejscu pracy. Zbyt długi okres pomiędzy szkoleniami mógłby prowadzić do utraty aktualności wiedzy pracowników, co zwiększa ryzyko wypadków oraz zagrożeń zdrowotnych. W praktyce, regularne, coroczne szkolenia są niezbędne do nadążania za nowymi przepisami, technologiami oraz aktualizacjami w procedurach bezpieczeństwa. Ponadto, firmy, które zaniedbują wymóg przeprowadzania takich szkoleń, mogą być narażone na konsekwencje prawne oraz finansowe, w tym na kary administracyjne. Odpowiednie przestrzeganie przepisów dotyczących szkoleń BHP jest kluczowe dla zapewnienia bezpieczeństwa pracowników oraz ochrony firmy przed potencjalnymi stratami.

Pytanie 33

Które zachowanie w środowisku pracy jest zachowaniem moralnym (etycznym)?

A. przestrzeganie poufności zawodowej
B. używanie sprzętu biurowego do celów prywatnych
C. udostępnianie znajomym danych osobowych pracowników
D. przekazywanie rodzinie służbowych materiałów eksploatacyjnych
Zachowaniem moralnym (etycznym) w pracy jest przestrzeganie POUFNOŚCI zawodowej - nieujawnianie informacji, do których ma się dostęp dzięki wykonywanym obowiązkom. Buduje to zaufanie i chroni dane. Dlatego etyczne jest przestrzeganie poufności zawodowej.

Pytanie 34

Prawa CREATE, ALTER, DROP nadane w GRANT dotyczą:

A. pracy z danymi
B. pracy ze STRUKTURĄ bazy
C. pobierania danych z bazy
D. przyznawania uprawnień innym
Polecenia CREATE, ALTER i DROP należą do języka DEFINICJI danych (DDL) - tworzą, zmieniają i usuwają OBIEKTY bazy (tabele, widoki). Nadanie tych praw w GRANT pozwala więc ingerować w STRUKTURĘ bazy, a nie w same dane. Zapamiętaj: CREATE/ALTER/DROP kształtują „szkielet” bazy.

Pytanie 35

Jaki jest domyślny port serwera HTTP?

A. 80
B. 8080
C. 443
D. 21
Pozostałe numery to porty innych usług lub zastosowań. 8080 bywa stosowany jako alternatywny port HTTP - na przykład przez serwery aplikacyjne i środowiska deweloperskie - ale nie jest domyślny dla zwykłego HTTP. 443 to domyślny port HTTPS, czyli HTTP zabezpieczonego szyfrowaniem TLS. 21 obsługuje protokół FTP, służący do przesyłania plików. Standardowy, domyślny port HTTP to 80, dlatego ta odpowiedź jest poprawna.

Pytanie 36

Gaśnicę oznaczoną literą C stosuje się do gaszenia pożarów

Ilustracja do pytania
A. metali palnych.
B. gazów palnych.
C. cieczy i ciał stałych.
D. tłuszczów i olejów kuchennych.
System klasyfikacji pożarów nie jest intuicyjny, więc sporo osób zgaduje po skojarzeniach, a to niestety w ochronie przeciwpożarowej bywa bardzo ryzykowne. Litery na gaśnicach nie oznaczają rodzaju środka gaśniczego, tylko klasę pożaru, do którego dana gaśnica może być bezpiecznie użyta. W europejskiej normie PN-EN 2 wyróżnia się m.in. klasy A, B, C, D i F. Metale palne, takie jak magnez, sód, potas czy aluminium w postaci wiórów, są zaklasyfikowane jako pożary klasy D. Do nich stosuje się specjalistyczne gaśnice proszkowe z proszkiem typu D, absolutnie nie te oznaczone C. Woda czy zwykły proszek może przy takich pożarach spowodować gwałtowne reakcje, wybuchy, rozprysk metalu. Ciecze i ciała stałe topiące się (np. benzyna, rozpuszczalniki, oleje mineralne) należą do klasy B. Do ich gaszenia używa się gaśnic z oznaczeniem B (często A/B), np. proszkowych, pianowych czy śniegowych. Gaśnica tylko z literą C nie jest projektowana pod tego typu zagrożenia, bo sposób rozchodzenia się płomienia w cieczy jest inny niż w gazie, a środek gaśniczy musi tworzyć szczelną warstwę odcinającą dostęp tlenu na powierzchni. Tłuszcze i oleje kuchenne, szczególnie w gastronomii, to osobna klasa F. Do nich stosuje się specjalne gaśnice płynowe, które wytwarzają warstwę mydlastą (saponifikacja) i obniżają temperaturę oleju. Użycie niewłaściwej gaśnicy, np. zwykłej proszkowej tylko z oznaczeniem C albo typowej pianowej do gorącego oleju, może skończyć się rozpryskiem i gwałtownym rozprzestrzenieniem pożaru. Typowy błąd myślowy polega na tym, że ktoś widzi płomień i bierze pierwszą lepszą gaśnicę, bez patrzenia na piktogramy i litery. A to właśnie litera C oznacza pożary gazów palnych, takich jak propan-butan czy metan, czyli sytuacje, gdzie pali się mieszanina gazu z powietrzem, a nie ciecz, tłuszcz czy metal. Z mojego doświadczenia na szkoleniach PPOŻ najlepiej działa zapamiętanie skrótu: A – drewno i papier, B – benzyna, C – gaz, D – metal, F – frytura. To bardzo upraszcza dobór właściwej gaśnicy w praktyce.

Pytanie 37

Domyślna CAPTCHA
CAPTCHA - reCAPTCHA

W CMS Joomla! opcja konfiguracji globalnej, pokazana na ilustracji, służy do
A. zapobiegania atakom typu SQL Injection.
B. wyświetlenia okna umożliwiającego wyszukiwanie tekstu na stronie.
C. wyświetlania okna informującego o zgodzie użytkownika na pliki cookie.
D. dopuszczenia do przesyłania danych z formularzy wypełnionych tylko przez człowieka.
Opcja pokazana na zrzucie w Joomla! dotyczy domyślnej CAPTCHA, czyli mechanizmu weryfikującego, czy formularz wypełnia człowiek, a nie automat (bot). W praktyce, gdy w konfiguracji globalnej wybierzesz np. „CAPTCHA – reCAPTCHA”, Joomla! będzie mogła używać tego mechanizmu we wszystkich formularzach, które potrafią z CAPTCHA współpracować, np. formularz rejestracji użytkownika, formularz kontaktowy, czasem logowanie czy dodawanie komentarzy w rozszerzeniach.

CAPTCHA działa tak, że dodaje do formularza dodatkowy krok: użytkownik musi zaznaczyć odpowiednie pole („Nie jestem robotem”) albo rozwiązać proste zadanie typu rozpoznanie obrazków. Po stronie serwera (tu: Joomla! + Google reCAPTCHA) sprawdzany jest specjalny token. Jeżeli token jest poprawny, dane z formularza są przyjmowane. Jeżeli nie – formularz jest odrzucany. Dzięki temu znacząco ogranicza się spam, masowe rejestracje fałszywych kont i automatyczne wysyłki z formularzy.

Moim zdaniem w każdym publicznym formularzu, szczególnie na stronach firmowych czy szkolnych, warto mieć poprawnie skonfigurowaną CAPTCHA. To jest jeden z podstawowych elementów dobrych praktyk bezpieczeństwa aplikacji webowych – obok filtrowania danych, ograniczania liczby żądań czy stosowania firewalli aplikacyjnych (WAF). Sama CAPTCHA nie zastąpi innych zabezpieczeń, ale bardzo skutecznie zmniejsza liczbę automatycznych ataków i spamu.

W Joomla! konfiguracja globalna jest o tyle wygodna, że ustawiasz raz domyślny typ CAPTCHA, a potem w poszczególnych komponentach (np. „Użytkownicy”, „Kontakty”) tylko zaznaczasz, że chcesz jej używać. W praktyce oznacza to, że formularze będą przyjmować dane tylko wtedy, gdy człowiek poprawnie przejdzie test CAPTCHA – dokładnie tak, jak opisuje poprawna odpowiedź.

Pytanie 38

W celu wykonania kopii bazy danych biblioteka w systemie MySQL należy w konsoli użyć polecenia

A. copymysql –u root biblioteka kopia.sql
B. backupmysql -u root biblioteka kopia.sql
C. mysqldump -u root biblioteka > kopia.sql
D. mysqlduplicate –u root biblioteka > kopia.sql
Poprawne polecenie do wykonania kopii bazy danych MySQL to „mysqldump -u root biblioteka > kopia.sql”. Narzędzie mysqldump jest oficjalnym, standardowym programem dostarczanym razem z serwerem MySQL i właśnie ono służy do tworzenia logicznych kopii zapasowych baz danych. Działa tak, że łączy się z serwerem MySQL, odczytuje strukturę tabel oraz dane, a następnie generuje plik tekstowy zawierający instrukcje SQL typu CREATE TABLE i INSERT. Taki plik można potem w prosty sposób wgrać z powrotem, np. poleceniem „mysql -u root biblioteka < kopia.sql”. To jest bardzo wygodne w praktyce, bo backup jest przenośny między serwerami, wersjami MySQL, a nawet można go edytować ręcznie w razie potrzeby.
W tym poleceniu „-u root” oznacza użytkownika bazy danych, czyli logujemy się jako użytkownik root. W realnym środowisku produkcyjnym zwykle używa się konta z mniejszymi uprawnieniami i dodatkowo opcji „-p”, żeby podać hasło (np. „mysqldump -u backup_user -p biblioteka > kopia.sql”). Nazwa „biblioteka” to nazwa bazy, którą archiwizujemy. Znak „>” to przekierowanie powłoki systemowej (bash, cmd itp.), które zapisuje wynik działania programu mysqldump do pliku „kopia.sql” zamiast wypisywać go na ekran. To przekierowanie nie jest częścią MySQL, tylko mechanizmem systemu operacyjnego, co czasem bywa mylące dla początkujących.
Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: używać mysqldump regularnie, najlepiej w skryptach cron (Linux) lub Harmonogramie zadań (Windows), trzymać kopie na innym serwerze i testować odtwarzanie. W praktyce administracji serwerami i bezpieczeństwa danych takie kopie logiczne są podstawą procedur disaster recovery. W dokumentacji MySQL mysqldump jest wymieniony jako jedno z głównych narzędzi do backupu i migracji baz danych, więc znajomość dokładnie tego polecenia to absolutna podstawa pracy z MySQL w środowiskach webowych i nie tylko.

Pytanie 39

Które polecenia należą w SQL do grupy DCL (Data Control Language)?

A.
CREATE
i
DROP
B.
SELECT
i
INSERT
C.
GRANT
i
REVOKE
D.
DELETE
i
UPDATE
Do grupy DCL (Data Control Language) należą polecenia sterujące UPRAWNIENIAMI: GRANT (nadaje prawa) i REVOKE (odbiera je). Zarządzają dostępem użytkowników do obiektów bazy. Dlatego DCL to GRANT i REVOKE.

Pytanie 40

Aby przywrócić bazę danych o nazwie Sklep z pliku towary.sql, należy w miejsce gwiazdek wpisać nazwę użytkownika. Polecenie wygląda następująco:

mysql -u ******* -p Sklep < towary.sql
A. adres IP bazy danych.
B. nazwę użytkownika.
C. nazwę odzyskiwanej tabeli.
D. liczbę importowanych obiektów bazy.
W tym poleceniu kluczowy jest fragment „-u *******”. Przełącznik -u w kliencie mysql zawsze oznacza nazwę użytkownika bazy danych, pod której kontem chcemy się połączyć z serwerem MySQL/MariaDB. Dlatego w miejsce gwiazdek wpisujemy konkretną nazwę użytkownika, np. root, admin, albo konto utworzone specjalnie do obsługi danej aplikacji, np. sklep_user. To jest standardowa składnia narzędzia wiersza poleceń mysql: mysql -u NAZWA_UŻYTKOWNIKA -p NAZWA_BAZY < plik.sql. Opcja -p mówi, że program ma poprosić o hasło dla tego użytkownika (nie podajemy hasła wprost w poleceniu, ze względów bezpieczeństwa). Nazwa bazy danych, do której importujemy dane, pojawia się dalej, w tym przykładzie jest to Sklep. Z kolei po znaku < podajemy plik z kopią bazy, czyli skryptem SQL zawierającym instrukcje CREATE TABLE, INSERT i inne potrzebne do odtworzenia struktury i danych. W praktyce przy przywracaniu baz danych zawsze łączymy się jako użytkownik, który ma odpowiednie uprawnienia: przynajmniej do tworzenia tabel i wstawiania danych w tej bazie (INSERT, CREATE, ALTER, czasem DROP). W środowiskach produkcyjnych dobrą praktyką jest nie używać konta root, tylko dedykowanego użytkownika z ograniczonymi uprawnieniami. Moim zdaniem warto też pamiętać, że adres IP serwera bazy (opcjonalnie podawany przez -h) i port (-P) to zupełnie inne parametry niż -u. One określają, z jakim serwerem się łączymy, a -u i -p – kim się logujemy. To rozróżnienie jest bardzo ważne przy codziennej administracji i automatyzacji backupów oraz importów.