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: 30 kwietnia 2026 23:59
  • Data zakończenia: 1 maja 2026 00:05

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Parkowanie domeny to proces, który polega na

A. nabyciu nowej domeny
B. zmianie właściciela domeny poprzez cesję
C. dodaniu aliasu CNAME dla domeny
D. stworzeniu strefy domeny i wskazaniu serwerów DNS
Parkowanie domeny to proces, który polega na utworzeniu strefy domeny i wskazaniu odpowiednich serwerów DNS, co umożliwia zarządzanie ruchem związanym z daną domeną. Jest to szczególnie istotne w przypadku, gdy domena została zakupiona, ale nie jest jeszcze używana do żadnej aktywności online, takiej jak hosting strony internetowej. W praktyce, gdy parkowana domena jest przypisana do serwerów DNS, użytkownik może skonfigurować różne usługi, takie jak e-maile, subdomeny czy redirecty. Parkowanie domeny jest również używane w celu ochrony marki, pozwalając na rezerwację nazwy domeny, zanim zostanie ona wykorzystana. Dzięki odpowiednim ustawieniom DNS można również monitorować ruch czy analizować dane związane z parkowaną domeną, co zgodne jest z najlepszymi praktykami branżowymi. Takie podejście zapewnia elastyczność i kontrolę nad domeną w oczekiwaniu na jej pełne wykorzystanie.

Pytanie 2

Jak można utworzyć kopię zapasową bazy danych MySQL?

A. modyfikowaniem danych
B. agregowaniem danych
C. eksportowaniem bazy
D. importowaniem bazy
Import bazy danych nie jest procesem, który może służyć jako kopia zapasowa, ponieważ polega on na wprowadzaniu danych do bazy z plików zewnętrznych. Wykorzystuje się go głównie do przywracania danych z wcześniej stworzonych kopii zapasowych lub do migracji danych pomiędzy bazami. Zatem, import nie generuje kopii zapasowej, a jedynie odtwarza stan bazy z już istniejących danych. Agregacja danych, z kolei, to proces, który polega na zbieraniu i przetwarzaniu danych z różnych źródeł w celu uzyskania bardziej złożonych informacji, co nie ma nic wspólnego z tworzeniem kopii zapasowych. Chociaż agregacja może być przydatna do analizy danych, nie ma zastosowania w kontekście ochrony danych bazy. Modyfikacja danych odnosi się do zmiany istniejących rekordów w bazie danych, co również nie jest związane z procesem tworzenia kopii zapasowych. Modyfikacja może prowadzić do utraty ważnych informacji, dlatego też kluczowe jest najpierw zabezpieczenie danych poprzez eksport przed jakimikolwiek zmianami. W związku z tym, żadna z wymienionych odpowiedzi nie jest właściwa w kontekście wykonywania kopii zapasowej bazy MySQL.

Pytanie 3

Polecenie GRANT w języku SQL służy do

A. nadawania użytkownikom praw do obiektów.
B. odbierania użytkownikom praw do obiektów.
C. umieszczania nowych danych w bazie.
D. aktualizacji istniejących danych w bazie.
Poprawnie – polecenie GRANT w SQL służy właśnie do nadawania użytkownikom praw do obiektów w bazie danych. W praktyce GRANT jest jednym z kluczowych narzędzi mechanizmu kontroli dostępu, czyli tzw. autoryzacji. Najpierw ktoś łączy się z bazą (to jest uwierzytelnianie – login/hasło, certyfikat itd.), a dopiero potem baza sprawdza, jakie uprawnienia ma ten użytkownik. I tu wchodzi GRANT. Administrator lub właściciel obiektu może przyznać użytkownikowi np. prawo SELECT do tabeli `klienci`, prawo INSERT do tabeli `zamowienia`, albo prawo EXECUTE do procedury składowanej. Składnia jest dość prosta, np.: `GRANT SELECT, INSERT ON klienci TO jan;`. W większości systemów (np. PostgreSQL, Oracle, MySQL/MariaDB, SQL Server) idea jest podobna, różnią się tylko szczegóły i nazwy ról czy typów uprawnień. W dobrych praktykach bezpieczeństwa nie daje się użytkownikom uprawnień typu „wszystko na wszystkim”, tylko dokładnie to, czego potrzebują (tzw. zasada najmniejszych uprawnień – least privilege). Moim zdaniem warto już na etapie nauki SQL odróżniać polecenia do pracy na danych (SELECT, INSERT, UPDATE, DELETE) od poleceń do zarządzania uprawnieniami, takich jak GRANT i REVOKE. W codziennej pracy administratora baz, programisty backendu czy nawet osoby od DevOps, GRANT pojawia się bardzo często: przy tworzeniu nowych kont aplikacyjnych, przy separacji środowisk (dev/test/prod), przy ograniczaniu dostępu do wrażliwych tabel, np. z danymi osobowymi. Dobre zrozumienie GRANT pomaga też szybko diagnozować błędy typu „permission denied” i świadomie projektować politykę bezpieczeństwa w systemie.

Pytanie 4

Aby udostępnić aplikację PHP w sieci, konieczne jest przesłanie jej plików źródłowych na serwer z wykorzystaniem protokołu

A. HTTP
B. NNTP
C. SMTP
D. FTP
FTP, czyli File Transfer Protocol, to protokół, który umożliwia przesyłanie plików między komputerem lokalnym a serwerem w sieci. Jego główną zaletą jest możliwość transferu dużych zbiorów danych oraz zarządzania plikami na serwerze. Aby zamieścić aplikację PHP w Internecie, niezbędne jest skopiowanie plików źródłowych na serwer, a FTP jest najczęściej stosowanym sposobem do tego celu. W praktyce, aby skorzystać z FTP, użytkownik potrzebuje klienta FTP, takiego jak FileZilla, który pozwala na łatwe połączenie z serwerem poprzez podanie adresu serwera, nazwy użytkownika i hasła. Po nawiązaniu połączenia, użytkownik może przesyłać pliki, zmieniać ich nazwy, a także organizować struktury katalogów. Protokół FTP korzysta z portów 20 i 21 do przesyłania danych i komunikacji kontrolnej, co czyni go standardowym rozwiązaniem dla web developerów. Użycie FTP jest zgodne ze standardami IETF, a jego funkcjonalność jest szeroko dokumentowana w RFC 959, co podkreśla jego niezawodność i stabilność jako narzędzia do transferu plików w środowiskach webowych.

Pytanie 5

Plik konfiguracyjny, który umożliwia ustalenie parametrów PHP dla całego serwera, to

A. httpd.conf
B. my.ini
C. config.inc.php
D. php.ini
Plik konfiguracyjny php.ini jest kluczowym elementem w konfiguracji środowiska PHP na serwerze. Umożliwia on zdefiniowanie różnorodnych ustawień, które mają wpływ na działanie aplikacji PHP. W pliku tym można ustawić m.in. poziom raportowania błędów, limit czasu wykonywania skryptów, wielkość pamięci, dostępne rozszerzenia oraz wiele innych parametrów. Dla przykładu, można zdefiniować dyrektywę 'memory_limit', która określa maksymalną ilość pamięci, jaką może używać jeden skrypt PHP. Dzięki temu administratorzy serwera mają pełną kontrolę nad środowiskiem uruchomieniowym, co jest niezwykle istotne w kontekście bezpieczeństwa i wydajności aplikacji. Plik php.ini jest zgodny ze standardami PHP i jest dokumentowany w oficjalnej dokumentacji, co ułatwia jego poprawne skonfigurowanie. Bez odpowiedniego dostosowania ustawień w php.ini, aplikacje mogą napotykać na problemy, takie jak przekroczenie limitu pamięci czy niewłaściwe raportowanie błędów, co może prowadzić do trudności w diagnozowaniu problemów.

