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: 23 kwietnia 2026 12:51
  • Data zakończenia: 23 kwietnia 2026 13:03

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Czego nie należy brać pod uwagę przy zabezpieczaniu serwera bazy danych przed atakami hakerskimi?

A. Aktywacja zapory
B. Defragmentacja dysków
C. Zamykanie portów związanych z bazą danych
D. Używanie skomplikowanych haseł do bazy
Defragmentacja dysków, mimo że może poprawić wydajność dysków twardych, nie jest bezpośrednio związana z zabezpieczeniem serwera bazy danych przed atakami hakerów. Zabezpieczenia bazy danych powinny koncentrować się na praktykach, które bezpośrednio wpływają na ochronę danych i dostęp do nich. Przykładem skutecznych środków ochrony są złożone hasła, które utrudniają nieautoryzowany dostęp do systemu. Stosowanie silnych haseł, które łączą litery, cyfry oraz znaki specjalne, jest podstawowym krokiem w kierunku zabezpieczenia bazy danych. Kolejnym aspektem jest blokowanie portów, które nie są niezbędne do działania bazy danych, co może znacznie ograniczyć możliwości ataku z sieci. Włączenie zapory (firewall) także przyczynia się do ochrony, monitorując i kontrolując ruch sieciowy. Warto podkreślić, że zgodnie z zasadami bezpieczeństwa, minimalizacja punktów dostępu do bazy danych jest kluczowa dla jej ochrony.

Pytanie 2

W języku SQL, aby usunąć wszystkie rekordy z tabeli, nie eliminując jej samej, można skorzystać z polecenia

A. DROP
B. TRUNCATE
C. UPDATE
D. ALTER
Polecenie TRUNCATE w języku SQL jest używane do usunięcia wszystkich danych z tabeli w sposób szybki i efektywny, bez potrzeby usuwania samej tabeli. TRUNCATE działa na poziomie struktury bazy danych, co oznacza, że nie zapisuje informacji o usuniętych rekordach w dzienniku transakcji, co czyni operację znacznie szybszą w porównaniu do innych metod, takich jak DELETE. W praktyce, gdy chcesz zresetować tabelę do stanu pustego, TRUNCATE jest najlepszym wyborem. Przykładem zastosowania może być sytuacja, gdy tabela tymczasowa zawiera dane, które nie są już potrzebne po zakończeniu procesu przetwarzania. W takim przypadku użycie polecenia TRUNCATE pozwala na szybkie usunięcie wszystkich rekordów, a sama struktura tabeli pozostaje nienaruszona do przyszłego użycia. Dobrą praktyką jest również stosowanie TRUNCATE w sytuacjach, gdzie nie potrzebujemy zachować historii operacji na danych, co zwiększa wydajność bazy danych. Zgodnie z zaleceniami standardów SQL, TRUNCATE jest bardziej odpowiednie do operacji na dużych zbiorach danych, gdyż minimalizuje czas operacji i obciążenie systemu.

Pytanie 3

Który z czynników ma negatywny wpływ na efektywną współpracę w zespole?

A. rywalizacja między członkami zespołu
B. efektywna komunikacja
C. podział ról i obowiązków
D. wzajemny szacunek
Rywalizacja między członkami zespołu jest zasadą, która w sposób negatywny wpływa na efektywność współpracy. Tego rodzaju rywalizacja prowadzi do konfliktów, osłabia zaufanie oraz może skutkować brakiem otwartości w komunikacji. W praktyce, gdy zespół zamiast współdziałać, koncentruje się na konkurencji, członkowie mogą zacząć ukrywać informacje lub sabotować działania innych, co obniża ogólną wydajność. Dobrym przykładem jest sytuacja, gdy w projekcie dwóch programistów stara się zdobyć uznanie lidera, co prowadzi do rywalizacji i pomija współpracę. Efektem może być spadek jakości pracy, opóźnienia w realizacji zadań oraz frustracja w zespole. Standardy zarządzania projektami, takie jak Agile, podkreślają znaczenie współpracy i dzielenia się wiedzą w celu osiągnięcia sukcesu. Przyjazne środowisko pracy, w którym członkowie zespołu wspierają się nawzajem, jest kluczem do efektywności i innowacyjności.

Pytanie 4

W PHP, aby połączyć się z bazą danych MySQL przy użyciu biblioteki mysqli, w zapisie zamieszczonym poniżej, w miejscu litery 'c' powinno się wpisać

Ilustracja do pytania
A. lokalizację serwera bazy danych
B. nazwę bazy danych
C. hasło użytkownika
D. nazwę użytkownika
W języku PHP używając biblioteki mysqli do połączenia z bazą danych MySQL, jako drugi argument funkcji mysqli należy podać nazwę użytkownika. Konstruktor mysqli przyjmuje pięć głównych argumentów: lokalizację serwera, nazwę użytkownika, hasło użytkownika, nazwę bazy danych oraz opcjonalne port i socket. Nazwa użytkownika jest kluczowa, ponieważ określa, który użytkownik bazy danych będzie używany do połączenia. Najczęściej używanym użytkownikiem przy lokalnych połączeniach testowych jest 'root', ale w środowiskach produkcyjnych stosuje się bardziej restrykcyjne podejście, tworząc dedykowane konta z ograniczonymi uprawnieniami dostępowymi. Korzystając z odpowiednich danych uwierzytelniających, można także lepiej logować działania i zarządzać prawami dostępu. Dobra praktyka wymaga, aby hasło było przechowywane bezpiecznie, np. w plikach konfiguracyjnych poza dostępem zewnętrznym, a dane użytkownika zawsze były szyfrowane przy przesyłaniu. Znajomość poprawnej konfiguracji połączenia z bazą danych jest kluczowa dla bezpieczeństwa i wydajności aplikacji.

Pytanie 5

Jakie są etapy w odpowiedniej kolejności przy tworzeniu aplikacji?

A. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
B. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożenie
C. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanie
D. Analiza oczekiwań klienta, określenie wymagań, programowanie, wdrożenie, testowanie
Odpowiedź wskazująca na kolejność: analiza wymagań klienta, specyfikacja wymagań, tworzenie, testy, wdrażanie jest poprawna i odzwierciedla standardowy model cyklu życia oprogramowania (SDLC). Zaczynamy od analizy wymagań, co oznacza zrozumienie potrzeb klienta i zebranie informacji, które będą fundamentem dalszych prac. Następnie przechodzimy do specyfikacji wymagań, gdzie dokumentujemy te potrzeby w formie, która będzie zrozumiała dla zespołu developerskiego. Tworzenie aplikacji następuje po szczegółowym omówieniu i zaakceptowaniu wymagań, co minimalizuje ryzyko błędów. Testy są kluczowym etapem, który pozwala na weryfikację, czy stworzone rozwiązanie spełnia wymagania oraz działa zgodnie z założeniami. Ostateczne wdrożenie aplikacji do użytkowania powinno nastąpić po przeprowadzeniu wszystkich testów i uzyskaniu pozytywnych wyników. Przykład zastosowania tej metodologii można zaobserwować w projektach realizowanych w metodologii Agile, gdzie iteracje pozwalają na ciągłe dostosowywanie aplikacji do zmieniających się potrzeb klienta. Takie podejście zwiększa satysfakcję użytkowników i minimalizuje koszty związane z poprawkami.

Pytanie 6

Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.

Pytanie 7

Jakie polecenie należy zastosować, aby wysłać dane przy pomocy funkcji mysqli_query() w skrypcie PHP, który dodaje informacje z formularza umieszczonego na stronie internetowej do bazy danych?

A. ALTER
B. INSERT INTO
C. SELECT
D. UPDATE
Odpowiedź 'INSERT INTO' jest poprawna, ponieważ jest to standardowa kwerenda SQL używana do wstawiania nowych rekordów do tabel w bazie danych. W kontekście PHP i funkcji mysqli_query(), wstawianie danych z formularza zazwyczaj obejmuje przygotowanie kwerendy, która zawiera instrukcję INSERT INTO wraz z nazwą tabeli oraz danymi, które mają zostać dodane. Na przykład, jeśli mamy formularz z polami 'imie' i 'nazwisko', kwerenda mogłaby wyglądać następująco: 'INSERT INTO uzytkownicy (imie, nazwisko) VALUES (?, ?)'. Użycie znaków zapytania (?) jest zgodne z najlepszymi praktykami, ponieważ pozwala na bezpieczne wprowadzenie danych, chroniąc aplikację przed atakami SQL Injection. Dobrą praktyką jest również używanie PDO lub MySQLi z przygotowanymi zapytaniami, co zwiększa bezpieczeństwo oraz efektywność kodu. W ten sposób można skutecznie wstawiać dane do bazy danych, zachowując przy tym standardy programistyczne.

Pytanie 8

Aby zwiększyć wydajność operacji na bazie danych, należy dla pól, które są często wyszukiwane lub sortowane

A. stworzyć osobną tabelę przechowującą tylko te pola
B. dodać więzy integralności
C. dodać klucz obcy
D. utworzyć indeks
Tworzenie indeksu na polach, które często przeszukujesz lub sortujesz, to naprawdę ważna rzecz, jeśli chodzi o wydajność baz danych. Indeksy działają trochę jak spis treści w książkach – pozwalają systemowi szybko znaleźć te dane, których potrzebujesz, bez przeszukiwania całego folderu. Dzięki nim zapytania SELECT mogą iść jak burza, co ma ogromne znaczenie w aplikacjach, gdzie liczy się czas. Przykład? Jeśli zrobisz indeks na kolumnie 'email' w tabeli 'Users', to znacznie szybciej odnajdziesz użytkowników po adresie email. W praktyce warto też regularnie monitorować, jak działają te indeksy i je optymalizować, na przykład usuwając te, które są zbędne, żeby nie przeciążać bazy danych. Dobrze jest pamiętać, że przy dodawaniu lub aktualizowaniu danych, indeksy mogą trochę spowolnić działanie, więc lepiej używać ich z głową.

Pytanie 9

W tabeli personel znajdują się pola: imie, nazwisko, pensja, staz. Aby otrzymać średnią pensję pracowników, dla których staż wynosi od 10 do 20 lat pracy włącznie, należy wykonać kwerendę:

A. SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
B. SELECT COUNT(*) FROM personel WHERE staz >= 10 AND staz <= 20
C. SELECT AVG(*) FROM personel WHERE staz >= 10 AND staz <= 20
D. SELECT COUNT(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
Poprawna kwerenda to 'SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20;'. Użycie funkcji AVG() jest kluczowe, gdyż jej celem jest obliczenie średniej wartości z konkretnego zestawu danych, w tym przypadku pensji pracowników z określonym stażem. Funkcja ta agreguje dane, zliczając sumę pensji i dzieląc ją przez ich liczbę, co jest standardową metodą obliczania średniej arytmetycznej. W kontekście praktycznym, taką kwerendę można wykorzystać w raportach finansowych dla działu HR, aby ocenić wynagrodzenia w zespole z odpowiednim doświadczeniem. Standardy SQL zalecają użycie funkcji agregujących, takich jak AVG(), do takich obliczeń, co zapewnia dokładność i efektywność w analizie danych. Co więcej, efektywne wykorzystanie takich zapytań pozwala na lepsze planowanie budżetu oraz strategii wynagrodzeń w organizacjach.

Pytanie 10

Aby ustanowić połączenie z serwerem bazy danych w języku PHP, należy użyć funkcji

A. mysqli_get_connection_stats()
B. mysqli_connect()
C. mysqli_autocommit()
D. mysqli_fetch_row()
Funkcja mysqli_connect() to taka podstawa w PHP, która pomaga połączyć się z bazą danych MySQL. Musisz jej użyć z czterema argumentami: nazwą hosta, użytkownika, hasłem i nazwą bazy danych. Dzięki mysqli_connect() Twoja aplikacja będzie działać sprawniej i bezpieczniej, co jest mega ważne. Na przykład, żeby połączyć się z bazą, możesz użyć takiego kodu: $conn = mysqli_connect('localhost', 'username', 'password', 'database_name');. Jak już masz połączenie, to później możesz robić różne zapytania SQL i manipulować danymi. To też jest zgodne z zasadą separacji, bo oddziela logikę od zarządzania danymi. No i pamiętaj, że warto zadbać o obsługę błędów przy łączeniu, najlepiej sprawdzić to przy pomocy prostego warunku: if (!$conn) { die('Connection failed: ' . mysqli_connect_error()); } Moim zdaniem, to bardzo przydatne podejście.

Pytanie 11

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. równorzędnym
B. centralnego wydawcy
C. centralnego subskrybenta
D. rozproszonym
Model centralnego wydawcy jest popularnym rozwiązaniem w replikacji baz danych gdzie jeden centralny serwer działa jako główny wydawca danych do wielu subskrybentów. Kluczowa cecha tego modelu polega na tym że wszystkie zmiany są inicjowane na głównym serwerze co pozwala na scentralizowane zarządzanie danymi. Centralny wydawca zapewnia że dane są spójne i aktualizowane we wszystkich subskrybentach zmniejszając ryzyko konfliktów danych. Taka architektura jest często stosowana w organizacjach z rozproszonymi jednostkami gdzie centralny serwer w centrali obsługuje oddziały terenowe. Przykładami zastosowań są systemy ERP i CRM które wymagają jednoczesnej replikacji danych do wielu lokalizacji. Dobre praktyki w tej architekturze obejmują regularne monitorowanie wydajności serwerów oraz optymalizację przepustowości sieci by minimalizować opóźnienia. Modele centralnego wydawcy wykorzystują technologie takie jak SQL Server Replication czy Oracle Streams które są dobrze udokumentowane i szeroko stosowane w branży zapewniając niezawodność i skalowalność.

Pytanie 12

Na ilustracji przedstawiającej tabelę muzyka, zrealizowano poniższe zapytanie SQL. Jaki rezultat zwróci ta kwerenda?

SELECT wykonawca FROM`muzyka`
WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. Czesław, Czechowski
B. Czesław, Niemen
C. Czesław
D. pusty wynik
W przypadku zapytania SQL które wykorzystuje operator LIKE z wzorcem C%W często dochodzi do nieporozumienia dotyczącego działania tego operatora. LIKE jest używany do porównywania wzorców tekstowych a procent % służy do zastępowania dowolnej liczby znaków. Można by błędnie założyć że skoro zapytanie ma zwrócić wykonawców których imiona zaczynają się na C i kończą na W to którąś z dostępnych opcji w tabeli spełnia ten warunek. Jednakże w tej konkretnej tabeli nie ma wykonawcy który by spełniał te kryteria. Czesław Niemen kończy się na M a nie na W natomiast Mikołaj Czechowski rozpoczyna się od litery M zamiast C. Przykładem typowego błędu jest nieprawidłowa interpretacja tego jak działają wzorce w operatorze LIKE lub przeoczenie że wzorzec musi być dokładnie zgodny z wymaganiami. Ważnym aspektem jest też zrozumienie że w praktyce biznesowej dokładność danych jest kluczowa a niepoprawne zrozumienie wzorców prowadzi do niepoprawnych wyników zapytań. Dlatego zawsze warto przetestować zapytanie na mniejszym zbiorze danych aby upewnić się że zwraca oczekiwane wyniki co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 13

Jednym z atrybutów tabeli ksiazki jest pole czyWypozyczona, które może mieć dwie wartości: true lub false. Jaki typ danych będzie najbardziej odpowiedni dla tego pola?

A. DOUBLE
B. VARCHAR(5)
C. BOOLEAN
D. CHAR
Odpowiedź 'BOOLEAN' jest poprawna, ponieważ jest to typ danych, który idealnie odpowiada na potrzeby pola 'czyWypozyczona', które przyjmuje jedynie dwie wartości: true (prawda) oraz false (fałsz). W przypadku baz danych, typ BOOLEAN jest optymalny do reprezentowania stanów logicznych, co pozwala na efektywniejsze zarządzanie danymi oraz ich przetwarzanie. Przykładowo, w systemie zarządzania biblioteką, pole 'czyWypozyczona' może być używane do szybkiego filtrowania książek, które są aktualnie dostępne lub wypożyczone. Użycie typu BOOLEAN eliminuje potrzebę zbędnych konwersji typu, zwiększa czytelność kodu oraz ułatwia optymalizację zapytań SQL. W praktyce, stosowanie typu BOOLEAN jest zgodne z najlepszymi praktykami projektowania baz danych, które promują przejrzystość i zgodność z modelowaniem danych. Warto również zauważyć, że w niektórych systemach zarządzania bazami danych (np. PostgreSQL) typ BOOLEAN jest natywnie obsługiwany, co dodatkowo wpływa na wydajność operacji na danych.

Pytanie 14

Dostępna jest tabela z danymi o mieszkaniach, zawierająca kolumny: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. Wszystkie informacje poza adresem tych mieszkań, które mają więcej niż 3 pokoje
B. Metraż oraz koszt tych mieszkań, które mają przynajmniej 3 pokoje
C. Metraż oraz koszt tych mieszkań, które mają więcej niż 3 pokoje
D. Wszystkie informacje o tych mieszkaniach, które mają minimum 3 pokoje
W tym zapytaniu SQL chodzi o to, żeby ściągnąć konkretne dane z tabeli mieszkania. Używamy klauzuli SELECT, dlatego wybieramy tylko te kolumny, które nas interesują, czyli metraż i cena. I to wszystko bierzemy z tabeli mieszkania, co mamy w klauzuli FROM. Jeszcze dodajemy filtr WHERE, który mówi, że bierzemy tylko te mieszkania, które mają więcej niż trzy pokoje. To naprawdę dobra strategia, bo dzięki temu dokładnie widzimy, co nas interesuje. Takie zapytanie przydaje się w analizach rynku nieruchomości, bo można porównywać ceny mieszkań z większą ilością pokoi. Ogólnie mówiąc, SQL jest super narzędziem do pracy z danymi, bo pozwala nam szybko i efektywnie wyciągać to, co jest dla nas ważne. Wiedza na temat takich zapytań to podstawa, zwłaszcza w pracy z dużymi bazami danych i generowaniu różnych raportów.

Pytanie 15

Dana jest tabela ksiazki z polami: tytul, autor, cena (typu liczbowego). Aby kwerenda SELECT wybrała tylko tytuły, dla których cena jest mniejsza od 50 zł, należy zapisać

A. SELECT tytul FROM ksiazki WHERE cena < 50;
B. SELECT tytul FROM ksiazki WHERE cena > '50 zł';
C. SELECT ksiazki FROM tytul WHERE cena < '50 zł';
D. SELECT * FROM ksiazki WHERE cena < 50;
Prawidłowa odpowiedź wybiera dokładnie to, o co chodzi w treści zadania: tylko kolumnę tytul z tabeli ksiazki, ale tylko dla tych rekordów, gdzie cena jest mniejsza niż 50. Składnia SELECT tytul FROM ksiazki WHERE cena < 50; jest zgodna ze standardowym SQL i pokazuje dobrą praktykę – pobieramy tylko te dane, które są nam potrzebne, zamiast używać SELECT *. Dzięki temu zapytanie jest lżejsze, szybsze i czytelniejsze, co w większych projektach ma naprawdę duże znaczenie. Moim zdaniem warto zwrócić uwagę na kilka elementów. Po pierwsze, w klauzuli SELECT podajemy konkretne nazwy kolumn (tu: tytul), nie nazwę tabeli. Po drugie, w FROM podajemy dokładnie nazwę tabeli, z której korzystamy (ksiazki). Po trzecie, warunek WHERE cena < 50 poprawnie porównuje wartość liczbową, bo kolumna cena ma typ liczbowy, więc nie używamy tu cudzysłowów ani żadnych „zł” w środku. W praktyce podobny wzorzec stosuje się cały czas, np.: SELECT tytul, autor FROM ksiazki WHERE cena <= 30; żeby dostać tańsze książki, albo SELECT tytul FROM ksiazki WHERE cena BETWEEN 20 AND 40; gdy interesuje nas konkretny przedział. W profesjonalnych aplikacjach webowych taka precyzja w definiowaniu zapytań SQL jest podstawą: ułatwia optymalizację, indeksowanie kolumn (np. indeks na kolumnie cena przyspiesza filtrowanie w WHERE) i minimalizuje przesyłanie niepotrzebnych danych między bazą a aplikacją. Dobra praktyka jest też taka, żeby dostosowywać typy danych: skoro cena jest liczbą, to porównujemy ją z liczbą, bez jednostek, a formatowanie typu „50 zł” robimy później w warstwie prezentacji, np. w PHP, JavaScript albo w szablonach widoków.

Pytanie 16

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku zdecydowano o podwyżce pensji dla wszystkich pracowników o 100 zł. Ta aktualizacja w bazie danych powinna mieć formę

A. UPDATE pracownicy SET pensja = 100
B. UPDATE pensja SET +100
C. UPDATE pensja SET 100
D. UPDATE pracownicy SET pensja = pensja + 100
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest właściwa, ponieważ używa standardowej składni SQL do aktualizacji danych w tabeli. W tym przypadku, instruktacja 'SET pensja = pensja + 100' oznacza, że dla każdego rekordu w tabeli 'pracownicy', wartość kolumny 'pensja' zostanie zwiększona o 100 zł. To podejście jest zgodne z zasadami dobrych praktyk w programowaniu SQL, ponieważ aktualizuje wartość na podstawie jej bieżącej wartości, co pozwala na zachowanie pełnej kontroli nad danymi. Tego rodzaju aktualizacja jest często stosowana w bazach danych, gdy konieczne jest modyfikowanie istniejących danych na podstawie ich aktualnych wartości. Na przykład, jeśli w tabeli mamy pracowników z różnymi wynagrodzeniami, każdemu z nich dodamy stałą kwotę, co sprawia, że struktura danych pozostaje spójna. Dodatkowo, takie podejście ma zastosowanie w praktycznych scenariuszach, takich jak coroczne podwyżki wynagrodzeń, co jest powszechną praktyką w wielu organizacjach, a poprawność tej operacji można zweryfikować poprzez zapytania SELECT po aktualizacji.

Pytanie 17

W aplikacji PHP, która zarządza bazą danych, aby uzyskać numer błędu oraz jego opis po dokonaniu jakiejkolwiek operacji, jakie funkcje powinny być wykorzystane?

A. tylko funkcję mysqli_error
B. funkcje mysqli_error i mysqli_connect_errno
C. funkcje mysqli_error i mysqli_error_number
D. funkcje mysqli_error i mysqli_errno
Wybór funkcji mysqli_error i mysqli_connect_errno nie jest właściwy, ponieważ mysqli_connect_errno jest funkcją przeznaczoną do uzyskiwania numeru błędu połączenia z bazą danych, a nie błędu SQL. Użycie tej funkcji w kontekście operacji na bazie danych prowadzi do mylnego wniosku, że jej zastosowanie jest uniwersalne dla wszystkich błędów. W rzeczywistości, mysqli_connect_errno powinno być stosowane głównie podczas nawiązywania połączenia, natomiast dla błędów związanych z zapytaniami SQL właściwe są inne funkcje. Z kolei wskazanie tylko na funkcję mysqli_error nie jest wystarczające, ponieważ sama dostarcza jedynie opisu błędu, a nie jego numeru, co ogranicza możliwości analizy i diagnostyki. Użytkownicy często popełniają błąd myślowy, zakładając, że pojedyncza funkcja może spełnić wszystkie potrzeby związane z obsługą błędów. W prawidłowym procesie zarządzania błędami w programowaniu, kluczowe jest użycie zestawu funkcji, które dostarczają zarówno opisy, jak i kody błędów, co pozwala na bardziej wszechstronną reakcję na różne sytuacje awaryjne. Ignorowanie tej zasady może prowadzić do nieefektywnego debugowania i długotrwałych problemów w działaniu aplikacji.

Pytanie 18

Jakie zapytanie SQL dotyczące tabeli pracownicy, której struktura to: id, imie, nazwisko, plec, zarobek, pozwoli na osobne obliczenie średniego wynagrodzenia kobiet oraz średniego wynagrodzenia mężczyzn?

A. SELECT AVG(zarobek) FROM pracownicy AS sredni_zarobek
B. SELECT AVG(zarobek) FROM pracownicy WHERE plec='k' AND plec='m'
C. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec HAVING plec='k' AND plec='m'
D. SELECT AVG(zarobek) FROM pracownicy GROUP BY plec
Poprawne zapytanie SQL, które oblicza średni zarobek osobno dla kobiet i mężczyzn, to SELECT AVG(zarobek) FROM pracownicy GROUP BY plec. Użycie funkcji AVG() pozwala na obliczenie średniej wartości kolumny 'zarobek', a GROUP BY plec umożliwia grupowanie wyników według wartości w kolumnie 'plec', co w tym przypadku oznacza grupowanie według płci. W rezultacie zapytanie zwróci dwie średnie: jedną dla kobiet (plec='k') i drugą dla mężczyzn (plec='m'). To podejście jest zgodne ze standardem SQL, który pozwala na agregację danych w oparciu o różne grupy. Przykładowo, jeśli tabela 'pracownicy' zawiera dane z różnymi zarobkami dla kobiet i mężczyzn, to to zapytanie da nam jasny obraz różnic w wynagrodzeniach, co może być cenne dla analiz społecznych i ekonomicznych. Analiza danych w taki sposób jest kluczowa w zarządzaniu zasobami ludzkimi oraz w tworzeniu strategii wynagrodzeń.

Pytanie 19

Baza danych szkoły podstawowej dla dzieci w wieku 6 lat obejmuje tabelę szkoła, która zawiera kolumny: imie, nazwisko, klasa. Wszyscy uczniowie w klasach od 1 do 5 przeszli do wyższej klasy. W celu zwiększenia wartości w kolumnie klasa o 1, należy wykonać następujące polecenie

A. UPDATE nazwisko, imie SET klasa = klasa + 1 WHERE klasa>l OR klasa < 5
B. UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
C. SELECT szkoła FROM klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5
D. SELECT nazwisko, imie FROM klasa = klasa + 1 WHERE klasa>l OR klasa < 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawne polecenie to 'UPDATE szkoła SET klasa = klasa + 1 WHERE klasa >=1 AND klasa <= 5;'. To zapytanie aktualizuje wartość w kolumnie 'klasa' dla wszystkich uczniów w tabeli 'szkoła', których aktualny poziom klasy mieści się w zakresie od 1 do 5. Kluczowym elementem jest użycie polecenia UPDATE, które jest standardowym sposobem na modyfikowanie danych w bazach danych SQL. Oznaczenie 'SET klasa = klasa + 1' wskazuje, że chcemy zwiększyć obecną wartość w kolumnie 'klasa' o 1. Warto zwrócić uwagę na warunek WHERE, który filtruje rekordy tak, aby aktualizacja dotyczyła tylko tych uczniów, którzy są w klasach 1-5. Tego rodzaju operacje są powszechnie stosowane w zarządzaniu danymi w aplikacjach edukacyjnych i są zgodne z praktykami bezpieczeństwa i integralności danych, zapewniając, że tylko odpowiednie rekordy są aktualizowane. Przykładem praktycznego zastosowania może być coroczna aktualizacja klas uczniów po zakończeniu roku szkolnego.

Pytanie 20

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

A. ANALYZE TABLE tbl_name
B. OPTIMIZE TABLE tbl_name
C. REGENERATE TABLE tbl_name
D. REPAIR TABLE tbl_name

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 21

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
B. usunięta tabela Pracownicy.
C. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
D. usunięty rekord najstarszego pracownika.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika. Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE. Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie. Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 22

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

A. root
B. admin
C. sysadmin
D. mysqld

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 23

Ustalenie klucza obcego jest konieczne do skonstruowania

A. relacji 1..n
B. relacji 1..1
C. transakcji
D. klucza podstawowego

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz obcy jest kluczowym elementem w modelowaniu relacji w bazach danych, szczególnie w kontekście relacji 1..n. Definiuje on powiązania pomiędzy dwiema tabelami, gdzie jedna tabela (tabela główna) może mieć wiele powiązanych rekordów w drugiej tabeli (tabela szczegółowa). Na przykład, w bazie danych dotyczącej studentów i ich zapisów na przedmioty, tabela studentów może mieć klucz obcy odnoszący się do tabeli przedmiotów. Dzięki temu, dla każdego studenta można przechowywać wiele zapisów na różne przedmioty, co jest istotne w kontekście analizy danych. Z perspektywy standardów, takie podejście jest zgodne z zasadami normalizacji, które mają na celu eliminację redundancji danych oraz zapewnienie integralności referencyjnej. Dobre praktyki w projektowaniu baz danych sugerują stosowanie kluczy obcych do zarządzania relacjami pomiędzy danymi, co ułatwia ich późniejsze przetwarzanie i analizy.

Pytanie 24

Które z poniższych oprogramowań nie jest systemem do zarządzania treścią (CMS)?

A. Apache
B. Mambo
C. WordPress
D. Joomla

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "Apache" jest prawidłowa, ponieważ Apache to serwer HTTP, który jest odpowiedzialny za obsługę i dostarczanie stron internetowych do przeglądarek użytkowników. Nie jest to system zarządzania treścią (CMS), który służy do tworzenia, edytowania i publikowania treści na stronach internetowych. Systemy takie jak Mambo, Joomla i WordPress to platformy CMS, które umożliwiają użytkownikom zarządzanie treściami w sposób intuicyjny i przyjazny dla użytkownika. Na przykład, WordPress, będący jednym z najpopularniejszych CMS-ów, oferuje bogaty ekosystem wtyczek oraz motywów, co pozwala na łatwe dostosowanie witryn do indywidualnych potrzeb. W kontekście branżowych standardów, stosowanie CMS-ów pozwala na skuteczniejsze zarządzanie treściami w witrynach, co jest zgodne z najlepszymi praktykami w zakresie tworzenia i utrzymania stron internetowych.

Pytanie 25

Kiedy zestawi się relacją kluczy głównych dwie tabele, uzyskuje się relację o typie

A. jeden do jednego
B. wiele do jednego
C. wiele do wielu
D. jeden do wielu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja typu jeden do jednego występuje, gdy dla każdego rekordu w jednej tabeli istnieje dokładnie jeden odpowiadający rekord w drugiej tabeli. Taki związek jest szczególnie przydatny w sytuacjach, gdy chcemy podzielić dane na różne kategorie, ale zachować ścisłą zależność między rekordami. Na przykład, możemy mieć tabelę z informacjami o użytkownikach, a w drugiej tabeli przechowywać szczegółowe dane dotyczące ich profili, gdzie każdy użytkownik ma tylko jeden profil. Takie połączenie nie tylko organizuje dane, ale również zwiększa wydajność zapytań i umożliwia lepszą kontrolę nad danymi. W praktyce, stosowanie relacji jeden do jednego pozwala na implementację złożonych systemów baz danych, które są zgodne z zasadami normalizacji, co jest kluczowe w projektowaniu baz zgodnych z najlepszymi praktykami, takimi jak minimalizacja redundancji i zapewnienie integralności danych.

Pytanie 26

W PHP, przy wykonywaniu działań na bazie danych MySQL, aby zakończyć sesję z bazą, należy użyć

A. mysqli_commit();
B. mysqli_close();
C. mysqli_rollback();
D. mysqli_exit();

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysqli_close() jest właściwym sposobem na zakończenie pracy z połączeniem do bazy danych MySQL w języku PHP. Użycie tej funkcji zwalnia zasoby skojarzone z danym połączeniem, co jest kluczowe w kontekście wydajności aplikacji. Po zakończeniu operacji na bazie danych, zwłaszcza w przypadku aplikacji intensywnie korzystających z zasobów, takich jak serwery webowe, ważne jest, aby zamknąć połączenie, aby uniknąć wycieków pamięci oraz ograniczyć liczbę otwartych połączeń. Przykładowo, po wykonaniu zapytań do bazy danych, stosując mysqli_close($connection), gdzie $connection to uchwyt do otwartego połączenia, można skutecznie zakończyć interakcję z bazą. Dobrą praktyką jest zamykanie połączeń w blokach finally, aby upewnić się, że zasoby są zwalniane nawet w przypadku wystąpienia wyjątków. Kiedy zamykasz połączenie, pamiętaj, że nie będziesz w stanie już korzystać z tego uchwytu połączenia, co jest zgodne z filozofią zarządzania zasobami, gdzie każdy otwarty zasób powinien być odpowiednio zamykany po zakończeniu jego użycia.

Pytanie 27

Wskaż właściwą sekwencję faz projektowania relacyjnej bazy danych?

A. Określenie kluczy podstawowych tabel, Określenie zbioru danych, Selekcja, Określenie relacji
B. Określenie zbioru danych, Selekcja, Określenie kluczy podstawowych tabel, Określenie relacji
C. Określenie relacji, Określenie kluczy podstawowych, Selekcja, Określenie zbioru danych
D. Selekcja, Określenie relacji, Określenie kluczy podstawowych tabel, Określenie zbioru danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Projektowanie relacyjnej bazy danych to naprawdę ciekawe, ale też skomplikowane zadanie. Na początku trzeba dobrze pomyśleć, jakie dane będziemy gromadzić i w jakiej formie, bo to później zdeterminuje wszystko. Potem wybieramy atrybuty, które są naprawdę istotne dla naszych potrzeb. Kluczowe w tym wszystkim jest ustalenie kluczy podstawowych dla tabel, bo one pomagają jednoznacznie zidentyfikować każdy rekord. Na końcu przychodzi czas na ustalanie relacji między tabelami, co pozwala nam na sensowne powiązanie danych. To wszystko w zgodzie z zasadami projektowania baz danych, które mówią o normalizacji i wydajności. Na przykład, jeśli projektujemy bazę danych dla uczelni, musimy dokładnie wiedzieć, jakie dane o studentach i kursach są dla nas ważne, żeby wszystko działało jak należy.

Pytanie 28

Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Wartość 3.5
B. Dane 4, 3, 4, 3
C. Liczba wierszy równa 4
D. Suma ocen równa 14

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tak, poprawna odpowiedź to 'Wartość 3.5'. W zapytaniu SQL 'SELECT AVG(ocena) FROM uczniowie;' używamy funkcji AVG, żeby obliczyć średnią. W tym przypadku ona bierze oceny z tabeli 'uczniowie' i liczy, ile wynosi średnia. Jak to działa? Suma wszystkich ocen to 14 (3 + 4 + 3 + 4), a mamy cztery oceny, więc dzielimy 14 przez 4 i wychodzi nam 3.5. To jest super przykład, jak można wykorzystać funkcję AVG w SQL, co jest naprawdę przydatne, szczególnie, gdy mamy dużą ilość danych do przeanalizowania. Dobrze jest znać takie funkcje agregujące jak AVG, SUM, MAX czy MIN, bo ułatwiają one analizę danych.

Pytanie 29

Organizacja społeczna, która skupia pracowników i ma na celu nadzorowanie warunków pracy oraz ochronę ich praw i interesów zawodowych, to

A. Straż Pożarna
B. związek zawodowy
C. kierownik zakładu
D. komisja BHP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Związek zawodowy to organizacja społeczna, która zrzesza pracowników w celu obrony ich praw oraz reprezentowania ich interesów zawodowych. Głównym zadaniem związków zawodowych jest monitorowanie warunków pracy i walka o poprawę sytuacji w miejscu zatrudnienia, co jest kluczowe w kontekście ochrony praw pracowniczych. Przykłady działań związków zawodowych obejmują negocjacje zbiorowych umów pracy, które mogą regulować wynagrodzenia, czas pracy oraz inne istotne aspekty zatrudnienia. Związki zawodowe mają również na celu wspieranie pracowników w sytuacjach konfliktowych z pracodawcą, co może obejmować mediacje czy nawet strajki w przypadku naruszeń ich praw. Działalność związków zawodowych opiera się na Kodeksie pracy oraz przepisach prawa dotyczących związków zawodowych, co zapewnia im legitymację prawną do działania. Warto także zauważyć, że związki zawodowe są istotnym elementem demokratycznych systemów pracy, promując dialog społeczny i współpracę z pracodawcami oraz rządem w celu osiągnięcia korzystnych warunków dla wszystkich stron.

Pytanie 30

W języku PHP, aby nawiązać połączenie z bazą danych MySQL za pomocą biblioteki mysqli, wykorzystując podany kod, w miejscu parametru 'c' powinno się wpisać

$a = new mysqli('b', 'c', 'd', 'e')
A. nazwę użytkownika
B. lokalizację serwera bazy danych
C. nazwę bazy danych
D. hasło użytkownika

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku PHP funkcja mysqli_connec lub konstruktor klasy mysqli służy do tworzenia połączeń z bazą danych MySQL. Ta funkcja wymaga podania kilku parametrów w określonej kolejności. Pierwszym parametrem jest lokalizacja serwera bazy danych zazwyczaj 'localhost' dla lokalnych serwerów. Drugim parametrem jest nazwa użytkownika. Jest to kluczowy element ponieważ pozwala na autoryzację i określa jakie operacje użytkownik może wykonywać na danej bazie danych. Zazwyczaj nazwa użytkownika to 'root' dla serwerów lokalnych ale na serwerach produkcyjnych często stosuje się inne konto użytkownika ze względów bezpieczeństwa. Trzecim parametrem jest hasło odpowiadające podanemu użytkownikowi zapewniające dodatkowy poziom bezpieczeństwa. Czwartym parametrem jest nazwa bazy danych do której użytkownik chce się połączyć. Dobrą praktyką jest korzystanie z plików konfiguracyjnych do przechowywania tych danych aby łatwo można było zarządzać różnymi środowiskami np. deweloperskim testowym i produkcyjnym bez konieczności modyfikacji kodu źródłowego. Prawidłowe zrozumienie tego mechanizmu jest kluczowe dla tworzenia bezpiecznych i stabilnych aplikacji webowych.

Pytanie 31

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
B. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
C. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
D. Funkcje anonimowe oraz ustawienie hasła do bazy danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zabezpieczenie bazy danych Microsoft Access jest kluczowym procesem, który ma na celu ochronę danych przed nieautoryzowanym dostępem oraz zapewnienie ich integralności. Ustalenie hasła do otwarcia bazy danych to pierwszy krok w kierunku zabezpieczenia. Pozwala to na ograniczenie dostępu tylko do osób, które znają hasło, co jest fundamentalnym środkiem ochrony informacji w systemach informatycznych. Dodatkowo, zabezpieczenia na poziomie użytkownika umożliwiają różnicowanie uprawnień dla poszczególnych użytkowników. Można przydzielać różne poziomy dostępu, co minimalizuje ryzyko, że niepowołane osoby będą mogły wprowadzać zmiany w bazie danych. Ważne jest również, aby stosować najlepsze praktyki związane z bezpieczeństwem, takie jak regularna aktualizacja haseł oraz audyty dostępu. Utrzymanie zgodności z międzynarodowymi standardami, takimi jak ISO/IEC 27001, może również pomóc w identyfikacji luk w zabezpieczeniach oraz w implementacji odpowiednich procedur ochrony danych. W codziennym użytkowaniu, skuteczne wdrożenie tych zabezpieczeń pozytywnie wpływa na bezpieczeństwo danych oraz ochronę prywatności użytkowników.

Pytanie 32

Do jakiego celu służy polecenie mysqldump?

A. optymalizacji bazy
B. stworzenia kopii zapasowej bazy
C. sprawdzenia integralności bazy
D. naprawy niespójnej bazy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 33

Które zapytanie MySQL należy użyć, aby usunąć jedynie pracowników, którzy zarabiają nie mniej niż 500 i nie więcej niż 1000 zł oraz ich miejsce pracy zawiera frazę tx

A. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';
B. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 OR miejsce_pracy LIKE '%tx%';
C. DELETE FROM pracownicy WHERE pensja > 500 AND pensja < 1000 AND miejsce_pracy LIKE '%tx%';
D. DELETE FROM pracownicy WHERE pensja IN (500,1000) AND miejsce_pracy LIKE '*tx*';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawne jest zapytanie: DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';. Słowo kluczowe BETWEEN w SQL oznacza przedział domknięty, czyli w tym przypadku usuwani będą pracownicy, którzy zarabiają co najmniej 500 i jednocześnie nie więcej niż 1000 zł. To dokładnie odpowiada treści zadania, bez żadnych niedomówień na granicach zakresu. Gdybyśmy użyli > i <, to wartości 500 i 1000 zostałyby wykluczone, co w tym zadaniu byłoby niezgodne z wymaganiem. Drugi warunek korzysta z operatora LIKE wraz z maską '%tx%'. Wzorzec z procentami z obu stron oznacza: znajdź wszystkie wiersze, gdzie ciąg znaków „tx” występuje gdziekolwiek w tekście kolumny miejsce_pracy – na początku, w środku albo na końcu. W MySQL znak % jest standardowym symbolem wieloznacznym (wildcard) dla dowolnego ciągu znaków, a nie gwiazdka *, dlatego zapis z % jest poprawny i zgodny z dokumentacją. Spójnik AND jest tu kluczowy, bo warunek mówi wyraźnie: usuwamy tylko tych pracowników, którzy spełniają jednocześnie oba kryteria – zarówno zakres pensji, jak i fragment tekstu w miejscu pracy. W praktyce takie zapytanie stosuje się np. przy porządkowaniu danych testowych: można szybko usunąć sztuczne rekordy z określonego przedziału płac i z wybranych lokalizacji. Moim zdaniem warto wyrabiać sobie nawyk bardzo precyzyjnego formułowania warunków logicznych (AND/OR) i zawsze sprawdzać, czy zakres jest domknięty czy otwarty. Dobrą praktyką jest też najpierw wykonać SELECT z tym samym WHERE, zobaczyć jakie rekordy zostaną naruszone, a dopiero potem odpalać DELETE – szczególnie na produkcyjnej bazie, bo tam pomyłki bywają bolesne.

Pytanie 34

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 35

Wskaż właściwą zasadę odnoszącą się do integralności danych w bazie danych?

A. pole klucza podstawowego nie powinno być puste
B. pole klucza obcego nie powinno być puste
C. pole klucza podstawowego musi mieć utworzony indeks
D. w relacji 1..n pole klucza obcego łączy się z polem klucza podstawowego innej tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pole klucza podstawowego w tabeli bazy danych jest fundamentalnym elementem struktury relacyjnej. Jego główną rolą jest zapewnienie unikalności każdego rekordu w tabeli oraz umożliwienie jednoznacznej identyfikacji. Zgodnie z zasadami spójności danych w bazach danych, pole klucza podstawowego nie może być puste (NULL), ponieważ brak wartości w tym polu uniemożliwi skuteczne i jednoznaczne zidentyfikowanie rekordu. Na przykład, w tabeli 'Klienci', gdzie 'ID_Klienta' jest kluczem podstawowym, każde 'ID_Klienta' musi być unikalne i nie może być puste, aby uniknąć niejednoznaczności podczas wyszukiwania lub modyfikacji danych. Praktyczne zastosowanie tej zasady w projektowaniu baz danych prowadzi do zwiększenia integralności i spójności danych, co jest zgodne z normami, takimi jak ACID (Atomicity, Consistency, Isolation, Durability). Dbałość o poprawność kluczy podstawowych to kluczowy element w tworzeniu wydajnych i niezawodnych systemów baz danych.

Pytanie 36

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

A. aktualizacji bazy danych z kontrolą więzów integralności
B. reorganizacji bazy danych na podstawie zapisanych danych
C. usunięcia bazy danych z głównego serwera subskrybenta
D. przywrócenia bazy danych z kopii zapasowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 37

Baza danych księgarni ma tabelę ksiazki z polami: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Jak utworzyć raport dotyczący sprzedanych książek, który zawiera tytuły oraz nazwiska autorów?

A. Zdefiniować relację 1..n między tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
B. utworzyć dwie oddzielne kwerendy: pierwszą, która wyszuka tytuły książek, a drugą, która pobierze nazwiska autorów
C. stworzyć kwerendę, która wyszukuje tytuły książek
D. Ustalić relację 1..1 pomiędzy tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zdefiniowanie relacji 1..n między tabelami 'ksiazki' oraz 'autorzy' jest kluczowe dla prawidłowego modelowania danych w bazach danych. Relacja 1..n oznacza, że jeden autor może mieć wiele książek, co jest w pełni zgodne z rzeczywistością w kontekście księgarni. Aby stworzyć raport sprzedanych książek z tytułami i nazwiskami autorów, konieczne jest, aby obie tabele były połączone w sposób umożliwiający łatwy dostęp do danych. Po utworzeniu relacji można skorzystać z kwerendy SQL, która wykorzystuje złączenie (JOIN) do pobrania informacji z obu tabel. Przykładowe zapytanie może wyglądać następująco: SELECT ksiazki.tytul, autorzy.nazwisko FROM ksiazki JOIN autorzy ON ksiazki.idAutor = autorzy.id. Tego typu podejście jest zgodne z dobrymi praktykami w projektowaniu baz danych, umożliwiając łatwe skalowanie oraz modyfikację w przyszłości.

Pytanie 38

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. klucza obcego.
B. wyłącznie typu logicznego.
C. klucza głównego.
D. wyłącznie typu tekstowego.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.

Pytanie 39

Czym jest relacja w bazach danych?

A. połączeniem dwóch pól w obrębie jednej tabeli
B. kluczem głównym w relacji tabel
C. algebraicznym połączeniem tabel
D. logicznym połączeniem tabel

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja w bazach danych to logiczne połączenie tabel, które umożliwia organizację i zarządzanie danymi w sposób umożliwiający ich efektywne przetwarzanie. W kontekście baz danych relacyjnych, relacje tworzone są na podstawie kluczy, które pozwalają na łączenie danych z różnych tabel. Na przykład, w bazie danych e-commerce, tabela 'Klienci' może być połączona z tabelą 'Zamówienia' przez klucz klienta. Dzięki temu, gdy zapytamy o zamówienia konkretnego klienta, silnik bazy danych może wykonać zapytanie łączące te obie tabele, dostarczając spójny zestaw danych. Taki model relacyjny oparty jest na teorii zbiorów i algebrze relacyjnej, co pozwala na skomplikowane operacje, takie jak łączenie, filtrowanie i agregowanie danych. W praktyce, relacje w bazach danych są kluczowe dla zapewnienia integralności danych, eliminacji redundancji oraz zwiększenia wydajności operacji na danych. Standardy takie jak SQL oparte są na tych koncepcjach, co czyni je fundamentalnymi w programowaniu baz danych.

Pytanie 40

W bazie danych znajduje się tabela o nazwie faktury, która posiada pola: numer, data, id_klienta, wartosc, status. Każdego dnia tworzony jest raport dotyczący faktur z danego dnia. W raporcie prezentowane są jedynie numery oraz wartości faktur. Która z poniższych kwerend SQL jest odpowiednia do wygenerowania tego raportu?

A. SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();
B. SELECT * FROM faktury WHERE data = CURRENT_DATE();
C. SELECT * FROM faktury;
D. SELECT numer, wartosc FROM faktury;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybrana kwerenda SQL, SELECT numer, wartosc FROM faktury WHERE data = CURRENT_DATE();, jest poprawna, ponieważ precyzyjnie spełnia wymagania dotyczące generowania raportu faktur dla bieżącego dnia. Kwerenda ta nie tylko wybiera odpowiednie kolumny, czyli 'numer' i 'wartosc', ale także filtruje wyniki, wykorzystując warunek WHERE, który ogranicza dane do tych, które mają datę równą aktualnej dacie. Użycie funkcji CURRENT_DATE() jest standardowym podejściem w SQL do uzyskiwania bieżącej daty, co pozwala na automatyzację raportowania. Praktycznie rzecz biorąc, takie kwerendy są kluczowe w aplikacjach biznesowych, gdzie codzienna analiza danych jest niezbędna, aby podejmować informowane decyzje. Przy tworzeniu raportów warto również zwrócić uwagę na indeksowanie kolumn używanych w filtrach, co może znacznie przyspieszyć czas odpowiedzi zapytania w dużych zbiorach danych. Dobrą praktyką jest również testowanie kwerend na mniejszych zestawach danych przed ich wdrożeniem na żywo, aby upewnić się, że zwracają oczekiwane wyniki.