Wyniki egzaminu

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

Egzamin niezdany

Wynik: 19/40 punktów (47,5%)

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

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
B. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
C. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
D. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator 'OR' w połączeniu z warunkiem 'pamiec<8', co jest niewłaściwe, ponieważ pozwala na zwrócenie komputerów, które mają procesor Intel, ale pamięć RAM mniejszą niż 8 GB. To nie spełnia wymagań dotyczących minimalnej pamięci. Druga odpowiedź również błędnie używa operatora 'OR', co pozwala na zwrócenie komputerów z procesorem Intel, które mogą mieć pamięć większą lub równą 8 GB, ale także te, które nie mają procesora Intel, ale ich pamięć RAM jest mniejsza niż 8 GB. To narusza zasadę, że obydwa warunki muszą być jednocześnie spełnione, co prowadzi do nieprawidłowych wyników. Ostatnia niepoprawna odpowiedź wykorzystuje operator 'AND', jednak warunek dotyczący pamięci jest błędny, ponieważ odnosi się do pamięci mniejszej niż 8 GB, co jest sprzeczne z wymaganiami. Każda z tych odpowiedzi wprowadza w błąd, ponieważ nie spełniają one kryteriów, które zostały jasno określone w pytaniu, co może prowadzić do nieefektywnego zarządzania danymi w bazie i błędnych analiz.

Pytanie 2

Które polecenie usunie z tabeli artykuly wiersze, gdzie pole tresc zawiera „sto” w dowolnym miejscu?

A.
DELETE FROM artykuly WHERE tresc LIKE "%sto%";
B.
DELETE * FROM artykuly WHERE tresc = "%sto%";
C.
DELETE * FROM artykuly WHERE tresc LIKE "%sto%";
D.
DELETE FROM artykuly WHERE tresc = "%sto%";
Operator = porównuje DOSŁOWNIE, więc tresc = "%sto%" szukałoby tekstu ze znakami procentu, a nie wzorca. Zapis DELETE * FROM ... jest błędny - po DELETE nie podaje się *. Usunięcie po wzorcu daje DELETE FROM artykuly WHERE tresc LIKE "%sto%";.

Pytanie 3

Ile razy zostanie wykonana pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w trakcie działania pętli?
for ($i = 0; $i <= 10; $i+=2) { .... }

A. 10
B. 6
C. 0
D. 5
Odpowiedź 6 jest poprawna, ponieważ pętla for w języku PHP jest skonstruowana w taki sposób, że iteruje od 0 do 10 w krokach co 2. Inicjalizacja zmiennej $i zaczyna się od 0, a warunek kontynuacji pętli to $i <= 10. Przeanalizujmy zatem wartości, które przyjmie zmienna $i w kolejnych iteracjach: 0, 2, 4, 6, 8, 10. Widzimy, że pętla zatrzyma się po osiągnięciu wartości 10, co daje nam 6 iteracji. W praktyce, takie konstrukcje są bardzo użyteczne w różnych scenariuszach, na przykład, gdy chcemy iterować przez elementy tablicy, które mają parzyste indeksy. Dobrym przykładem może być generowanie dynamicznego kodu HTML, w którym chcemy wyświetlić co drugi element listy, co jest istotne w kontekście optymalizacji wizualnej interfejsów użytkownika. Zrozumienie działania pętli for oraz zasad dotyczących kontrolowania iteracji jest kluczowe w programowaniu, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 4

Wskaż właściwy sposób zapisu instrukcji w języku JavaScript.

A. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " + 3.14 );
B. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " ; 3.14 );
C. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " 3.14 );
D. document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " . 3.14 );
W analizowanych odpowiedziach pojawiają się różne błędy związane z używaniem operatorów oraz składnią języka JavaScript. Przede wszystkim, w żadnej z niepoprawnych wersji nie zastosowano właściwego operatora konkatenacji. Operator '+', który jest kluczowy dla łączenia stringów i wartości liczbowych, został pominięty lub źle użyty. W pierwszej z analizowanych odpowiedzi brak jest operatora, co skutkuje błędnym zrozumieniem, że można po prostu umieścić tekst i liczbę obok siebie bez wyraźnego połączenia. Kolejna odpowiedź używa nieprawidłowego znaku '.' do próby konkatenacji, co jest zupełnie niezgodne z składnią JavaScript. Taki błąd wskazuje na nieporozumienie co do zasad działania języka, ponieważ operator '.' jest używany do dostępu do właściwości obiektów, a nie do łączenia wartości. W jeszcze jednej odpowiedzi zastosowano średnik w miejscu, gdzie oczekiwano operatora, co również prowadzi do błędu składniowego. Te błędy pokazują, że kluczowe jest zrozumienie struktury i składni języka, a także znajomość dostępnych operatorów. Użycie 'document.write' jest często źródłem problemów, ponieważ umieszczanie go w niewłaściwych miejscach kodu może prowadzić do nadpisania całej zawartości strony, co jest szczególnie problematyczne w przypadku dynamicznych aplikacji. Warto też pamiętać o konwencjach i dobrych praktykach związanych z programowaniem, które zalecają unikanie 'document.write' na rzecz bardziej nowoczesnych metod manipulacji DOM.

Pytanie 5

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. pusty wynik
C. Czesław
D. Czesław, Niemen
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 6

Które polecenie zwiększy o 1 pole RokStudiow w tabeli Studenci dla studentów z lat 1-4?

A.
UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5;
B.
UPDATE Studenci SET RokStudiow = RokStudiow + 1 WHERE RokStudiow < 5;
C.
UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5;
D.
UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5;
Pozostałe zapisy są błędne składniowo. Po UPDATE stoi tabela, a po SET przypisanie kolumna = ... - warianty UPDATE Studenci, RokStudiow+1 i SET RokStudiow (bez wartości) tego nie spełniają. RokStudiow++ to składnia z języków programowania, nie SQL. Poprawne jest SET RokStudiow = RokStudiow + 1.

Pytanie 7

Aby zaktualizować maksymalną długość kolumny imie w tabeli klienci do 30 znaków, należy zastosować w języku SQL poniższy kod