Pytanie 6

Do jakiego celu służy polecenie mysqldump?

A. naprawy niespójnej bazy
B. stworzenia kopii zapasowej bazy
C. optymalizacji bazy
D. sprawdzenia integralności bazy
Polecenie mysqldump jest narzędziem używanym w systemach zarządzania bazami danych MySQL i MariaDB, które pozwala na tworzenie kopii zapasowych baz danych. Główna funkcjonalność mysqldump polega na eksportowaniu danych oraz struktury bazy danych do pliku tekstowego w formacie SQL. Taki plik może być później użyty do przywrócenia bazy danych w przypadku awarii lub utraty danych. Przykładowo, administratorzy baz danych często wykorzystują mysqldump do tworzenia regularnych kopii zapasowych przed wprowadzeniem istotnych zmian w strukturze bazy lub przed aktualizacją systemu. Stosowanie mysqldump w praktyce jest zgodne z najlepszymi praktykami zarządzania danymi, które podkreślają znaczenie regularnego tworzenia kopii zapasowych jako strategii ochrony danych. Warto również pamiętać, że mysqldump ma różne opcje, które umożliwiają dostosowanie procesu tworzenia kopii zapasowej, takie jak wybór konkretnych tabel, pomijanie danych lub dodanie opcji kompresji, co zwiększa elastyczność i efektywność tego narzędzia.

Pytanie 7

Domyślny użytkownik, który posiada pełne uprawnienia do zarządzania bazą danych w systemie MySQL, to

A. admin
B. mysqld
C. root
D. sysadmin
Poprawna odpowiedź to „root”, ponieważ w domyślnej instalacji MySQL to właśnie użytkownik root ma pełne, administracyjne uprawnienia do całego serwera baz danych. Jest to odpowiednik konta administratora systemu operacyjnego, ale w kontekście samego MySQL. Użytkownik root może tworzyć i usuwać bazy danych, zakładać nowych użytkowników, nadawać i odbierać im uprawnienia, wykonywać kopie zapasowe, przywracać dane, a także zmieniać konfigurację na poziomie serwera SQL. Z mojego doświadczenia wynika, że w środowiskach produkcyjnych raczej unika się codziennej pracy na koncie root, mimo że technicznie jest to możliwe. Zgodnie z dobrymi praktykami bezpieczeństwa tworzy się osobne konta z ograniczonymi uprawnieniami, np. użytkownika, który ma dostęp tylko do jednej konkretnej bazy i tylko do odczytu albo do odczytu i zapisu. Konto root zostawia się wyłącznie do zadań administracyjnych, takich jak migracje, zmiana schematu bazy, naprawa tabel czy zarządzanie użytkownikami. W praktyce, podczas pierwszej instalacji MySQL albo MariaDB, instalator prosi o ustawienie hasła dla użytkownika root – i to hasło powinno być mocne, unikalne i dobrze zabezpieczone. W środowiskach serwerowych często dodatkowo ogranicza się możliwość logowania rootem z zewnątrz, np. tylko z localhost, aby utrudnić ewentualne ataki z sieci. Warto też pamiętać, że w MySQL użytkownik identyfikowany jest nie tylko nazwą, ale też hostem, więc „root@localhost” to inny użytkownik niż „root@%”. W pracy zawodowej spotyka się też sytuację, że root ma wyłączone logowanie hasłem i używa się uwierzytelniania systemowego lub pluginów, ale to już bardziej zaawansowane scenariusze. Kluczowe jest to, że root jest kontem nadrzędnym, z pełnią praw, i trzeba z nim obchodzić się ostrożnie, bo jedno nieuważne polecenie może usunąć całą bazę produkcyjną.

Pytanie 8

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

Ilustracja do pytania
A. gazów palnych.
B. metali palnych.
C. cieczy i ciał stałych.
D. tłuszczów i olejów kuchennych.
Prawidłowo – litera C na oznaczeniu gaśnicy oznacza, że jest ona przeznaczona do gaszenia pożarów gazów palnych. W europejskiej klasyfikacji pożarów (PN-EN 2) klasa C obejmuje m.in. takie gazy jak propan, butan, metan, acetylen czy wodór. To są typowe gazy używane w instalacjach gazowych, butlach turystycznych, palnikach, piecach, a także w niektórych procesach technologicznych. W praktyce, przy pożarach klasy C stosuje się najczęściej gaśnice proszkowe lub rzadziej śniegowe (CO₂), ponieważ ich środek gaśniczy nie przewodzi prądu i nie reaguje niebezpiecznie z płonącym gazem. Kluczowa zasada: w przypadku wycieku i zapłonu gazu najpierw, o ile to możliwe, odcina się dopływ gazu (zawór, kurek główny), a dopiero potem dogasza płomień. Gaśnica C nie jest przeznaczona do chłodzenia rozgrzanych elementów konstrukcji, tylko do przerwania reakcji spalania w strefie płomienia. W gaśnicach oznaczonych C środek gaśniczy działa głównie poprzez mechanizm inhibicji łańcuchowej reakcji spalania i odcięcie dopływu tlenu do strefy spalania. Moim zdaniem warto zapamiętać prostą praktyczną rzecz: widzisz literę C – myśl o gazie z butli, instalacji gazowej, palniku. W branżowych szkoleniach BHP i PPOŻ zawsze podkreśla się, żeby nie używać wody do pożarów gazów, bo to jest kompletnie nieskuteczne, a czasem wręcz niebezpieczne. Dlatego dobra znajomość symboli A, B, C, D, F na gaśnicach to podstawa bezpiecznej pracy w każdym obiekcie technicznym, magazynie, warsztacie czy kotłowni.

Pytanie 9

Jak nazywa się metoda udostępniania bazy danych w programie Microsoft Access, która dotyczy wszystkich obiektów bazy umieszczonych na dysku sieciowym i wykorzystywanych jednocześnie przez kilku użytkowników?

A. dzielonej bazy danych
B. witryny programu SharePoint
C. serwera bazy danych
D. folderu sieciowego
Odpowiedź "folderu sieciowego" jest prawidłowa, ponieważ w kontekście Microsoft Access, metoda udostępniania bazy danych, która obejmuje obiekty bazy umieszczone na dysku sieciowym, opiera się na wykorzystaniu folderów sieciowych. Dzięki temu wiele użytkowników może jednocześnie uzyskiwać dostęp do tych samych danych i obiektów bazy danych, co sprzyja współpracy i zwiększa efektywność pracy. Przykładem zastosowania folderu sieciowego może być sytuacja, w której zespół pracowników korzysta z jednolitej bazy danych klientów, przechowywanej w lokalizacji na serwerze. Wszyscy członkowie zespołu mogą wprowadzać, modyfikować i przeglądać dane, co umożliwia sprawną wymianę informacji i synchronizację działań. Warto również zaznaczyć, że stosowanie folderów sieciowych to jedna z dobrych praktyk w zarządzaniu danymi w organizacjach, ponieważ pozwala na centralizację zasobów oraz kontrolowanie dostępu do nich, co jest zgodne z zasadami bezpieczeństwa informacji.

Pytanie 10

Które z poniższych poleceń przywróci funkcjonalność uszkodzonej tabeli w SQL?

A. REPAIR TABLE tbl_name
B. ANALYZE TABLE tbl_name
C. REGENERATE TABLE tbl_name
D. OPTIMIZE TABLE tbl_name
Polecenie REPAIR TABLE tbl_name jest używane w systemach zarządzania bazami danych, takich jak MySQL, do naprawy uszkodzonych tabel. Kiedy tabela ulega uszkodzeniu, na przykład z powodu błędów podczas zapisu danych, utraty zasilania lub problemów z dyskiem, REPAIR TABLE analizuje strukturę tabeli i podejmuje próby przywrócenia jej do stanu operacyjnego. Działanie to jest szczególnie przydatne w przypadku tabel typu MyISAM, które mogą być bardziej podatne na uszkodzenia niż inne silniki, takie jak InnoDB. Użycie tego polecenia jest stosunkowo proste: wystarczy wykonać zapytanie w formacie REPAIR TABLE nazwa_tabeli. W praktyce, aby zwiększyć bezpieczeństwo danych, zaleca się regularne wykonywanie kopii zapasowych oraz monitorowanie logów serwera bazy danych, co pozwala na wczesne wykrywanie problemów i minimalizowanie ryzyka utraty danych. Dodatkowo, dokumentacja MySQL podkreśla znaczenie tego polecenia jako narzędzia do utrzymania integralności baz danych, co czyni go nieocenionym w pracy administratora baz danych.

Pytanie 11

Użytkownik podał adres nieistniejącego obiektu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 400
B. 404
C. 500
D. 503
Odpowiedź 404 jest poprawna, ponieważ oznacza, że serwer nie może znaleźć zasobu, którego żąda klient. W praktyce, gdy użytkownik próbuje uzyskać dostęp do nieistniejącej strony internetowej lub pliku, serwer zwraca kod błędu 404, co sygnalizuje, że dany adres URL jest nieprawidłowy. Jest to standardowy kod odpowiedzi HTTP, który jest powszechnie wykorzystywany w branży internetowej. Dobre praktyki wskazują, że strony 404 powinny być przyjazne użytkownikowi, na przykład poprzez sugerowanie alternatywnych linków lub przycisków do powrotu na stronę główną. Zrozumienie tego błędu jest istotne dla webmasterów oraz deweloperów, którzy pracują nad utrzymaniem strony, ponieważ błędy 404 mogą wpłynąć na doświadczenie użytkownika oraz pozycjonowanie strony w wyszukiwarkach. Regularne monitorowanie i poprawa linków na stronie jest kluczowym aspektem optymalizacji SEO oraz zarządzania treścią.

Pytanie 12

Jakie uprawnienia będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł przeszukiwać dane w tabeli klienci.
B. Będzie mógł zmieniać strukturę tabeli klienci.
C. Będzie mógł eliminować rekordy z tabeli klienci.
D. Będzie mógł dodawać rekordy do tabeli klienci.
Odpowiedź "Będzie mógł zmienić strukturę tabeli klienci" jest prawidłowa, ponieważ użytkownik jan zyskał pełne uprawnienia do tabeli klienci za pomocą polecenia GRANT ALL PRIVILEGES. Oznacza to, że posiada on wszystkie dostępne uprawnienia w tym zakresie, w tym możliwość modyfikacji struktury tabeli, co obejmuje dodawanie lub usuwanie kolumn, zmienianie typów danych oraz wprowadzanie modyfikacji do indeksów. Jednakże, zastosowane polecenie REVOKE powoduje odebranie wybranych uprawnień, tj. SELECT, INSERT, UPDATE oraz DELETE. W związku z tym, mimo że jan może zmieniać strukturę tabeli, nie ma już możliwości wprowadzania, usuwania ani przeglądania danych. Praktycznie, na przykład, jeżeli jan chciałby dodać nową kolumnę do tabeli klienci, ma taką możliwość, jednak nie będzie mógł dodać nowych rekordów ani ich edytować. To podejście jest zgodne z najlepszymi praktykami zarządzania uprawnieniami w systemach baz danych, gdzie ważne jest precyzyjne określenie, jakie operacje mogą być realizowane przez różnych użytkowników.

Pytanie 13

Jakie zapytanie pozwoli Administratorowi cofnąć uprawnienia do przeglądania oraz modyfikacji danych w bazie gazeta dla użytkownika redaktor?

A. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
B. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
C. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
D. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
Wybrana odpowiedź jest poprawna, ponieważ polecenie REVOKE służy do odbierania wcześniej przyznanych uprawnień użytkownikowi w systemie zarządzania bazą danych. W tym przypadku, REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost'; skutecznie odbiera prawo do przeglądania (SELECT) oraz aktualizacji (UPDATE) danych w bazie danych 'gazeta' dla użytkownika 'redaktor'. Przykładowe zastosowanie tego zapytania może mieć miejsce w sytuacji, gdy redaktor przestaje pełnić swoją funkcję i nie powinien już mieć dostępu do tych informacji. Standardową praktyką w zarządzaniu dostępem do baz danych jest stosowanie zasady najmniejszych uprawnień, co oznacza, że użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do wykonywania swoich obowiązków. W przypadku, gdy konieczne jest zmodyfikowanie uprawnień, zamiast usuwania użytkownika, łatwiej jest po prostu odebrać mu konkretne prawa, co jest dokładnie tym, co robi to polecenie.

Pytanie 14

W tabeli artykuly przeprowadzono poniższe operacje związane z uprawnieniami użytkownika jan.

GRANT ALL PRIVILEGES ON artykuły TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan

Jakie będą uprawnienia użytkownika jan po wykonaniu tych operacji?

A. aktualizowania informacji oraz przeglądania tabeli
B. tworzenia tabeli oraz aktualizowania danych w niej
C. przeglądania tabeli
D. tworzenia tabel oraz ich zapełniania danymi
Wybór odpowiedzi dotyczącej "aktualizowania danych i przeglądania tabeli" nie jest poprawny, ponieważ po wykonaniu polecenia REVOKE SELECT, UPDATE ON artykuly FROM jan, jan traci te konkretne uprawnienia. Warto zauważyć, że polecenie GRANT ALL PRIVILEGES przyznaje użytkownikowi szereg uprawnień, ale ich zakres można ograniczyć innymi poleceniami, jak REVOKE. Z tego powodu jan nie ma już możliwości przeglądania tabeli ani jej aktualizowania, co czyni tę odpowiedź nieaktualną. Często w praktyce zawodowej zdarza się, że nadawane są szerokie uprawnienia, a następnie w miarę potrzeby są one ograniczane, co może prowadzić do nieporozumień, jeśli nie zrozumie się działania tych poleceń. Kolejna niepoprawna odpowiedź, która sugeruje "przeglądanie tabeli", również jest błędna z tego samego powodu - jan nie ma takich uprawnień po REVOKE. Ostatnia z odpowiedzi, mówiąca o "tworzeniu tabeli i aktualizowaniu w niej danych", jest niepoprawna, ponieważ użytkownik jan nie ma już prawa aktualizacji danych po wycofaniu tych uprawnień. Zrozumienie mechanizmów zarządzania uprawnieniami jest kluczowe w pracy z bazami danych, aby uniknąć przypisania użytkownikom większych niż potrzebne przywilejów, co mogłoby prowadzić do nieautoryzowanego dostępu lub usunięcia danych.

Pytanie 15

W przypadku uszkodzenia serwera bazy danych, aby jak najszybciej przywrócić pełną funkcjonalność bazy danych, należy skorzystać z