A. CHANGE TABLE klienci MODIFY imie CHAR(30);
B. CHANGE TABLE klienci TO COLUMN imie SET CHAR(30);
C. ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);
D. ALTER TABLE klienci CHANGE imie TEXT;
Odpowiedź ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30) jest poprawna, ponieważ w SQL polecenie ALTER TABLE służy do modyfikacji struktury istniejącej tabeli. W tym przypadku zmieniamy długość pola 'imie' w tabeli 'klienci'. Typ danych VARCHAR (zmienna długość) jest odpowiedni dla pól, które mogą przechowywać tekst o różnej długości, a określenie 30 oznacza, że maksymalna długość tego pola będzie wynosić 30 znaków. Używanie VARCHAR zamiast CHAR jest dobrą praktyką w przypadku, gdy długość danych jest zmienna, co pozwala na oszczędność miejsca w bazie danych. Przykładowo, jeśli tabela przechowuje imiona, które w większości będą krótsze niż 30 znaków, zastosowanie VARCHAR skutkuje mniejszym zużyciem miejsca w porównaniu do CHAR, który zawsze rezerwuje tę samą ilość miejsca. Warto również pamiętać, że przy modyfikowaniu tabeli w SQL należy zachować ostrożność, aby uniknąć utraty danych, szczególnie jeśli zmieniamy typ danych lub długość pola już zawierającego dane.

Pytanie 8

Które wartości może przyjąć zmienna typu double?

A. 1,44; 2,55
B. 1979-12-05; 12:33
C. 2.4; 4; 3.2
D. "Ala"; 'd'
double mieści tylko liczby. Zapis 1,44; 2,55 używa PRZECINKA, którego w kodzie nie stosuje się jako separatora dziesiętnego. 1979-12-05; 12:33 to data i godzina (tekst), a "Ala"; 'd' to napis i znak. Liczbom rzeczywistym odpowiada 2.4; 4; 3.2.

Pytanie 9

Aby w jezyku CSS ustawic czerwony kolor dla tekstu, mozna uzyc stylu:

A.
color: rgb(#FF0000);
B.
text-color: rgb(255,0,0);
C.
text-color: rgb(#FF0000);
D.
color: rgb(255,0,0);
Latwo tu wpasc w dwie rozne pulapki. Pierwsza dotyczy nazwy wlasciwosci: text-color brzmi sensownie, ale taka wlasciwosc w CSS nie istnieje, wiec przegladarka po prostu zignoruje cala deklaracje i kolor tekstu sie nie zmieni. Barwe znakow ustawia wlasciwosc color. Druga pulapka to mieszanie zapisow koloru: rgb(#FF0000) laczy funkcje rgb() z zapisem szesnastkowym. Znak # rozpoczyna kolor w formacie hex (np. #FF0000), ktory podaje sie samodzielnie, bez rgb(). Funkcja rgb() oczekuje natomiast trzech liczb dziesietnych 0-255 oddzielonych przecinkami. Poprawnie laczy obie rzeczy tylko color: rgb(255,0,0); - wlasciwa wlasciwosc i prawidlowo zapisana funkcja rgb, gdzie 255 to pelna czerwien, a oba zera to brak zieleni i blekitu.

Pytanie 10

Obiekt typu array w języku JavaScript służy do przechowywania:

A. wielu wartości wyłącznie tekstowych
B. wielu wartości, ale tylko funkcji
C. wielu wartości dowolnego typu
D. wielu wartości wyłącznie liczbowych
Pozostałe odpowiedzi zbytnio zawężają możliwości tablicy. Tablica nie przechowuje wyłącznie funkcji - funkcje mogą być jej elementami, ale to tylko jeden z dopuszczalnych typów. Nie ogranicza się też do samych liczb ani samego tekstu: w JavaScript jedna tablica może mieszać elementy różnych typów. Dzięki dynamicznemu typowaniu array przechowuje wiele wartości dowolnego typu, dlatego ta odpowiedź jest poprawna.

Pytanie 11

Ile maksymalnie znaczników <td> może być zastosowanych w tabeli, która ma trzy kolumny oraz trzy wiersze, nie zawierając przy tym złączeń komórek i wiersza nagłówkowego?

A. 12
B. 3
C. 9
D. 6
Odpowiedź 9 jest prawidłowa, ponieważ w tabeli o trzech kolumnach i trzech wierszach, gdzie nie ma złączeń komórek ani wiersza nagłówkowego, maksymalna liczba znaczników <td> wynosi 9. Każda kolumna w każdym wierszu może być wypełniona osobnym znacznikiem <td>. Tabela składająca się z 3 wierszy i 3 kolumn daje w sumie 3 x 3 = 9 komórek, które są reprezentowane przez znaczniki <td>. Przykładową strukturę HTML takiej tabeli można przedstawić następująco: <table><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>7</td><td>8</td><td>9</td></tr></table>. Warto również zauważyć, że zgodnie z zaleceniami W3C, użycie odpowiednich znaczników w tabelach jest kluczowe dla zapewnienia właściwej dostępności i semantyki dokumentu HTML, co jest zgodne z dobrymi praktykami tworzenia stron internetowych.

Pytanie 12

Które ze znaczników HTML umożliwią wyświetlenie na stronie tekstu w jednym wierszu, jeżeli żadne formatowanie CSS nie zostało zdefiniowane?

Dobre strony mojej strony

A. <span>Dobre strony </span><span style=”letter-spacing:3px”>mojej strony</span>
B. <div>Dobre strony </div><div style=”letter-spacing:3px”>mojej strony</div>
C. <p>Dobre strony </p><p style=”letter-spacing:3px”>mojej strony</p>
D. <h3>Dobre strony </h3><h3 style=”letter-spacing:3px”>mojej strony</h3>
Gratulacje, Twoja odpowiedź jest prawidłowa. Wybrałeś znacznik <span>, który jest znacznikiem liniowym w HTML. Znaczniki liniowe nie zaczynają nowego wiersza po swoim zakończeniu, co oznacza, że tekst zawarty w kolejnych znacznikach <span> będzie wyświetlany w jednym wierszu, o ile nie zdefiniowano inaczej za pomocą CSS. Jest to bardzo ważne, kiedy chcemy utworzyć strukturę strony, która nie zależy od domyślnych formatowań. Przykładowo, używając <span>, możemy skonstruować skomplikowane layouty, które są niemożliwe do osiągnięcia za pomocą samych znaczników blokowych. Pamiętaj jednak, że odpowiednie stosowanie znaczników liniowych i blokowych jest ważnym elementem tworzenia semantycznie poprawnych stron internetowych, co może pomóc w poprawie SEO i dostępności Twojej strony.

Pytanie 13

Aby podczas tworzenia tabeli zdefiniować klucz obcy na wielu kolumnach, należy użyć zapisu:

A.
CONSTRAINT (nazwisko, imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
B.
CONSTRAINT fk_osoba_uczen FOREIGN KEY(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
C.
CONSTRAINT (nazwisko, imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D.
CONSTRAINT fk_osoba_uczen FOREIGN KEY ON(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
Pozostałe zapisy łamią składnię definicji klucza obcego. W dwóch brakuje listy kolumn zaraz po FOREIGN KEY albo przestawiono słowa kluczowe (FOREIGN REFERENCES KEY zamiast FOREIGN KEY ... REFERENCES) - serwer odrzuci je jako błąd. W jeszcze innym po FOREIGN KEY dopisano zbędne ON, którego w tej konstrukcji nie ma. Prawidłowy wielokolumnowy klucz obcy to CONSTRAINT nazwa FOREIGN KEY(kolumny) REFERENCES tabela(kolumny), dlatego to ten zapis jest poprawny.

Pytanie 14

W tej definicji obiektu JavaScript która składowa jest METODĄ?

var obj1 = {
  czescUlamkowa: 10,
  czescCalkowita: 20,
  oblicz: function() {...}
}
A.
czescCalkowita
B.
oblicz
C.
czescUlamkowa
D.
obj1
W obiekcie JavaScript składowa będąca FUNKCJĄ to metoda. Tutaj oblicz: function() {...} przypisuje funkcję, więc oblicz jest metodą. Dlatego metodą jest oblicz.

Pytanie 15

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr { background-color: Pink; }
D. tr:hover { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 16

Grafika, która ma być umieszczona na stronie, powinna mieć przezroczyste tło. Jakim formatem graficznym powinien być zapisany taki plik?

A. JPEG
B. CDR
C. BMP
D. PNG
Wybór formatu graficznego może istotnie wpływać na jakość oraz funkcjonalność obrazów w różnych zastosowaniach. CDR, czyli format plików CorelDRAW, jest używany głównie w projektowaniu wektorowym i nie jest powszechnie stosowany w kontekście wyświetlania obrazów w internecie. Pliki CDR mogą zawierać różnorodne elementy graficzne, ale nie są optymalizowane pod kątem przezroczystości tła w kontekście sieci. Z kolei BMP to format bitmapowy, który charakteryzuje się dużymi rozmiarami plików oraz brakiem kompresji, co sprawia, że nie jest efektywny w zastosowaniach internetowych, gdzie szybkość ładowania i optymalizacja są kluczowe. Format JPEG, mimo że jest powszechnie stosowany do fotografii ze względu na efektywną kompresję, nie obsługuje przezroczystości i wprowadza niepożądane artefakty, co czyni go niewłaściwym wyborem dla obrazów z transparentnym tłem. Wybierając format graficzny, warto kierować się nie tylko estetyką, ale również technicznymi wymaganiami, jakie stawia konkretne zastosowanie. Zrozumienie różnic między formatami i ich zastosowaniem jest kluczowe, aby uniknąć problemów związanych z jakością i funkcjonalnością wyświetlanych obrazów.

Pytanie 17

Definicja formularza została użyta na stronie internetowej, która przesyła dane do pliku napisanego w języku PHP. W jakiej tablicy będą dostępne dane z tego formularza?

Ilustracja do pytania
A. $_POST
B. $_ACTION
C. $_COOKIE
D. $_GET
Tablica $_POST w PHP służy do przechwytywania danych przesyłanych za pomocą metody POST. Jest to standardowa praktyka w przypadku formularzy, które zawierają dane wrażliwe lub dużą ilość informacji. Metoda POST przesyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne w adresie URL, co zwiększa bezpieczeństwo w porównaniu do metody GET. Przykładem zastosowania mogą być formularze logowania czy przesyłania plików. W PHP dostęp do danych z formularza można uzyskać poprzez prostą składnię, na przykład $_POST['nazwa_pola']. Ważne jest, aby zawsze walidować i filtrować dane wejściowe, aby zabezpieczyć aplikację przed atakami typu SQL Injection czy XSS. Zastosowanie metody POST jest zgodne z ogólnymi zasadami bezpieczeństwa i standardami projektowania aplikacji webowych, które zalecają ograniczanie widoczności danych przesyłanych przez użytkownika. Dobre praktyki obejmują również stosowanie HTTPS, aby dodatkowo zaszyfrować dane przesyłane pomiędzy klientem a serwerem.

Pytanie 18

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. każdego linku
B. tekstu akapitu
C. odnośników, które otwierają się w tej samej karcie
D. odnośników, które otwierają się w nowej karcie
Rozważając inne odpowiedzi, należy zrozumieć, dlaczego są one niepoprawne w kontekście podanego selektora CSS. Gdy mówimy o odnośnikach otwierających się w tej samej karcie, nie stosuje się atrybutu target="_blank", więc taki selektor jak a[target="_blank"] nie będzie się do nich odnosił. Oznacza to, że koloryzacja na żółto nie dotyczy odnośników otwierających się w tej samej karcie, co jest często typowym zachowaniem, chyba że określono inaczej. W przypadku tekstu paragrafu, selektor użyty w kodzie CSS nie będzie miał żadnego wpływu, ponieważ jest on specyficznie dopasowany do elementów a (odnośników), a nie do tekstu zawieranego w tagach p (paragrafów). CSS operuje na elementach HTML zgodnie z selektorami, dlatego nie można zmieniać stylu niepasujących elementów. Ostatnia możliwość, czyli stylizacja każdego odnośnika bez wyjątku, wymagałaby użycia bardziej ogólnego selektora a, a nie tak szczególnego jak a[target="_blank"]. Błędnym przekonaniem może być założenie, że selektor obejmuje wszystkie odnośniki, jednak atrybut target precyzyjnie wskazuje, które elementy mają być stylizowane. Zrozumienie tych różnic jest kluczowe dla efektywnego stosowania CSS w projektach webowych oraz poprawnego rozumienia specyfiki selektorów, co jest fundamentem efektywnego kodowania wizualnego wyglądu stron.

Pytanie 19

Które polecenie wydane w konsoli systemowej przywróci bazę danych z kopii kopia.sql?

A.
mysql -u root -p baza < kopia.sql
B.
mysql -u root -p baza > kopia.sql
C.
mysqldump -u root -p baza > kopia.sql
D.
mysqldump -u root -p baza < kopia.sql
Pozostałe polecenia nie przywrócą bazy. Oba warianty z mysqldump są błędne, bo mysqldump służy do TWORZENIA zrzutu (kopii), a nie jego wczytywania - zwłaszcza mysqldump > kopia.sql właśnie zapisuje kopię. Wariant mysql > kopia.sql używa operatora >, który skierowałby wyjście do pliku (nadpisując go), zamiast wczytać dane do bazy. Import wykonuje mysql < kopia.sql, dlatego ta odpowiedź jest poprawna.

Pytanie 20

Które z podanych formatów NIE JEST zapisane w języku CSS?

Ilustracja do pytania
A. D
B. A
C. C
D. B
Odpowiedź C jest prawidłowa, ponieważ atrybut bgcolor jest przestarzałą metodą określania koloru tła w HTML i nie jest częścią CSS. CSS (Cascading Style Sheets) zostało stworzone, aby oddzielić prezentację dokumentu od jego struktury. Korzystanie z CSS pozwala na lepsze zarządzanie stylem i spójność w wyglądzie wielu stron internetowych. Atrybuty HTML związane z wyglądem, takie jak bgcolor, zostały zastąpione przez deklaracje w CSS. Na przykład w CSS można ustawić kolor tła całej strony za pomocą selektora body i właściwości background-color. Takie podejście jest bardziej elastyczne i zgodne z nowoczesnymi standardami. Dzięki CSS możliwe jest stosowanie zaawansowanych stylizacji, takich jak gradienty czy obrazy tła, które nie były dostępne w prostych atrybutach HTML. Przy projektowaniu stron internetowych zaleca się, aby unikać przestarzałych atrybutów HTML, które mogą być niekompatybilne z nowoczesnymi przeglądarkami i powodować problemy z dostępnością.

Pytanie 21

Którego słowa kluczowego SQL należy użyć, aby w wyniku zapytania wyeliminować powtarzające się wartości?

A.
GROUP BY
B.
DISTINCT
C.
LIKE
D.
ORDER BY
Aby w wyniku zapytania usunąć powtarzające się wartości, używa się słowa DISTINCT (np. SELECT DISTINCT miasto FROM ...). Zwraca ono tylko unikalne wartości wskazanych kolumn. Dlatego duplikaty eliminuje DISTINCT.

Pytanie 22

Polecenie MySQL:

ALTER TABLE ksiazki
    MODIFY tytul VARCHAR(100) NOT NULL;
Przedstawione polecenie MySQL ma za zadanie
A. zmienić nazwę kolumny w tabeli ksiazki
B. usunąć kolumnę tytul z tabeli ksiazki
C. zmienić typ kolumny tytul w tabeli ksiazki
D. dodać do tabeli ksiazki kolumnę tytul
Polecenie ALTER TABLE w przedstawionym zapytaniu jest używane do modyfikacji struktury istniejącej tabeli w bazie danych MySQL. W szczególności, zapytanie zmienia typ kolumny 'tytul' w tabeli 'ksiazki' na VARCHAR(100) oraz ustawia ten typ jako NOT NULL, co oznacza, że ta kolumna nie może zawierać wartości NULL. Typ VARCHAR jest typem danych zmiennych o długości, co pozwala na przechowywanie ciągów znaków o zmiennej długości do 100 znaków. Zmiana typu kolumny może być przydatna w sytuacjach, gdy chcemy zmienić sposób przechowywania danych lub dostosować je do nowych wymagań aplikacji. Przykładem może być sytuacja, w której początkowo tytul był przechowywany jako tekst o stałej długości (np. CHAR), ale później zdecydowano, że lepszym rozwiązaniem będzie przechowywanie go jako VARCHAR dla oszczędności miejsca. W kontekście standardów SQL, modyfikacja kolumny zgodnie z definicją standardu SQL jest dopuszczalna, pod warunkiem, że nie narusza ona reguł dotyczących integralności danych i typów. Warto również pamiętać, że zmiana typu kolumny w bazie danych może wymagać migracji danych, co należy uwzględnić w planowaniu zmian.

Pytanie 23

Język HTML oferuje nagłówki, które służą do tworzenia hierarchii zawartości. Te nagłówki występują wyłącznie w zakresie

A. h1 - h6
B. h1 - h8
C. h1 - h10
D. h1 - h4
Wybór h1 - h4, h1 - h8 lub h1 - h10 jest nieprawidłowy z kilku powodów. Pierwsza z tych odpowiedzi sugeruje, że istnieją tylko cztery poziomy nagłówków w HTML, co jest niezgodne z rzeczywistością, ponieważ HTML pozwala na użycie sześciu poziomów nagłówków, co znacząco ogranicza możliwości organizacji treści. Z kolei odpowiedzi h1 - h8 i h1 - h10 wprowadzają błędne informacje, sugerując istnienie nagłówków wykraczających poza standard HTML. Nie ma w specyfikacji HTML nagłówków o takich oznaczeniach, co może prowadzić do niepoprawnej implementacji i zrozumienia struktury dokumentu. Zastosowanie nieistniejących nagłówków może prowadzić do problemów z dostępnością, a także negatywnie wpłynąć na SEO, ponieważ wyszukiwarki nie rozpoznają takich elementów. Kolejnym błędem myślowym jest pomijanie roli, jaką nagłówki odgrywają w hierarchizacji treści; dobrze zdefiniowana struktura pomoże nie tylko robotom wyszukiwarek, ale przede wszystkim osobom korzystającym z danej strony. Zrozumienie, że HTML opiera się na konwencjach i standardach, jest kluczowe dla efektywnego projektowania i tworzenia treści w sieci. Dlatego ważne jest korzystanie z uznawanych standardów, a nagłówki h1 do h6 są niezbędnym narzędziem w każdym projekcie webowym.

Pytanie 24

Wskaż element, który definiuje pole edycyjne formularza zgodne z ilustracją

Ilustracja do pytania
A. <input type="number" id="mm" name="hh" min="0" max="24">
B. <input type="time" id="minutes" name="hours">
C. <input type="date" id=" minutes" name="hours">
D. <input type="month" id="hh" name="mm">
Prawidłowy wybór to <input type="time" id="minutes" name="hours">, ponieważ dokładnie taki element HTML5 służy do wprowadzania godziny w formacie hh:mm, czyli tak jak na ilustracji. Atrybut type="time" mówi przeglądarce, że pole ma przyjmować tylko wartości czasu, bez daty, miesięcy czy liczb dowolnego typu. Zgodnie ze specyfikacją HTML Living Standard oraz HTML5, przeglądarka powinna wtedy wyświetlić natywne kontrolki do wyboru godziny (np. rozwijane listy, suwak, mały zegarek – zależy od systemu i przeglądarki). Dzięki temu użytkownik ma mniejsze ryzyko pomyłki, a walidacja odbywa się częściowo automatycznie.
Z mojego doświadczenia warto korzystać z type="time" zawsze, gdy formularz dotyczy konkretnych godzin, np. godzina rozpoczęcia pracy, rezerwacja wizyty, planowanie spotkania online. Po stronie serwera (np. w PHP) to pole przychodzi jako tekst w formacie „HH:MM”, co jest łatwe do dalszego przetwarzania, parsowania do obiektu DateTime albo zapisu w bazie danych w typie TIME.
Dobra praktyka jest też taka, żeby nazwy atrybutów id i name były semantyczne. W tym zadaniu nie ma to wpływu na poprawność odpowiedzi, ale w realnym projekcie lepiej byłoby użyć np. id="endTime" i name="end_time". Ułatwia to później pracę z JavaScriptem i po stronie backendu. Warto też pamiętać o dodaniu atrybutów min i max, jeśli chcemy ograniczyć zakres godzin (np. od 08:00 do 20:00), oraz pattern lub dodatkowej walidacji JS, jeśli mamy specyficzne wymagania. Mimo że ilustracja nie pokazuje tych szczegółów, sam mechanizm type="time" jest tu absolutnie kluczowy i zgodny z dobrymi praktykami front-endowymi.

Pytanie 25

Funkcja zapisana w języku PHP wygląda tak patrz ramka): Jej celem jest

Ilustracja do pytania
A. zwrócenie wartości 1, gdy liczba jest parzysta
B. wypisanie liczby parzystej
C. zwrócenie wartości 0, gdy liczba jest parzysta
D. wypisanie liczby nieparzystej
Funkcja w języku PHP jest zapisana w taki sposób że przyjmuje jeden argument liczba i sprawdza czy jest on parzysty. Używa operatora modulo % który zwraca resztę z dzielenia. Jeśli liczba podzielona przez 2 daje resztę równą 0 oznacza to że jest parzysta. W takim przypadku funkcja zwraca wartość 1. W przeciwnym razie czyli gdy liczba jest nieparzysta funkcja zwraca 0. Takie podejście jest częstym wzorcem w programowaniu gdyż pozwala na szybkie i efektywne sprawdzenie parzystości liczby. Stosowanie operatora modulo jest standardem w wielu językach programowania dzięki czemu kod jest zrozumiały i łatwo go przenieść między różnymi platformami. W praktyce takie funkcje mogą być używane w algorytmach gdzie konieczne jest filtrowanie danych na podstawie parzystości lub innych podobnych kryteriów. Dobre praktyki w kodowaniu w PHP obejmują również jasne nazywanie funkcji i zmiennych co poprawia czytelność i utrzymanie kodu. Można także zastanowić się nad rozszerzeniem funkcji o dodatkowe sprawdzania lub logikę w zależności od potrzeb projektu.

Pytanie 26

Edytor, który spełnia kryteria WYSIWYG, powinien umożliwiać

A. publikację strony na serwerze za pomocą wbudowanego klienta FTP
B. przygotowanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
C. osiągnięcie zbliżonego rezultatu tworzonej strony do jej wyglądu w przeglądarce internetowej
D. tworzenie podstawowych grafik wektorowych
Odpowiedzi dotyczące obróbki plików dźwiękowych, publikacji na serwerze FTP oraz tworzenia podstawowej grafiki wektorowej nie są zgodne z podstawowymi funkcjonalnościami edytorów WYSIWYG. Edytory te koncentrują się na treści wizualnej i układzie strony, a nie na specyficznych zadaniach związanych z multimediami czy publikacją. Obróbka plików dźwiękowych wymaga zaawansowanych narzędzi audio, które są poza zakresem WYSIWYG. Takie programy są projektowane do edycji treści tekstowych i graficznych w kontekście układu, a nie jako kompleksowe środowiska do pracy z dźwiękiem. Publikacja stron internetowych na serwerze FTP jest aspektem bardziej związanym z hostingiem i zarządzaniem plikami, a nie z samym tworzeniem treści. Ponadto, tworzenie grafiki wektorowej wymaga wyspecjalizowanych narzędzi graficznych, takich jak Adobe Illustrator, które są dedykowane do grafiki wektorowej, a nie funkcji edytorów WYSIWYG. Błędne wnioski wynikają często z mylnego postrzegania roli edytora WYSIWYG, który nie powinien być traktowany jako uniwersalne narzędzie do wszelkich aspektów tworzenia stron internetowych. Właściwe zrozumienie jego funkcji pozwala na efektywne wykorzystanie edytorów do projektowania stron, a nie do zadań, do których nie zostały zaprojektowane.

Pytanie 27

Tworzenie struktury logicznej strony internetowej polega na

A. określeniu adresów URL dla podstron serwisu
B. stworzonym zestawie grafik dla strony
C. umiejscowieniu elementów w wyznaczonych lokalizacjach witryny
D. określeniu zawartości witryny
Wiesz, wiele osób myli projektowanie witryny z robieniem grafik czy pisaniem treści. Całkiem to zrozumiałe, bo jest sporo różnych rzeczy związanych z tworzeniem stron. Jasne, grafiki są istotne, ale to nie wszystko, na czym się skupiamy, bo sama estetyka nie wystarczy, żeby strona była funkcjonalna. No i ustalanie adresów URL dla podstron też jest ważne, ale bardziej dotyczy struktury strony niż samego układu. Definiowanie treści to jedno, ale najważniejsze jest to, jak je prezentujemy. Często ludzie myślą, że układ i treść to to samo, a w rzeczywistości układ to to, jak treści są ułożone i jakie działania ułatwiają. Żeby dobrze zaprojektować stronę, trzeba spojrzeć na całość i zrozumieć, jakie funkcje ma spełniać, nie tylko skupiać się na pojedynczych grafikach czy tekstach. W moim odczuciu kluczowe jest, żeby myśleć o interakcji użytkownika z witryną - to wymaga umiejętności projektowania i analizy, by stworzyć efektywny interfejs.

Pytanie 28

Podczas zapisywania hasła użytkownika w serwisie internetowym (np. w bankowości online), w celu zabezpieczenia go przed ujawnieniem, zazwyczaj stosuje się funkcję

A. abstrakcyjnych
B. mieszających
C. klucza
D. cyklometrycznych
Zrozumienie błędnych odpowiedzi wymaga analizy koncepcji zabezpieczeń haseł w kontekście cyberbezpieczeństwa. Mieszające funkcje, mimo że są ważne w kontekście algorytmów kryptograficznych, nie są odpowiednie do bezpiecznego przechowywania haseł. Ich głównym celem jest zapewnienie, że wyjście funkcji jest trudne do przewidzenia na podstawie wartości wejściowych, ale nie spełniają one wymagań dotyczących przechowywania haseł. Cyklometryczne podejścia nie są związane z mechanizmami zabezpieczeń haseł i dotyczą bardziej analizy algorytmów. Abstrakcyjne koncepcje również nie wnoszą istotnych wartości w kontekście zabezpieczeń, ponieważ nie odnoszą się do rzeczywistych praktyk zabezpieczających dane. Prowadzi to do powszechnego błędu myślowego, polegającego na zakładaniu, że różne techniki kryptograficzne mogą być stosowane zamiennie bez zrozumienia ich specyfiki i zastosowania. W kontekście przechowywania haseł kluczowe jest zrozumienie, że ich skuteczne zabezpieczenie wymaga zastosowania odpowiednich algorytmów oraz dobrych praktyk w zakresie zarządzania danymi użytkowników. Dlatego nie można lekceważyć znaczenia klucza w procesie zapewniania bezpieczeństwa informacji.

Pytanie 29

Do czego służy polecenie mysqldump?

A. do sprawdzenia integralności bazy
B. do optymalizacji bazy
C. do naprawy niespójnej bazy
D. do utworzenia kopii zapasowej bazy
Polecenie mysqldump służy do utworzenia kopii zapasowej bazy - eksportuje strukturę i dane do pliku, umożliwiając późniejsze odtworzenie. Dlatego mysqldump tworzy kopię zapasową.

Pytanie 30

Do czego służy w JavaScript funkcja Math.pow()?

A. do obliczania potęgi liczby
B. do obliczania wartości bezwzględnej liczby
C. do obliczania pierwiastka kwadratowego
D. do obliczania wartości przybliżonej liczby
Funkcja Math.pow(podstawa, wykładnik) oblicza POTĘGĘ liczby, np. Math.pow(2, 3) daje 8. Dlatego Math.pow() służy do potęgowania.

Pytanie 31

Polecenie colspan służy do łączenia komórek tabeli w poziomie, natomiast rowspan w pionie. Którą z tabel wyświetli poniższy fragment kodu napisany w języku HTML?

<table border="1" cellspacing="0" cellpadding="10">
    <tr>
        <td rowspan="2">&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
    </tr>
</table>
Ilustracja do pytania
A. C.
B. B.
C. D.
D. A.
Wybrana odpowiedź jest niepoprawna. W pytaniu chodziło o wykorzystanie atrybutów rowspan i colspan w tworzeniu tabel HTML. Atrybuty te służą do łączenia komórek tabeli w pionie i poziomie. W podanym fragmencie kodu HTML widzimy, że pierwsza komórka w pierwszym wierszu ma atrybut rowspan='2', co oznacza, że będzie się rozciągać na dwa wiersze w pionie. Druga komórka w pierwszym wierszu nie ma żadnych specjalnych atrybutów, zatem jest standardową komórką. W drugim wierszu jest tylko jedna komórka, gdyż druga komórka jest połączona z pierwszą komórką pierwszego wiersza przez atrybut rowspan. Opis odpowiada tabeli B, która ma jedną długą komórkę po lewej stronie rozciągającą się na dwa wiersze oraz dwie krótsze komórki po prawej stronie, po jednej w każdym wierszu. Pamiętaj, iż nieprawidłowe użycie atrybutów rowspan i colspan może prowadzić do niezamierzonych rezultatów, takich jak krzywe linie tabeli czy brakujące komórki.

Pytanie 32

Aby zweryfikować konfigurację w pliku php.ini, można uruchomić skrypt PHP, który zawiera zapis

A. <?php phpcredits(); ?>
B. <?php phpinfo(); ?>
C. <?php ini_set(); ?>
D. <?php echo phpversion(); ?>
Odpowiedź <?php phpinfo(); ?> jest poprawna, ponieważ funkcja phpinfo() generuje szczegółowy raport na temat konfiguracji PHP, w tym informacje o zainstalowanych rozszerzeniach, wersji PHP, oraz ustawieniach w pliku php.ini. W praktyce, ta funkcja jest niezwykle przydatna przy diagnozowaniu problemów związanych z konfiguracją serwera, ponieważ dostarcza pełen wgląd w aktualne ustawienia środowiska, co pozwala na szybkie zidentyfikowanie ewentualnych niezgodności. Przykładem zastosowania może być sytuacja, w której programista chce sprawdzić, czy określone rozszerzenie PHP jest aktywne lub jakie są wartości domyślne dla różnych dyrektyw, takich jak memory_limit czy upload_max_filesize. Dobrą praktyką w sytuacjach produkcyjnych jest ograniczenie dostępu do skryptów wywołujących phpinfo(), aby nie ujawniać wrażliwych informacji o serwerze osobom nieupoważnionym. Myśląc o bezpieczeństwie aplikacji, warto usunąć takie skrypty po zakończeniu diagnostyki.

Pytanie 33

Jednym z kluczowych identyfikatorów wpisu w bazie danych jest pole

A. numeryczne
B. klucza obcego
C. relacji
D. klucza podstawowego
Klucz podstawowy jest fundamentalnym elementem każdej relacyjnej bazy danych, ponieważ jednoznacznie identyfikuje każdy rekord w tabeli. Jego główną cechą jest unikalność, co oznacza, że żaden z rekordów w tabeli nie może mieć tego samego klucza podstawowego. Klucz podstawowy może składać się z jednego lub więcej atrybutów (kolumn), ale zawsze musi zapewniać jednoznaczność identyfikacji. Przykładem może być tabela 'Użytkownicy', gdzie 'ID_Użytkownika' działa jako klucz podstawowy, pozwalając na łatwe i szybkie wyszukiwanie konkretnych użytkowników. Zgodnie z najlepszymi praktykami projektowania baz danych, klucze podstawowe powinny być stabilne i niezmienne w czasie, aby uniknąć komplikacji związanych z aktualizacją wartości. Klucz podstawowy jest również kluczowy dla relacji między tabelami, ponieważ inne tabele mogą odwoływać się do niego poprzez klucze obce. Dzięki temu, struktura bazy danych staje się bardziej zorganizowana i lepiej znormalizowana, co z kolei prowadzi do zwiększonej wydajności i integralności danych.

Pytanie 34

Tabela Pacjenci zawiera kolumny: imie, nazwisko, wiek, lekarz_id. Aby stworzyć raport, który będzie zawierał jedynie imiona oraz nazwiska pacjentów mających mniej niż 18 lat i zapisanych do lekarza o id równym 6, można wykorzystać kwerendę SQL

A. SELECT imie, nazwisko FROM Pacjenci WHERE wiek<18 OR lekarz_id=6
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek<18 AND lekarz_id=6
C. SELECT imie, nazwisko WHERE wiek<18 AND lekarz_id=6
D. SELECT imie, nazwisko WHERE wiek<18 OR lekarz_id=6
Aby uzyskać raport z tabeli Pacjenci, w którym znajdują się wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia zapisanych do lekarza o id równym 6, należy użyć następującej kwerendy SQL: SELECT imie, nazwisko FROM Pacjenci WHERE wiek<18 AND lekarz_id=6. Kluczowe w tej kwerendzie jest zastosowanie operatora AND, który pozwala na jednoczesne spełnienie obu warunków. W SQL, operator AND łączy dwa warunki, które muszą być prawdziwe, aby dany wiersz został uwzględniony w wynikach. Operator OR byłby nieodpowiedni, ponieważ mógłby zwrócić pacjentów, którzy są młodsi niż 18 lat, ale zapisani do innych lekarzy, co nie spełnia wymagań zadania. Ta kwerenda jest zgodna z ANSI SQL, który jest standardem dla zapytań do baz danych, a także dobrze ilustruje zasady filtracji danych w kontekście relacyjnych baz danych. Przykład takiej tabeli mógłby wyglądać następująco: imie: 'Jan', nazwisko: 'Kowalski', wiek: 17, lekarz_id: 6. W tym przypadku, zapytanie zwróciłoby imię i nazwisko Jana Kowalskiego, ponieważ spełnia on oba warunki.

Pytanie 35

Które polecenie SQL przekazać do mysqli_query(), aby DODAĆ do bazy dane z formularza?

A.
INSERT INTO
B.
UPDATE
C.
ALTER
D.
SELECT
Aby DODAĆ nowy wiersz z danymi formularza, przekazuje się do mysqli_query() polecenie INSERT INTO, np. INSERT INTO ... VALUES .... Dlatego do dodania danych służy INSERT INTO.

Pytanie 36

Którą kwerendę należy wykonać, aby zaktualizować wszystkim rekordom z tabeli pracownicy wartość w kolumnie plec na K, przyjmując na potrzeby zadania, że każde imię żeńskie kończy się literą a?

A. UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';
B. ALTER TABLE pracownicy SET plec='K' WHERE imie='%a';
C. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
D. UPDATE pracownicy SET plec='K' WHERE imie='%a';
W tym zadaniu łatwo się potknąć na dwóch rzeczach: pomyleniu operacji na strukturze tabeli z operacjami na danych oraz na nieprawidłowym użyciu wzorca tekstowego. W SQL istnieje dość wyraźny podział na instrukcje służące do definiowania struktury bazy (DDL) oraz te, które manipulują rekordami (DML). ALTER TABLE należy do tej pierwszej grupy. Używa się go do dodawania kolumn, zmiany typu danych, ustawiania kluczy obcych, czasem indeksów. Nie ma on mechanizmu typu SET kolumna='wartość' z warunkiem WHERE, który modyfikuje poszczególne wiersze. Próba napisania ALTER TABLE ... SET plec='K' WHERE imie LIKE '%a' po prostu nie jest zgodna ze składnią SQL i nie zadziała w żadnym normalnym systemie bazodanowym.
Drugi typ błędu dotyczy użycia WHERE imie='%a'. W wielu językach programowania znak % kojarzy się z operacjami na łańcuchach albo z formatowaniem, ale w czystym SQL porównanie z operatorem = oznacza ścisłą równość, bez żadnych wildcardów. Wyrażenie imie = '%a' oznacza: imie ma być dokładnie dwuznakowym ciągiem składającym się z procenta i litery „a”. Żadne „dowolne znaki przed a” się tu nie pojawiają. Do dopasowywania wzorców tekstowych służy operator LIKE, a dopiero przy LIKE znaczek % ma specjalne znaczenie – „dowolny ciąg znaków”. To jest bardzo typowe nieporozumienie: ktoś pamięta, że w LIKE używa się % i _ jako wildcardów, i odruchowo wrzuca % także przy zwykłym =.
Z mojego doświadczenia wynika, że dobrym nawykiem jest rozdzielenie w głowie: UPDATE + SET + WHERE – do zmiany danych; ALTER TABLE – tylko do zmian struktury. A przy wyszukiwaniu tekstów: jeśli chcę sztywne porównanie, używam =, jeśli szukam po fragmencie, używam LIKE z % (wieloznak) lub _ (pojedynczy znak). W praktyce webowej błędne użycie tych konstrukcji może prowadzić do sytuacji, że kwerenda nic nie zwraca albo nie aktualizuje żadnego rekordu, a programista długo szuka błędu np. po stronie PHP czy JavaScript, zamiast zacząć od samego SQL-a. Warto też pamiętać, że aktualizacje bez poprawnego WHERE są niebezpieczne, bo mogą zmienić wszystkie rekordy w tabeli, więc warunek oparty na właściwie użytym LIKE jest kluczowy zarówno dla poprawności, jak i bezpieczeństwa danych.

Pytanie 37

Do przechowywania jakich wartości przeznaczony jest typ DECIMAL?

A. liczb rzeczywistych zmiennoprzecinkowych
B. liczb rzeczywistych stałoprzecinkowych
C. danych tekstowych o określonej długości
D. liczb zapisanych w systemie binarnym
DECIMAL to dokładny typ liczbowy o ustalonej precyzji, a nie zmiennoprzecinkowy (od tego są FLOAT/DOUBLE, które mogą zaokrąglać). Nie służy do tekstu (CHAR/VARCHAR) ani do zapisu binarnego. DECIMAL przechowuje liczby rzeczywiste stałoprzecinkowe.

Pytanie 38

Polecenie SQL:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:
A. do manipulowania danymi w tabeli klienci
B. do manipulowania danymi bazy danych klienci
C. do zarządzania strukturą tabeli klienci
D. do zarządzania strukturą bazy danych klienci
W kontekście analizy niepoprawnych odpowiedzi, odpowiedzi dotyczące zarządzania strukturą tabeli klienci oraz zarządzania strukturą bazy danych klienci są niepoprawne, ponieważ polecenie GRANT nie odnosi się do tych aspektów. Zarządzanie strukturą tabeli zazwyczaj obejmuje takie operacje jak tworzenie lub modyfikowanie tabel, co jest realizowane przez polecenia takie jak CREATE TABLE czy ALTER TABLE. W przypadku polecenia GRANT, nie ma mowy o wprowadzaniu zmian w strukturze tabeli, a jedynie o nadawaniu uprawnień do manipulacji danymi. Podobnie, zarządzanie strukturą bazy danych dotyczy bardziej operacji administracyjnych, takich jak tworzenie bazy danych, co również nie jest tożsame z uprawnieniami do operacji na danych. Ostatnia z niepoprawnych odpowiedzi, dotycząca manipulowania danymi bazy danych klienci, jest również myląca, ponieważ odnosi się do całej bazy danych jako całości, podczas gdy polecenie dotyczy wyłącznie konkretnej tabeli. W praktyce, zarządzanie danymi w kontekście bazy danych oznacza operacje na zbiorze danych, a nie na pojedynczych rekordach w tabelach. Dlatego kluczowe jest zrozumienie, że GRANT pozwala na nadawanie uprawnień do działania na konkretnej tabeli, a nie na całej bazie danych czy jej strukturze.

Pytanie 39

Fragment kodu w języku HTML zawarty w ramce ilustruje zestawienie

Ilustracja do pytania
A. odnośników.
B. numerowaną.
C. wypunktowaną.
D. skrótów.
Kod HTML zawierający znaczniki <ol> oraz <li> tworzy listę numerowaną ponieważ <ol> oznacza ordered list czyli listę uporządkowaną co skutkuje automatycznym numerowaniem każdego elementu w przeglądarkach internetowych. Znaczniki <li> reprezentują pojedyncze elementy listy zapewniając organizację danych w czytelnej formie. Taki sposób przedstawiania informacji jest powszechnie stosowany w tworzeniu dokumentów HTML i stron internetowych gdzie hierarchia i kolejność elementów ma kluczowe znaczenie. Za pomocą CSS można dodatkowo dostosować styl numerowania oraz wizualne aspekty listy co pozwala na większą elastyczność w projektowaniu interfejsu użytkownika. Standardy internetowe takie jak te rekomendowane przez W3C zachęcają do stosowania semantycznych znaczników co poprawia dostępność i SEO strony. Ponadto listy numerowane są użyteczne w sytuacjach gdy wymagana jest jasna kolejność wykonywania zadań lub prezentacja kroków w procesie co czyni je idealnym narzędziem zarówno w dokumentacji technicznej jak i w interaktywnych przewodnikach online.

Pytanie 40

W CSS właściwość font-size może przyjmować wartości według słów kluczowych

A. z zestawu xx-small, x-small, smali, medium, large, x-large, xx-large
B. wyłącznie smali, medium, large
C. tylko smali, smaller, large, larger
D. jedynie big i smali
Zrozumienie różnych wartości, które mogą być zastosowane w właściwości font-size, jest kluczowe dla efektywnego stylizowania tekstu w CSS. Pierwsza z nieprawidłowych odpowiedzi ogranicza się do zaledwie czterech terminów: smali, smaller, large oraz larger, co jest niewłaściwe, ponieważ właściwość font-size posiada znacznie szerszy zestaw wartości. Warto zauważyć, że 'smaller' oraz 'larger' są względnymi jednostkami, które odnoszą się do rozmiaru czcionki elementu nadrzędnego, a nie są one samodzielnymi wartościami słownikowymi. Dodatkowo, w odpowiedzi mowa jest o 'medium' i 'large', ale pomija się inne ważne terminy. Utrata kontekstu tych wartości prowadzi do ograniczonego zrozumienia typografii w web designie. Następna błędna odpowiedź zawiera jedynie trzy wartości: smali, medium i large, co nie pokrywa pełnego zestawu opcji dostępnych w CSS. Można zauważyć, że brak uwzględnienia pozostałych terminów, takich jak xx-small czy x-large, ogranicza możliwości projektanta w zakresie elastyczności i precyzji stylizacji tekstu. Tego rodzaju niedopatrzenie może prowadzić do niejednolitego wyglądu tekstów na różnych urządzeniach. Ostatnia fałszywa odpowiedź, która sugeruje, że font-size może przyjmować tylko wartości big i smali, jest całkowicie błędna. 'Big' nie jest uznawane za standardową wartość w CSS, co pokazuje brak zrozumienia podstawowych zasad dotyczących typografii. Przykłady te ilustrują, jak ważne jest zapoznanie się z pełnym zakresem opcji dostępnych w CSS oraz jak niewłaściwe interpretacje mogą prowadzić do nieefektywnego stylizowania elementów tekstowych.