A. kompletnej listy użytkowników serwera.
B. aktualnej wersji kopii zapasowej.
C. opisów struktur danych w tabelach.
D. najnowszej wersji instalacyjnej serwera.
Wybór aktualnej wersji kopii zapasowej jako najefektywniejszej metody przywrócenia działania bazy danych po awarii serwera jest zgodny z najlepszymi praktykami w zarządzaniu danymi. Kopie zapasowe stanowią kluczowy element strategii ochrony danych i powinny być regularnie tworzone, aby minimalizować ryzyko utraty informacji. W przypadku uszkodzenia serwera bazy danych, przywrócenie z najnowszej kopii zapasowej, która zawiera wszystkie aktualne dane, jest najskuteczniejszym sposobem odzyskania sprawności systemu. Kopie zapasowe można tworzyć na różne sposoby, w tym pełne, przyrostowe i różnicowe, co pozwala na elastyczność w zarządzaniu danymi. Zgodnie z rekomendacjami takich standardów jak ISO 27001, organizacje powinny wdrażać procedury tworzenia i zarządzania kopiami zapasowymi. Przykładowo, w przypadku awarii, administratorzy mogą szybko przywrócić bazę danych do stanu sprzed awarii, co znacząco ogranicza przestoje i straty finansowe związane z utratą danych.

Pytanie 16

Używając polecenia BACKUP LOG w MS SQL Server, można

A. przeglądać komunikaty wygenerowane w trakcie tworzenia kopii
B. wykonać kopię zapasową dziennika transakcji
C. połączyć się z kopią zapasową
D. wykonać całkowitą kopię zapasową
Polecenie BACKUP LOG w MS SQL Server jest używane do wykonywania kopii bezpieczeństwa dziennika transakcyjnego bazy danych. Dziennik transakcyjny jest kluczowym komponentem, który rejestruje wszystkie zmiany w bazie danych, co pozwala na ich odtworzenie w przypadku awarii lub błędów. Regularne tworzenie kopii zapasowych dziennika transakcyjnego jest istotne, ponieważ umożliwia przywracanie bazy danych do stanu sprzed określonego zdarzenia. Na przykład, po wykonaniu BACKUP LOG można przywrócić bazę danych do stanu sprzed ostatniej transakcji, co może być bardzo przydatne w sytuacjach awaryjnych, takich jak przypadkowe usunięcie danych. Standardy takie jak RPO (Recovery Point Objective) i RTO (Recovery Time Objective) wskazują na znaczenie systematycznego tworzenia kopii zapasowych dzienników transakcyjnych w strategiach zarządzania danymi. Aby wykonać kopię zapasową dziennika transakcyjnego, używa się składni: BACKUP LOG [nazwa_bazy_danych] TO DISK = 'ścieżka_do_pliku.bak'.

Pytanie 17

Jakim protokołem można bezpiecznie przesłać pliki strony internetowej na serwer WWW?

A. POP3
B. Telnet
C. IMAP
D. SFTP
SFTP, czyli Secure File Transfer Protocol, to taki fajny protokół do bezpiecznego przesyłania plików między komputerami w sieci. Działa to na bazie SSH, co sprawia, że nasze dane są w miarę bezpieczne, bo są szyfrowane. Dzięki temu wiadomo, że nikt nieprzyjemny ich nie przechwyci. SFTP jest super przydatne, zwłaszcza jak przesyłamy pliki na serwery WWW, bo można też nimi zarządzać na serwerze bez strachu, że coś pójdzie nie tak. Przykładowo, programista może potrzebować wrzucić nowe wersje plików HTML, CSS czy JavaScript na serwer. Warto wiedzieć, że są jakieś standardy jak RFC 4253 czy RFC 4251, które mówią, jak to wszystko działa, więc mamy pewność, że jest to dosyć solidny sposób na transfer danych.

Pytanie 18

Do czego można wykorzystać program FileZilla?

A. do testowania prędkości ładowania strony
B. do interpretacji kodu PHP
C. do weryfikacji strony internetowej
D. do publikowania strony internetowej
FileZilla to dosyć popularny program, który służy do przesyłania plików za pomocą FTP. W dużym skrócie, jest to narzędzie, które umożliwia publikację stron internetowych. Dzięki niemu można łatwo wrzucać różne pliki, takie jak HTML, CSS czy JavaScript, na serwer. Jego obsługa jest naprawdę prosta – można tworzyć foldery, przenosić, kopiować czy usuwać pliki, co jest bardzo ważne, kiedy zarządza się stroną. Na przykład, jeżeli projektujesz stronę na swoim komputerze i chcesz, żeby była dostępna w Internecie, wystarczy, że skonfigurujesz połączenie FTP w FileZilla, wpiszesz dane logowania do serwera i przeciągniesz pliki do odpowiedniego folderu. Używanie FTP do publikacji to standard w branży, bo jest to bezpieczny i skuteczny sposób na zarządzanie swoimi stronami.

Pytanie 19

W języku SQL wydano polecenie

CREATE USER 'anna'@'localhost' IDENTIFIED BY '54RTu8';
Jednak operacja ta zakończyła się niepowodzeniem z powodu błędu: #1396 - Operation CREATE USER failed for 'anna'@'localhost'. Możliwą przyczyną tego problemu bazy danych może być:
A. istnienie użytkownika anna w bazie danych
B. niewystarczająca siła hasła dla konta anna
C. błędna składnia polecenia CREATE USER
D. nieznane polecenie CREATE USER
Wybrana przez Ciebie odpowiedź o zbyt słabym haśle dla konta 'anna' jest nietrafiona. Podczas tworzenia użytkownika w MySQL ustalasz nowego użytkownika i hasło, które jeszcze nie jest połączone z żadnym drugim kontem. Zasady bezpieczeństwa mówią, że hasła powinny być mocne, ale w tym przypadku słabe hasło nie wywołuje błędu #1396. Słabe hasło może być problemem przy późniejszej edycji konta, ale nie przy zakładaniu nowego. Co więcej, jeśli chodzi o składnię CREATE USER, to w twoim poleceniu nie masz błędu. To, że hasło jest słabe, to istotny temat, ale musi być zgodne z zasadami, które ustala firma. I pamiętaj, polecenie CREATE USER jest standardem w MySQL, więc jeśli nie znasz, to warto się z nim zapoznać. Większość błędów przy użytkownikach bierze się z braku zrozumienia, jak działa system autoryzacji w bazach danych. Warto znać zasady dotyczące uprawnień, żeby lepiej zarządzać dostępem do baz.

Pytanie 20

Aby przenieść stronę internetową na serwer, można wykorzystać program

A. CloneZilla
B. Bugzilla
C. Go!Zilla
D. FileFilla
FileFilla to oprogramowanie, które umożliwia przesyłanie plików na serwer oraz zarządzanie nimi w sposób efektywny i przejrzysty. Jest to klient FTP, co oznacza, że wykorzystuje protokół File Transfer Protocol do komunikacji między komputerem użytkownika a serwerem. Dzięki FileFilla, użytkownik ma możliwość przenoszenia plików z lokalnej maszyny na serwer w sposób zorganizowany, co jest kluczowe przy migracji witryn internetowych. Program obsługuje różne protokoły, takie jak SFTP i FTPS, co zapewnia dodatkowe bezpieczeństwo podczas przesyłania danych. Praktycznym przykładem zastosowania FileFilla może być sytuacja, w której twórca strony internetowej aktualizuje treść na serwerze, przesyłając nowe pliki lub foldery. Zastosowanie tego oprogramowania pozwala nie tylko na szybkie przenoszenie plików, ale także na monitorowanie postępu transferu oraz zarządzanie plikami na serwerze, co czyni go nieocenionym narzędziem dla administratorów stron. Warto również wspomnieć, że FileFilla jest zgodna z wieloma standardami, co sprawia, że jest uniwersalnym rozwiązaniem w świecie technologii webowej.

Pytanie 21

Aby zrealizować przekierowanie 301, które przenosi użytkownika z jednego URL na inny, należy skonfigurować plik serwera Apache zwany

A. apacheConf
B. configuration.php
C. .htaccess
D. conf.php
Przekierowanie 301 to stałe przekierowanie, które informuje przeglądarki i wyszukiwarki, że zasób został trwale przeniesiony na inny adres URL. Ustawienie takiego przekierowania w pliku .htaccess jest kluczowe dla optymalizacji SEO oraz utrzymania integralności linków. Plik .htaccess, znajdujący się w głównym katalogu serwera Apache, pozwala na konfigurowanie różnych aspektów działania serwera, w tym przekierowań. Przykład zastosowania przekierowania 301 w pliku .htaccess to: "Redirect 301 /stary-adres http://www.example.com/nowy-adres". Istotnym aspektem jest, że przekierowanie 301 przekazuje również wartość SEO z poprzedniego adresu URL na nowy, co pomaga w utrzymaniu pozycji w wynikach wyszukiwania. Warto również zauważyć, że standardy W3C oraz wytyczne Google dotyczące SEO rekomendują używanie przekierowania 301 do przenoszenia treści i eliminowania błędów 404. Dlatego prawidłowe skonfigurowanie .htaccess jest niezbędne dla każdej strony internetowej, która zmienia strukturę URL.

Pytanie 22

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

A. mysqlduplicate –u root biblioteka > kopia.sql
B. copymysql –u root biblioteka kopia.sql
C. backupmysql -u root biblioteka kopia.sql
D. mysqldump -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 23

Aby wykonać kopię zapasową bazy danych w MySQL, jakie polecenie należy zastosować?

A. mysqldump
B. mysqlcheck
C. mysqlslap
D. mysqlreplicate
Polecenie mysqldump jest standardowym narzędziem w systemie MySQL, które służy do tworzenia kopii zapasowych baz danych. Umożliwia on eksportowanie danych oraz struktury wszystkich tabel w postaci pliku tekstowego, co sprawia, że jest niezwykle przydatny przy przeprowadzaniu migracji, aktualizacji lub przywracania danych. Przykładowe użycie mysqldump może wyglądać następująco: 'mysqldump -u użytkownik -p nazwa_bazy_danych > kopia_zapasowa.sql', co tworzy plik o nazwie 'kopia_zapasowa.sql' zawierający wszystkie dane i strukturę wskazanej bazy. Dobrą praktyką jest regularne tworzenie kopii zapasowych, szczególnie przed wprowadzeniem istotnych zmian w schemacie bazy danych lub podczas aktualizacji systemu. Ponadto, mysqldump umożliwia także eksportowanie danych w formacie CSV, co ułatwia ich dalszą analizę lub przeniesienie do innych systemów. Warto także pamiętać, że polecenie to oferuje różnorodne opcje, takie jak --single-transaction, które zapewniają spójność danych podczas tworzenia kopii zapasowej w bazach danych o dużym ruchu.

Pytanie 24

Z ilustracji można odczytać, że użytkownik bazy danych posiada uprawnienia do:

Ilustracja do pytania
A. wyświetlania, aktualizacji i usuwania danych.
B. wyświetlania, dodawania i usuwania danych.
C. dodawania, aktualizacji i usuwania danych.
D. wyświetlania, dodawania i aktualizacji danych.
Na ilustracji pokazano panel nadawania uprawnień do operacji na danych w bazie. Każda z widocznych opcji odpowiada konkretnemu typowi polecenia SQL: SELECT to odczyt danych, INSERT to wstawianie nowych rekordów, UPDATE to modyfikacja istniejących wierszy, a DELETE to ich usuwanie. Typowym błędem jest mechaniczne kojarzenie „pracy na danych” tylko z dodawaniem i usuwaniem, bez zwrócenia uwagi na to, które pola są naprawdę zaznaczone. Na obrazku INSERT nie jest zaznaczony, więc użytkownik nie może dodawać nowych rekordów. Jeśli ktoś wybrał odpowiedź zawierającą „dodawanie danych”, to prawdopodobnie założył, że skoro użytkownik ma prawo zmieniać i kasować dane, to na pewno może też je dodawać. W praktyce w administracji bazą to tak nie działa – każde z tych uprawnień jest rozdzielone i może być nadawane osobno. Innym typowym nieporozumieniem jest mylenie UPDATE z INSERT. UPDATE nie tworzy nowych wierszy, tylko zmienia pola w rekordach, które już istnieją. To ważne rozróżnienie, bo w wielu systemach biznesowych pracownik ma prawo poprawić dane klienta (UPDATE), ale nie może dodawać nowych klientów (INSERT). Podobnie DELETE, czyli usuwanie danych, często jest ograniczane, bo kasowanie rekordów bywa nieodwracalne albo wymaga dodatkowych procedur. Jeśli odpowiedź sugeruje, że użytkownik może dodawać dane, to stoi to w sprzeczności z tym, co realnie widać na ilustracji – brak zaznaczenia przy INSERT jasno mówi, że wstawianie nowych rekordów jest zablokowane. Warto wyrabiać sobie nawyk dokładnego czytania takiego interfejsu: sprawdzić każdy checkbox i od razu przełożyć go na konkretne operacje SQL. W codziennej pracy z bazami danych poprawne rozumienie różnicy między SELECT, INSERT, UPDATE i DELETE jest absolutną podstawą bezpiecznego projektowania uprawnień i unikania przypadkowych modyfikacji danych.

Pytanie 25

Jakie mechanizmy są kluczowe dla Systemu Zarządzania Bazą Danych?

A. Moduł do wizualizacji diagramów encji
B. Wielodostępność do danych
C. Narzędzia do generowania statystyk
D. System do zarządzania wersjami bazy danych
Wielodostępność danych jest kluczowym mechanizmem dla systemów zarządzania bazami danych (DBMS), ponieważ umożliwia równoczesny dostęp wielu użytkowników do tych samych danych bez konfliktów. W praktyce oznacza to, że wiele aplikacji lub użytkowników może korzystać z bazy danych w tym samym czasie, co jest niezbędne w wielu złożonych środowiskach, takich jak systemy bankowe, platformy e-commerce czy aplikacje społecznościowe. Mechanizm wielodostępności zapewnia integralność danych oraz ich spójność, co jest osiągane poprzez zastosowanie technik takich jak blokowanie, transakcje i izolacja. Przykładem praktycznym może być system zarządzania rezerwacjami hoteli, w którym wiele osób próbuje zarezerwować ten sam pokój w tym samym czasie. DBMS musi zastosować odpowiednie mechanizmy, aby zrealizować tylko jedną z tych rezerwacji, jednocześnie informując pozostałych użytkowników o braku dostępności. Dobrą praktyką w projektowaniu baz danych jest także przemyślane stosowanie poziomów izolacji transakcji, co pozwala na dostosowanie wydajności i spójności w zależności od potrzeb aplikacji.

Pytanie 26

Co wchodzi w skład standardowego frameworka?

A. domena oraz obsługa błędów
B. przetwarzanie formularzy oraz wbudowany serwer
C. system uruchamiania i przetwarzania akcji oraz certyfikat http
D. zarządzanie komunikacją z bazą danych, system uruchamiania i przetwarzania akcji
Frameworki aplikacji webowych dostarczają zestawu narzędzi i standardów, które ułatwiają tworzenie oprogramowania. W kontekście tego pytania, zarządzanie komunikacją z bazą danych oraz mechanizm uruchamiania i przetwarzania akcji stanowią kluczowe komponenty każdego frameworka. Zarządzanie komunikacją z bazą danych odnosi się do sposobów, w jakie aplikacja łączy się z bazą danych, wykonuje zapytania i przetwarza wyniki. Przykładowo, w frameworkach takich jak Django czy Ruby on Rails, stosuje się ORM (Object-Relational Mapping), co ułatwia interakcję z bazą danych poprzez obiektowe podejście zamiast pisania surowych zapytań SQL. Mechanizm uruchamiania i przetwarzania akcji opisuje, jak framework interpretuje i obsługuje żądania użytkowników, co obejmuje routing, middleware i obsługę logiki biznesowej. Takie podejście jest zgodne z zasadą DRY (Don't Repeat Yourself), co zwiększa efektywność i jakość kodu w projektach programistycznych.

Pytanie 27

Lokalny System Zarządzania Bazą Danych (SZBD) oferuje bazę danych

A. jako usługę serwerową w sieci.
B. wyłącznie na jednym, wyznaczonym komputerze.
C. w chmurze obliczeniowej.
D. w formie serwera w sieci.
Lokalny System Zarządzania Bazą Danych (SZBD) jest zazwyczaj zainstalowany na jednym, określonym komputerze, co oznacza, że jest używany w trybie lokalnym. Taki system zarządzania bazą danych, jak na przykład MySQL czy SQLite, umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi bez potrzeby połączenia z zewnętrznymi serwerami. Praktycznym przykładem jest sytuacja, gdy deweloperzy tworzą aplikacje desktopowe, które korzystają z lokalnych baz danych do przechowywania danych użytkowników lub do obsługi aplikacji offline. W kontekście najlepszych praktyk, lokalne bazy danych są często wykorzystywane w małych projektach, gdzie dostępność i wydajność są kluczowe, a złożoność architektury sieciowej nie jest wymagana. Przykładem zastosowania jest aplikacja do zarządzania finansami osobistymi, która lokalnie przechowuje dane o wydatkach użytkownika, zapewniając jednocześnie szybki dostęp do informacji bez potrzeby korzystania z zasobów chmurowych.

Pytanie 28

Aby odzyskać bazę danych z kopii zapasowej na serwerze MSSQL, należy użyć polecenia

A. RESTORE DATABASE
B. UNBACKUP DATABASE
C. EXPORT DATABASE
D. BACKUP DATABASE
Aby przywrócić bazę danych z kopii zapasowej na serwerze MSSQL, trzeba użyć polecenia RESTORE DATABASE. To bardzo ważna komenda, bo pozwala nam na odzyskanie danych do stanu sprzed jakiejś awarii czy utraty informacji. Można to robić w różnych sytuacjach, na przykład przywracając bazę z pełnej kopii zapasowej albo jakiejś różnicowej. Przykład użycia wygląda tak: RESTORE DATABASE [NazwaBazyDanych] FROM DISK = 'C:\Backup\KopiaZap.pdf' WITH REPLACE; co zastąpi starą bazę nową. Fajnie też wspomnieć, że standardy jak ISO 27001 pokazują, jak ważne są regularne kopie zapasowe, żeby zachować integralność danych i ciągłość działania. A tak przy okazji, przed przywracaniem warto zablokować dostęp do bazy, żeby nie było żadnych konfliktów.

Pytanie 29

W SQL uprawnienie SELECT przydzielone za pomocą polecenia GRANT umożliwia użytkownikowi bazy danych

A. zmienianie danych w tabeli
B. uzyskiwanie danych z tabeli
C. generowanie tabeli
D. usuwanie danych z tabeli
Wybór odpowiedzi sugerujących modyfikowanie danych, tworzenie tabeli czy usuwanie danych z tabeli wskazuje na niepełne zrozumienie podstawowych przywilejów w SQL. Przywilej SELECT jest ściśle związany z dostępem do danych, co oznacza, że jego rola ogranicza się do umożliwienia użytkownikowi odczytu informacji, a nie ich modyfikowania. Modyfikowanie danych w tabeli zarezerwowane jest dla przywileju UPDATE, który pozwala na zmianę istniejących danych. Tworzenie tabeli wiąże się z przywilejem CREATE, który z kolei umożliwia użytkownikom dodawanie nowych struktur danych do bazy. Z kolei usunięcie danych z tabeli realizowane jest przez przywilej DELETE, pozwalający na eliminowanie zapisów z bazy. Te różnice są fundamentalne dla zrozumienia zarządzania dostępem w systemach baz danych. Typowe błędy w myśleniu o uprawnieniach mogą prowadzić do nieprawidłowego zarządzania danymi i naruszeń bezpieczeństwa. Użytkownicy muszą mieć jasną świadomość, że każdy przywilej w SQL ma swoje specyficzne zastosowanie, a nieprawidłowe przypisanie uprawnień może prowadzić do nieautoryzowanego dostępu lub utraty danych. Właściwe zrozumienie hierarchii i ról przywilejów jest kluczowe dla efektywnego i bezpiecznego zarządzania bazami danych.

Pytanie 30

Jakie zadania programistyczne należy realizować po stronie serwera?

A. Ukrywanie oraz odkrywanie elementów strony w zależności od bieżącej pozycji kursora
B. Zmiana stylu HTML na stronie spowodowana ruchem kursora
C. Walidacja danych wpisanych w pole tekstowe w czasie rzeczywistym
D. Zapisanie danych pobranych z aplikacji internetowej do bazy danych
Kiedy użytkownik coś klika, jak na przykład zmienia styl HTML na stronie, to wszystko dzieje się po stronie klienta, czyli w przeglądarce. Zmiany te są przeważnie robione za pomocą JavaScript i CSS, dzięki czemu wszystko działa płynnie i szybko, bo nie musimy za każdym razem gadać z serwerem. Weźmy na przykład efekty hover – to coś, co naprawdę poprawia doświadczenie na stronie. Sprawdzanie danych w polach, jak adres e-mail, również odbywa się po stronie klienta. To właśnie tam walidujemy dane, co robi się najczęściej przez JavaScript. Dzięki temu nasz serwer nie dostaje za dużo niepotrzebnych zapytań, co czyni aplikacje bardziej responsywnymi. Jeśli chodzi o ukrywanie lub pokazywanie elementów na stronie w zależności od kursora, to również robimy to po stronie klienta. Takie rzeczy są zwykle ogarniane przez skrypty JavaScript, które zmieniają DOM. Tak więc, tego typu zadania musimy robić po stronie klienta, a nie na serwerze.

Pytanie 31

Jak nazywa się sposób udostępniania bazy danych w Microsoft Access, który obejmuje wszystkie obiekty bazy znajdujące się na dysku sieciowym i używane jednocześnie przez różne osoby?

A. witryny programu SharePoint
B. folderu sieciowego
C. dzielonej bazy danych
D. serwera bazy danych
Wybór innych opcji, takich jak serwer bazy danych, dzielona baza danych czy witryna programu SharePoint, może prowadzić do nieporozumień na temat tego, jak działają mechanizmy udostępniania w Microsoft Access. Serwer bazy danych, na przykład, odnosi się do systemu zarządzania bazami danych, który obsługuje skomplikowane operacje i dużą ilość danych, ale nie jest tożsamy z lokalizacją danych na dysku sieciowym, co ogranicza jego zastosowanie w prostych zespołowych projektach. Z kolei dzielona baza danych to termin ogólny, który może być mylony z udostępnianiem danych na poziomie lokalnym lub zdalnym, ale nie precyzuje, jak obiekty są współdzielone przez użytkowników. Witryna programu SharePoint z kolei służy do przechowywania dokumentów i zarządzania projektami w chmurze, co jest innym podejściem niż tradycyjne foldery sieciowe. W praktyce, wybierając folder sieciowy, użytkownicy mogą łatwiej współpracować, dzielić się plikami i korzystać z prostoty, jaką zapewnia dostęp bez konieczności zaawansowanego konfigurowania serwerów czy baz danych. Kluczowe jest zrozumienie, że odpowiednie podejście do udostępniania danych powinno być zgodne z potrzebami zespołu i charakterem realizowanych projektów.

Pytanie 32

Wymień dwa sposoby na zabezpieczenie bazy danych w Microsoft Access.

A. Zaszyfrowanie pliku bazy danych oraz wysyłanie SMS-ów z kodem autoryzacyjnym
B. Używanie funkcji anonimowych oraz ustawienie hasła dostępu do bazy danych
C. Określenie hasła do otwarcia bazy danych oraz wprowadzenie zabezpieczeń na poziomie użytkownika
D. Wprowadzenie zabezpieczeń na poziomie użytkownika oraz sesji
Odpowiedzi sugerujące stosowanie funkcji anonimowych oraz SMS-ów z kodem autoryzującym nie są właściwe w kontekście zabezpieczania bazy danych Microsoft Access. Funkcje anonimowe nie istnieją w standardowym pakiecie Access, co czyni tę koncepcję niepraktyczną i mylącą. W praktyce, anonimowość w systemach baz danych nie jest pożądana, ponieważ uniemożliwia identyfikację użytkowników oraz monitorowanie ich działań, co jest kluczowe dla bezpieczeństwa i zgodności z regulacjami prawnymi, takimi jak RODO. Ponadto, pomysł zabezpieczenia bazy danych za pomocą SMS-ów z kodami autoryzującymi jest stosunkowo nieodpowiedni dla tego typu systemu, ponieważ Microsoft Access nie obsługuje natywnie autoryzacji dwuskładnikowej ani nie jest zaprojektowany do integracji z zewnętrznymi systemami SMS. Takie podejście nie tylko wprowadza dodatkowe ryzyko związane z bezpieczeństwem, ale również stwarza problemy praktyczne, takie jak zależność od zewnętrznych usług, co może prowadzić do przestojów w dostępie do danych. Dlatego kluczowe jest zastosowanie sprawdzonych metod zabezpieczeń, takich jak hasła i uprawnienia użytkowników, które są standardem w zarządzaniu danymi i zapewniają właściwą ochronę przed zagrożeniami.

Pytanie 33

GRANT CREATE, ALTER ON sklep.* TO adam; Zakładając, że użytkownik adam nie dysponował wcześniej żadnymi uprawnieniami, to polecenie SQL przyzna mu prawa jedynie do

A. wstawiania oraz modyfikacji danych w tabeli sklep
B. tworzenia oraz modyfikacji struktury w tabeli sklep
C. wstawiania oraz modyfikacji danych we wszystkich tabelach bazy sklep
D. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
Odpowiedzi, które sugerują, że użytkownik adam ma ograniczone prawa tylko do konkretnej tabeli lub tylko do wstawiania i zmiany danych, wynikają z mylnego zrozumienia mechanizmu przyznawania uprawnień w SQL. W kontekście opisanego polecenia, przyznawanie praw na poziomie tabeli (sklep.*) oznacza, że wszystkie tabele w bazie danych sklep są objęte tymi uprawnieniami. W praktyce, wstawianie oraz modyfikacja danych (DML) są różnymi operacjami od tworzenia i zmiany struktury tabel (DDL). Przyznanie uprawnień CREATE i ALTER jednoznacznie wskazuje na możliwość edytowania struktury bazy, a nie tylko na manipulację danymi. Wiele osób, które mogą mylić te dwa aspekty, może zakładać, że nadanie praw do konkretnej tabeli ogranicza się do operacji na danych, co jest mylnym podejściem. Mylne jest również ograniczanie praw do jednej tabeli, gdyż polecenie dotyczy wszystkich tabel w bazie. W związku z tym, aby poprawnie zarządzać uprawnieniami w bazie danych, należy zrozumieć różnice między uprawnieniami DDL i DML oraz ich zastosowanie w kontekście całej bazy danych, nie tylko pojedynczej tabeli.

Pytanie 34

Podane w ramce polecenie SQL nadaje prawo SELECT

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika 'root' na serwerze sprzedawca.
B. dla użytkownika 'root' na serwerze localhost.
C. do wszystkich tabel w bazie hurtownia.
D. do wszystkich pól w tabeli hurtownia.
Poprawnie wychwyciłeś najważniejszy element składni: zapis hurtownia.* po słowie ON oznacza całą bazę danych o nazwie hurtownia, a nie pojedynczą tabelę. W składni GRANT w MySQL i innych systemach bazodanowych mamy kilka poziomów nadawania uprawnień: można nadać uprawnienia do całej bazy (database), do konkretnej tabeli, a nawet do pojedynczych kolumn. Kluczowe jest to, co znajduje się po słowie ON. Jeżeli podamy nazwa_bazy.* – tak jak tutaj – to uprawnienie SELECT dotyczy wszystkich tabel w tej bazie danych. Gdyby chodziło o jedną tabelę, składnia wyglądałaby np. GRANT SELECT ON hurtownia.zamowienia TO 'sprzedawca'@'localhost'; i wtedy prawo dotyczyłoby wyłącznie tabeli zamowienia. W tym poleceniu dodatkowo jasno określony jest użytkownik: 'sprzedawca'@'localhost'. W MySQL użytkownik jest identyfikowany parą nazwa_użytkownika@host, więc nie jest to ani root, ani żaden inny login, tylko konkretny użytkownik o nazwie sprzedawca, który łączy się z serwera localhost. To jest typowy scenariusz np. dla aplikacji sprzedażowej instalowanej na tym samym serwerze co baza. Taki użytkownik często dostaje tylko SELECT do bazy hurtownia, żeby mógł odczytywać dane (np. listę produktów, stany magazynowe, historię zamówień), ale nie miał uprawnień do modyfikacji struktury bazy czy kasowania rekordów. Moim zdaniem jest to bardzo dobra praktyka bezpieczeństwa: tworzy się osobnych użytkowników o wąskim zakresie uprawnień zamiast wszędzie używać konta root. W realnych projektach webowych, np. w PHP czy innych językach backendowych, w pliku konfiguracyjnym aplikacji podaje się właśnie takiego technicznego użytkownika, który ma GRANT SELECT (czasem też INSERT/UPDATE) tylko na jedną, konkretną bazę. Dzięki temu nawet jeśli aplikacja zostanie zhakowana, atakujący ma dużo mniejsze pole do popisu, bo nie dysponuje pełnymi uprawnieniami administracyjnymi. Dobrze też zapamiętać, że GRANT SELECT nie daje prawa do tworzenia nowych tabel ani zmiany struktury – to są osobne uprawnienia (CREATE, ALTER, DROP). Tutaj mówimy wyłącznie o możliwości wykonywania zapytań odczytujących dane ze wszystkich tabel w bazie hurtownia, co w praktyce oznacza, że użytkownik sprzedawca może spokojnie robić SELECT * FROM jakakolwiek_tabela; pod warunkiem, że ta tabela znajduje się właśnie w tej bazie.

Pytanie 35

Kto z wymienionych zajmuje się nieprzerwanym przygotowaniem systemu bazy danych do pracy produkcyjnej, zarządzaniem kontami użytkowników oraz instalowaniem aktualizacji systemu bazodanowego?

A. Projektanci i programiści Systemu Zarządzania Bazą Danych
B. Administratorzy serwerów oraz sieci komputerowych
C. Twórcy narzędzi dla deweloperów
D. Administratorzy systemu bazy danych
Wybór projektantów narzędzi deweloperskich jako odpowiedzialnych za przygotowanie systemu bazy danych do pracy produkcyjnej jest błędny, ponieważ ich głównym zadaniem jest projektowanie i rozwijanie narzędzi oraz aplikacji, które ułatwiają proces tworzenia oprogramowania. Nie zajmują się oni bezpośrednio zarządzaniem bazami danych, lecz tworzą rozwiązania, które mogą być wykorzystywane przez administratorów baz danych. Z kolei administratorzy serwerów i sieci komputerowych koncentrują się na zarządzaniu infrastrukturą sieciową i serwerową, co obejmuje utrzymanie sprzętu oraz zapewnienie jego dostępności i wydajności. Ich praca jest istotna dla ogólnego funkcjonowania systemów, ale nie zajmują się oni bezpośrednio bazami danych ani nie zarządzają nimi. Ostatnia grupa, czyli projektanci i programiści Systemu Zarządzania Bazą Danych, koncentruje się na tworzeniu oprogramowania do zarządzania bazą danych oraz na jego rozwoju. Choć ich praca jest niezbędna w kontekście tworzenia funkcjonalności bazy danych, to nie odpowiadają oni za codzienne zarządzanie i utrzymanie działającego systemu. Dlatego też tylko administratorzy systemu bazy danych są odpowiedzialni za ciągłe przygotowanie systemu do pracy produkcyjnej oraz zarządzanie użytkownikami.

Pytanie 36

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

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. przeglądać dane w tabeli i wstawiać nowe dane
B. usuwać tabelę i zakładać nową
C. modyfikować strukturę tabeli oraz dodawać nowe dane
D. usuwać rekordy z tabeli i przeglądać informacje
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 37

Testy aplikacji webowej, mające na celu ocenę wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, noszą nazwę testów

A. bezpieczeństwa
B. funkcjonalnych
C. użyteczności
D. kompatybilności
Testy kompatybilności to naprawdę ważna część oceny, czy nasza aplikacja www dobrze działa w różnych środowiskach i na różnych systemach. Gdy myślimy o skalowalności aplikacji oraz baz danych, te testy pomagają sprawdzić, jak aplikacja znosi rosnące obciążenia i jak współpracuje z różnymi bazami danych czy serwerami. Przykładowo, możemy przetestować działanie aplikacji na różnych wersjach systemów operacyjnych lub przeglądarek. W branży sporo ludzi korzysta z takich narzędzi jak Selenium czy QUnit, które pomagają w automatyzacji tych testów. Z mojej perspektywy, te testy powinny być częścią cyklu życia oprogramowania, aby użytkownicy mogli cieszyć się spójnym i niezawodnym doświadczeniem. Zrozumienie testów kompatybilności jest kluczowe, nie tylko dla programistów, ale też dla inżynierów jakości, ponieważ ma to bezpośredni wpływ na to, jak użytkownicy odbierają nasz produkt oraz jego sukces na rynku.

Pytanie 38

Klient wpisał adres nieistniejącego zasobu na serwerze. Próba nawiązania połączenia spowoduje wystąpienie błędu

A. 503
B. 400
C. 500
D. 404
Odpowiedź 404 jest prawidłowa, ponieważ oznacza, że serwer nie może znaleźć żądanego zasobu. Kiedy użytkownik wprowadza nieistniejący adres URL, serwer HTTP zwraca ten kod błędu jako odpowiedź informującą, że dany zasób nie został znaleziony. Jest to standardowy sposób na komunikowanie się z klientami, że ich prośba nie mogła zostać zrealizowana z powodu braku zasobu. W praktyce, kod 404 jest powszechnie używany do zarządzania sytuacjami, w których użytkownik wpisuje niewłaściwy adres lub gdy zasób został usunięty. Dobrą praktyką jest tworzenie własnych stron błędu 404, które informują użytkowników o tym, co mogą zrobić dalej, na przykład sugerując im powrót na stronę główną lub wyszukiwanie w serwisie. Z perspektywy bezpieczeństwa, warto również unikać ujawniania szczegółów dotyczących struktury serwera w odpowiedziach 404, aby zminimalizować potencjalne ryzyko ataków.

Pytanie 39

Co należy zweryfikować przed wykonaniem kopii zapasowej bazy danych, aby było możliwe jej późniejsze odtworzenie w poprawny sposób?

A. prawa dostępu do serwera bazy danych
B. poprawność składni zapytań
C. spójność bazy danych
D. możliwość udostępnienia bazy danych
Zarządzanie bazą danych wymaga zrozumienia, że przed wykonaniem kopii bezpieczeństwa kluczowe jest zapewnienie, że baza danych jest spójna. Wybór odpowiedzi dotyczącej możliwość udostępnienia bazy danych wskazuje na niezrozumienie podstawowych zasad operacji na bazie danych. Udostępnienie bazy może wiązać się z ryzykiem w przypadku, gdy użytkownicy wprowadzają dane w czasie wykonywania kopii zapasowej, co może prowadzić do niespójności. Prawa dostępu do serwera bazy danych są istotne, ale bez upewnienia się, że dane są spójne, nawet najlepiej zabezpieczona baza może okazać się problematyczna podczas przywracania. Poprawność składni zapytań jest także ważna, jednak nie ma bezpośredniego wpływu na jakość kopii zapasowej, ponieważ może być temat dotyczący operacji wykonywanych na danych, a nie samego stanu bazy. Spójność danych zapewnia, że wszystkie zależności i relacje między danymi są nienaruszone, co jest kluczowe, aby móc polegać na kopii zapasowej jako wiarygodnym źródle danych. Przykładem błędnego rozumienia może być sytuacja, w której administrator baz danych, koncentrując się na dostępności, ignoruje mechanizmy zapewniające integralność danych, co prowadzi do nieprzewidzianych błędów przy próbie ich odtworzenia.

Pytanie 40

Przyjmując, że użytkownik Adam nie miał dotychczas żadnych uprawnień, polecenie SQL przyzna mu prawa jedynie do

GRANT CREATE, ALTER ON sklep.* TO adam;
A. dodawania i modyfikacji danych we wszystkich tabelach bazy sklep
B. tworzenia i zmiany struktury wszystkich tabel w bazie sklep
C. tworzenia oraz modyfikowania struktury w tabeli sklep
D. dodawania i modyfikacji danych w tabeli sklep
To, co zaznaczyłeś, jest jak najbardziej na miejscu. W tym SQL-u, 'GRANT CREATE, ALTER ON sklep.* TO adam;' dajesz użytkownikowi, czyli adamowi, możliwości tworzenia i zmieniania struktury wszystkich tabel w bazie 'sklep'. Słowo 'CREATE' pozwala mu na tworzenie nowych tabel, a 'ALTER' umożliwia mu wprowadzanie zmian w tych istniejących, na przykład dodawanie czy usuwanie kolumn. Ważne, żeby ogarnąć, że 'sklep.*' oznacza wszystkie tabele w danej bazie, co jest zgodne z dobrymi praktykami w zarządzaniu bazami danych. No bo jakby adam miał ochotę dodać nową tabelę albo zmodyfikować istniejącą, to musi mieć odpowiednie uprawnienia. Przykładem może być sytuacja, gdy administrator daje programiście dostęp do zmian w strukturze tabel, żeby móc dodać nowe funkcje do aplikacji – to naprawdę ważne dla rozwoju systemu.