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: 8 czerwca 2026 08:49
  • Data zakończenia: 8 czerwca 2026 09:49

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Warunek zapisany w JavaScript jest prawdziwy, gdy zmienna x przechowuje:

if ((!isNaN(x)) && (x > 0))
A. pusty napis.
B. napis.
C. dowolną całkowitą wartość liczbową.
D. dowolną dodatnią wartość liczbową.
Poprawnie wyłapałeś, że ten warunek jest prawdziwy tylko wtedy, gdy x przechowuje dodatnią wartość liczbową. Rozbijmy to na części. Funkcja isNaN(x) w JavaScript sprawdza, czy przekazany argument „nie jest liczbą” (NaN = Not a Number). Zapis z wykrzyknikiem: !isNaN(x) oznacza więc „x jest liczbą lub da się go zinterpretować jako liczbę”. Druga część warunku: (x > 0) wymusza, żeby ta wartość była większa od zera, czyli dodatnia. Operator && (AND logiczne) powoduje, że oba warunki muszą być spełnione jednocześnie. W efekcie if wykona się tylko wtedy, gdy x reprezentuje dodatnią liczbę (np. 1, 3.14, 100, 0.0001). Co ważne, w JavaScript !isNaN("5") też będzie prawdą, bo łańcuch "5" zostanie zrzutowany do liczby, więc w praktyce ten warunek przepuści zarówno typ number, jak i tekst, który da się przekonwertować na liczbę dodatnią. W realnych projektach taką konstrukcję stosuje się np. przy walidacji pól formularza: sprawdzamy, czy użytkownik podał sensowną wartość liczbową (np. cena, ilość sztuk, wiek) i czy nie jest ona ujemna albo zerowa. Z mojego doświadczenia lepiej jednak korzystać z Number.isNaN() i jawnie rzutować dane (np. const value = Number(x)), bo klasyczne isNaN ma parę „dziwnych” zachowań wynikających z automatycznych konwersji typów w JS. Mimo to logika w tym zadaniu jest typowa i zgodna z dobrymi praktykami: najpierw walidacja typu/wartości, potem dopiero dalsza logika biznesowa.

Pytanie 2

W języku PHP do zmiennej a wprowadzono tekst, w którym wielokrotnie występuje fraza Kowalski. Jakim poleceniem można jednocześnie zamienić wszystkie pojawienia się słowa Kowalski na słowo Nowak w zmiennej a?

A. $a = str_replace('Nowak', 'Kowalski', $a);
B. $a = str_replace('Nowak', 'Kowalski');
C. $a = str_rep('Kowalski', 'Nowak', $a);
D. $a = str_replace('Kowalski', 'Nowak', $a);
Odpowiedź $a = str_replace('Kowalski', 'Nowak', $a); jest poprawna, ponieważ wykorzystuje funkcję str_replace, która jest standardowym narzędziem w PHP do zamiany wszystkich wystąpień określonego ciągu znaków na inny w danym tekście. W tym przypadku zamieniamy słowo 'Kowalski' na 'Nowak' wewnątrz zmiennej $a. Funkcja str_replace działa w sposób, który jest zgodny z dobrymi praktykami programistycznymi, pozwalając na prostą i efektywną manipulację łańcuchami tekstowymi. Przykład zastosowania: jeśli $a = 'Jan Kowalski jest programistą. Kowalski ma doświadczenie.', to po wykonaniu powyższego polecenia zmienna $a stanie się 'Jan Nowak jest programistą. Nowak ma doświadczenie.'. Warto pamiętać, że str_replace jest wrażliwa na wielkość liter, co oznacza, że najlepiej stosować ją w kontekście, gdzie zapisy są jednolite. Dodatkowo, funkcja ta zwraca nowy łańcuch znaków, co oznacza, że oryginalna zmienna $a pozostaje niezmieniona, co jest zgodne z zasadami programowania funkcyjnego.

Pytanie 3

Komunikat błędu wygenerowany przez walidator HTML może wskazywać na:

A. użycie zbyt wielu kolorów na stronie
B. zbyt wolne ładowanie strony
C. brak zamknięcia znacznika <p>
D. zbyt długą treść akapitu <p>
Pozostałe odpowiedzi nie są błędami składni, więc walidator ich nie zgłasza. Długość treści akapitu nie ma znaczenia dla poprawności kodu - akapit może być dowolnie długi. Liczba użytych kolorów to decyzja projektowa dotycząca wyglądu, a nie zgodności ze standardem HTML. Czas ładowania strony zależy od wagi zasobów i serwera; bada się go innymi narzędziami, a nie walidatorem składni. Walidator wykrywa usterki w budowie kodu, takie jak brak zamknięcia <p>, dlatego to ta odpowiedź jest poprawna.

Pytanie 4

Który z formatów to format grafiki WEKTOROWEJ?

A. JPG
B. PNG
C. SVG
D. GIF
SVG (Scalable Vector Graphics) to format grafiki WEKTOROWEJ - obraz opisany jest kształtami i krzywymi (w XML), dzięki czemu skaluje się bez utraty jakości. Sprawdza się przy logo i ikonach. Dlatego formatem wektorowym jest SVG.

Pytanie 5

Co zastosować, aby zapewnić integralność (spójność) danych w bazie MS Access?

A. kwerendę aktualizującą
B. więzy integralności
C. archiwizację bazy
D. defragmentację bazy
Spójność danych między powiązanymi tabelami w MS Access zapewniają WIĘZY INTEGRALNOŚCI (relacyjnej) - pilnują, by np. nie dało się dodać rekordu odwołującego się do nieistniejącego klucza w tabeli nadrzędnej. Dlatego stosuje się więzy integralności.

Pytanie 6

Zapis przedstawiony w języku JavaScript oznacza, że

x = przedmiot.nazwa();
A. nazwa to pole klasy przedmiot.
B. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
C. zmienna x będzie przechowywać wynik działania metody nazwa.
D. nazwa to właściwość obiektu przedmiot.
Odpowiedź jest prawidłowa, ponieważ wyrażenie w języku JavaScript x = przedmiot.nazwa(); oznacza, że zmienna x zostanie przypisana do wyniku działania metody nazwa, która jest wywoływana na obiekcie przedmiot. W JavaScript metody są funkcjami zdefiniowanymi jako właściwości obiektów. Kiedy wywołujemy metodę, dodajemy nawiasy okrągłe do jej nazwy, co powoduje jej wykonanie. W przypadku poprawnego zdefiniowania metody nazwa w obiekcie przedmiot, wykonanie tej metody zwróci wartość, która zostanie przypisana do zmiennej x. Taki sposób przypisywania wartości jest powszechnie stosowany w programowaniu obiektowym, co umożliwia dynamiczne uzyskiwanie danych z obiektów. Przykładem zastosowania może być np. obiekt Uzytkownik z metodą pobierzImie(), która zwraca imię użytkownika. Dzięki temu można elastycznie zarządzać danymi obiektów i tworzyć złożone aplikacje. Dobre praktyki programistyczne zalecają czytelne nazywanie metod i korzystanie z nich wtedy, gdy logicznie grupują funkcjonalność, co ułatwia utrzymanie i rozwijanie kodu.

Pytanie 7

Które polecenie ustawi klucz główny na polu id w istniejącej tabeli uczniowie?

A.
INSERT TABLE uczniowie ADD PRIMARY KEY (id);
B.
INSERT TABLE uczniowie PRIMARY KEY (id);
C.
ALTER TABLE uczniowie ADD PRIMARY KEY (id);
D.
ADD TABLE uczniowie PRIMARY KEY (id);
Aby w istniejącej tabeli ustawić klucz główny, używa się ALTER TABLE <tabela> ADD PRIMARY KEY (<pole>). Zapis ALTER TABLE uczniowie ADD PRIMARY KEY (id); poprawnie ustanawia pole id kluczem głównym tabeli uczniowie. Dlatego to polecenie jest prawidłowe.

Pytanie 8

Poniższy fragment kodu w PHP wyświetli

$n = '[email protected]';
$dl = strlen($n);
$i = 0;
while($i < $dl && $n[$i] != '@')
{
    echo $n[$i];
    $i++;
}
A. samą nazwę domeny, czyli "host.pl"
B. tylko nazwę konta, czyli "adres"
C. nazwa konta z symbolem @, czyli "adres@"
D. cały adres e-mail, czyli "[email protected]"
Powyższy fragment kodu w języku PHP ma za zadanie wyodrębnić i wypisać nazwę konta z adresu e-mail. Kod definiuje ciąg znaków zawierający pełny adres e-mail i używa pętli while do iteracji przez każdy znak tego ciągu aż do napotkania znaku '@'. Pętla while działa, dopóki indeks i jest mniejszy niż długość ciągu $n oraz bieżący znak $n[$i] nie jest '@'. W każdej iteracji echo wypisuje bieżący znak, a zmienna i jest inkrementowana. Dzięki temu kod wypisuje wszystkie znaki przed '@', co w tym przypadku jest nazwą konta 'adres'. Takie podejście jest powszechnie stosowane w podstawowym przetwarzaniu tekstu, gdzie potrzebna jest iteracja przez ciąg znaków. W praktyce, w aplikacjach webowych, takie operacje są często wykonywane na danych wejściowych użytkownika, aby wyodrębnić specyficzne części danych, takie jak nazwa użytkownika z e-maila. Jest to również zgodne z zasadami przetwarzania stringów w PHP, gdzie manipulacja tekstem odbywa się z wykorzystaniem indeksów i pętli.

Pytanie 9

W języku SQL, aby wybrać wszystkie rekordy z tabeli B, w tym część wspólną z tabelą A, należy zastosować typ związku

Ilustracja do pytania
A. A INNER JOIN B
B. A FULL OUTER JOIN B
C. A RIGHT JOIN B
D. A LEFT JOIN B
Poprawnie – w tym zadaniu kluczowe jest zrozumienie, że interesuje nas **wszystko z tabeli B**, a dodatkowo – tam gdzie się da – dokładamy dane z tabeli A. Dokładnie tak działa `RIGHT JOIN` zapisany jako `A RIGHT JOIN B ON ...`. Prawa tabela w zapisie JOIN (czyli B) jest zawsze tą „obowiązkową”: dostajemy wszystkie jej wiersze, a dane z lewej (A) pojawiają się tylko tam, gdzie warunek łączenia jest spełniony. Tam gdzie dopasowania w A nie ma, kolumny z A przyjmują wartość `NULL`. To dokładnie odpowiada zielonemu obszarowi na diagramie – cała B plus część wspólna A∩B.
W praktyce taki RIGHT JOIN przydaje się np. gdy tabela B jest tabelą główną (np. `Zamowienia`), a tabela A jest pomocnicza (np. `Klienci_archiwalni`), ale z jakiegoś powodu w zapytaniu chcemy właśnie B mieć „gwarantowaną” – czyli nawet jeśli w A brakuje powiązanego rekordu, zamówienie i tak ma się pojawić w wynikach. Przykładowo:
`SELECT * FROM Klienci_archiwalni A RIGHT JOIN Zamowienia B ON A.id_klienta = B.id_klienta;`
Dobra praktyka w SQL mówi, że częściej stosuje się `LEFT JOIN`, bo jest czytelniejszy (łatwiej myśleć: „biorę wszystko z lewej”), ale logicznie RIGHT JOIN robi to samo, tylko „odwraca perspektywę”. Wiele zespołów wręcz zaleca, żeby zamiast RIGHT JOIN przepisać zapytanie tak, by użyć LEFT JOIN i zamienić kolejność tabel – ale na egzaminach i w testach warto znać oba. Moim zdaniem dobrze jest też od razu kojarzyć: `LEFT JOIN` – wszystko z lewej, `RIGHT JOIN` – wszystko z prawej, `INNER JOIN` – tylko przecięcie, `FULL OUTER JOIN` – suma zbiorów. Dzięki temu każde zadanie z diagramem Venna w SQL robi się dużo prostsze i mniej mylące.

Pytanie 10

Jakie tabele będą weryfikowane przez podane polecenie?

CHECK TABLE pracownicy CHANGED;
A. Tylko tabele, które nie zostały prawidłowo zamknięte.
B. Tabele, które zmieniły się w bieżącej sesji.
C. Jedynie tabele referencyjne.
D. Tabele, które uległy zmianie od ostatniego sprawdzenia lub nie zostały prawidłowo zamknięte.
Odpowiedzi sugerujące, że polecenie CHECK TABLE sprawdzi jedynie tabele, które nie zostały poprawnie zamknięte, lub tylko te, które zmieniły się w aktualnej sesji, nieprawidłowo interpretują sposób działania polecenia. Sprawdzanie tabel przy użyciu CHECK TABLE ma na celu weryfikację integralności danych, a nie tylko reagowanie na konkretne sytuacje, jak błędy zamknięcia. W rzeczywistości, to polecenie jest zaprojektowane do analizy ogólnego stanu tabeli, co obejmuje także zmiany, które mogły wystąpić od ostatniego sprawdzenia. Sugerowanie, że tabele referujące do innych byłyby jedynymi na celowniku tego polecenia, jest również mylące, ponieważ CHECK TABLE nie ogranicza się do relacji referencyjnych, lecz obejmuje każdą tabelę wskazaną w poleceniu. Typowe błędy myślowe w tym zakresie często dotyczą uproszczeń, które pomijają złożoność zarządzania danymi i integralności. Poprawne podejście do użycia CHECK TABLE polega na zrozumieniu, że jest to narzędzie diagnostyczne, które powinno być stosowane w kontekście pełnej analizy bazy danych, a nie w reakcji na specyficzne przypadki awarii. W efekcie, ignorowanie pełnych możliwości tego polecenia może prowadzić do niedostatecznej ochrony danych oraz zwiększonego ryzyka utraty informacji.

Pytanie 11

Która z funkcji SQL nie wymaga żadnych argumentów?

A. upper
B. now
C. len
D. year
Funkcja SQL 'now()' jest jedną z funkcji, które nie wymagają argumentów, a jej głównym zadaniem jest zwracanie bieżącej daty i godziny systemowej w formacie odpowiednim dla bazy danych. Użycie tej funkcji jest niezwykle przydatne w kontekście rejestrowania momentu wykonania operacji w bazie danych, na przykład przy dodawaniu nowych rekordów do tabeli. Przykładowe zastosowanie tej funkcji można zobaczyć w poniższym zapytaniu SQL: 'INSERT INTO wydarzenia (nazwa, data_utworzenia) VALUES ('Nowe Wydarzenie', now());'. Takie podejście nie tylko automatyzuje proces rejestrowania czasu, ale także zapewnia spójność danych, eliminując ryzyko błędów związanych z ręcznym wprowadzaniem daty. W praktyce, stosowanie funkcji, które nie wymagają argumentów, jest często zgodne z zasadami dobrych praktyk programistycznych, które promują czytelność i prostotę kodu.

Pytanie 12

W przedstawionym kodzie PHP przeprowadzono operację na bazie danych. Jaką funkcję należy wywołać, aby uzyskać liczbę wierszy, które zostały zmienione w tabeli?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10"; mysqli_query($db, $zapytanie);
A. mysqli_num_rows()
B. mysqli_affected_rows()
C. mysqli_field_count()
D. mysqli_use_result()
Wybór innych funkcji zamiast mysqli_affected_rows() prowadzi do nieporozumień dotyczących ich przeznaczenia i zastosowania. Przykładowo, funkcja mysqli_num_rows() jest używana w kontekście kwerend SELECT, gdzie zwraca liczbę wierszy w zestawie wyników. Nie może być zastosowana po operacjach modyfikujących bazę danych, takich jak UPDATE, ponieważ nie dostarcza informacji o efektach tych operacji. Z kolei mysqli_use_result() jest przeznaczona do przetwarzania zestawów wyników z zapytań, co znowu nie odnosi się do sytuacji, w której chcemy znać liczbę zmienionych wierszy. Funkcja mysqli_field_count() zwraca liczbę kolumn w ostatnim zapytaniu, które zwróciło rezultat, co również nie ma zastosowania w kontekście zapytań modyfikujących. Typowym błędem myślowym jest mieszanie funkcji związanych z różnymi rodzajami zapytań. Ważne jest, aby rozumieć, jak różne funkcje w PHP dotyczące MySQL są ze sobą powiązane i jakie mają specyficzne zastosowania. Nieprawidłowe użycie tych funkcji może prowadzić do błędnych wniosków o stanie bazy danych i utrudniać debugowanie aplikacji. W związku z tym kluczowym elementem efektywnego zarządzania bazami danych jest znajomość odpowiednich funkcji oraz ich funkcji i ograniczeń.

Pytanie 13

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. td, th { background-color: Pink; }
B. tr { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr:active { 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 14

Co wyświetli kod PHP:

echo date('Y');
?
A. miesiąc i rok
B. rok
C. dzień i miesiąc
D. dzień
Funkcja date() formatuje datę wg podanego wzorca, a litera 'Y' oznacza ROK czterocyfrowo (np. 2026). Dlatego echo date('Y'); wyświetli rok.

Pytanie 15

Czym jest w PHP zmienna $_GET?

A. zmienną utworzoną przez autora strony, do przesyłania danych z formularza przez URL
B. predefiniowaną, zbierającą dane z nagłówków HTTP (niewidoczne w adresie)
C. predefiniowaną, przekazującą dane do skryptu przez adres URL
D. zwykłą zmienną zdefiniowaną przez autora strony
Zmienna $_GET to PREDEFINIOWANA (wbudowana) tablica superglobalna PHP, która przekazuje do skryptu dane wysłane przez adres URL - np. parametry z ?id=5&str=2. Programista jej nie tworzy, jest gotowa. Dlatego $_GET przekazuje dane przez URL.

Pytanie 16

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

A. mieszających.
B. abstrakcyjnych.
C. cyklometrycznych.
D. klucza.
Mieszające funkcje, choć istotne w kryptografii, nie są właściwym podejściem do zabezpieczania haseł użytkowników. Ich głównym celem jest zapewnienie, że nawet niewielka zmiana w danych wejściowych prowadzi do drastycznie różniącego się wyniku, co jest przydatne w kontekście tworzenia funkcji hashujących, ale nie wystarcza do ochrony haseł. Funkcje abstrakcyjne, z kolei, dotyczą bardziej teoretycznych modeli czy algorytmów, które nie mają bezpośredniego zastosowania w procesie zabezpieczania haseł. Kluczowe jest, aby zrozumieć, że hasła powinny być przede wszystkim szyfrowane przy użyciu odpowiednich algorytmów, a nie jedynie mieszane czy abstrakcyjne. Cyklometryczne metody również nie mają zastosowania w kontekście ochrony haseł, gdyż ich zastosowanie jest ograniczone do analizy danych czy grafów, a nie do rzeczywistych procesów szyfrowania czy zabezpieczania informacji. Dlatego błędem jest przypuszczenie, że inne metody mogą zastąpić funkcje klucza w kontekście ochrony haseł. W praktyce, stosowanie nieodpowiednich metod zabezpieczających prowadzi do poważnych luk w bezpieczeństwie, które mogą być wykorzystane przez cyberprzestępców.

Pytanie 17

Jakie znaki <header>, <article>, <section>, <footer> są typowe dla tego języka?

A. HTML 4.01 Strict
B. HTML 4.01 Transitional
C. XHTML 1.1
D. HTML 5
Znaczniki <header>, <article>, <section>, <footer> są częścią specyfikacji HTML5, która wprowadziła bardziej semantyczne podejście do strukturyzacji dokumentów webowych. Te elementy umożliwiają programistom tworzenie bardziej przejrzystych i zrozumiałych dokumentów, zarówno dla ludzi, jak i dla maszyn. Na przykład, znacznik <header> definiuje nagłówek strony lub sekcji, <article> służy do oznaczania samodzielnych treści, które mogą być niezależnie dystrybuowane, <section> grupuje powiązane tematycznie elementy, a <footer> zawiera informacje o końcu strony lub sekcji. Użycie tych znaczników ma kluczowe znaczenie dla SEO, ponieważ wyszukiwarki mogą lepiej zrozumieć strukturę treści na stronie. Dodatkowo, zastosowanie tych elementów wspiera dostępność, ułatwiając nawigację osobom korzystającym z czytników ekranu. W praktyce, stosując te znaczniki, programiści tworzą bardziej uporządkowane i zrozumiałe strony, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 18

W bibliotece mysqli w PHP, aby uzyskać najbardziej aktualny komunikat o błędzie, można użyć funkcji

A. mysqli_use_result()
B. mysqli_error_list()
C. mysqli_error()
D. mysqli_errno()
Funkcja mysqli_error() w bibliotece mysqli języka PHP jest sposobem na uzyskanie ostatniego komunikatu o błędzie związanym z połączeniem lub zapytaniem SQL. Zwraca ona łańcuch znaków, który opisuje ostatni błąd związany z danym połączeniem. Jest to niezwykle przydatne narzędzie w procesie debugowania, ponieważ pozwala programiście szybko zidentyfikować źródło problemu. Na przykład, jeśli napotkasz błąd podczas wykonywania zapytania, możesz użyć mysqli_error($connection) po funkcji wykonującej zapytanie, aby uzyskać szczegółowy opis błędu. W kontekście dobrych praktyk programistycznych, zawsze należy obsługiwać błędy i nie ignorować ich, aby uniknąć trudności w przyszłości. Warto również pamiętać, że funkcja ta działa tylko w kontekście aktualnego połączenia bazodanowego, co oznacza, że przed jej użyciem musisz mieć aktywne połączenie. Przykład użycia: $result = mysqli_query($connection, $query); if (!$result) { echo mysqli_error($connection); }

Pytanie 19

Jaką integralność określa przytoczona definicja?

Ilustracja do pytania
A. Encji
B. Semantyczną
C. Statyczną
D. Referencyjną
Integralność referencyjna jest fundamentalną zasadą w bazach danych, która zapewnia, że relacje między tabelami są prawidłowo zachowane. Oznacza to, że klucz obcy w jednej tabeli powinien zawsze odnosić się do istniejącego klucza głównego w innej tabeli. To podejście jest kluczowe w relacyjnych bazach danych, ponieważ zapobiega powstawaniu odniesień do nieistniejących danych co mogłoby prowadzić do niespójności w bazie danych. W praktyce integralność referencyjna jest implementowana poprzez restrykcje i ograniczenia narzucane na operacje takie jak wstawianie aktualizacja i usuwanie danych. Na przykład próba usunięcia rekordu z tabeli, do której odwołują się inne rekordy wprowadziłaby niespójność jeśli integralność referencyjna nie jest przestrzegana. Aby temu zapobiec systemy baz danych mogą blokować takie operacje lub automatycznie aktualizować albo usuwać powiązane dane. Przestrzeganie zasad integralności referencyjnej jest zgodne z dobrymi praktykami projektowania baz danych i zgodne ze standardem SQL co zapewnia spójność i integralność danych w systemach informatycznych.

Pytanie 20

W języku HTML, aby uzyskać efekt taki jak na przykładzie, należy zastosować konstrukcję

Duży tekst zwykły tekst

A. <p><strike>Duży tekst</strike> zwykły tekst</p>
B. <p><big>Duży tekst</big> zwykły tekst</p>
C. <p><big>Duży tekst</p> zwykły tekst
D. <p><strike>Duży tekst zwykły tekst</p>
W języku HTML, użycie znacznika <big> jest właściwym sposobem na zwiększenie rozmiaru tekstu, co w efekcie pozwala na wyróżnienie go w kontekście pozostałej treści. Znacznik ten jest jednak przestarzały i niezalecany w nowoczesnych praktykach, ponieważ CSS oferuje bardziej elastyczne i zaawansowane metody stylizacji. Przykładowo, zamiast stosować <big>, można wykorzystać stylizację CSS, aby uzyskać podobny efekt, co zwiększa kontrolę nad wyglądem elementów. Ponadto, zastosowanie znacznika <p> jako kontenera dla tekstu zapewnia semantyczną strukturę dokumentu, co jest zgodne z wytycznymi W3C i poprawia dostępność. Przykładowo, użycie CSS może wyglądać tak: <p style='font-size: 1.5em;'>Duży tekst</p>zwykły tekst, co jest bardziej zalecane dla zachowania zgodności ze standardami. Warto pamiętać, że unikanie przestarzałych znaczników i stosowanie CSS zwiększa elastyczność i estetykę projektów HTML.

Pytanie 21

Wartość kolumny w tabeli, która działa jako klucz podstawowy

A. może mieć wartość pustą (NULL)
B. jest wykorzystywana do szyfrowania treści tabeli
C. jest zawsze w formacie numerycznym
D. musi być unikalna
Wartość pola tabeli pełniącego rolę klucza podstawowego musi być unikalna, ponieważ klucz podstawowy identyfikuje jednoznacznie każdy rekord w tabeli bazy danych. To oznacza, że żadna z wartości w tym polu nie może się powtarzać, co zapewnia integralność danych. Przykładem zastosowania klucza podstawowego jest identyfikator użytkownika (UserID) w tabeli z danymi użytkowników; każdy użytkownik ma przypisany unikalny identyfikator, co umożliwia jednoznaczną identyfikację jego danych. Standardy relacyjnych baz danych, takie jak SQL, nakładają te wymagania na klucze podstawowe, co jest kluczowe dla prawidłowego działania relacji między tabelami. Dobre praktyki w projektowaniu baz danych sugerują, aby klucze podstawowe były nie tylko unikalne, ale także stabilne (czyli nie zmieniały się w czasie), co ułatwia zarządzanie danymi i ich integrację w systemie. W przypadku naruszenia zasady unikalności klucza podstawowego mogą wystąpić problemy z integralnością referencyjną, co sprawia, że niemożliwe staje się prawidłowe powiązanie rekordów w różnych tabelach.

Pytanie 22

p { font-family: Arial, Helvetica, sans-serif; }
Zdefiniowany styl dla selektora p spowoduje, że tekst w paragrafie zostanie wyświetlony czcionką:
A. dekoracyjną.
B. szeryfową.
C. bezszeryfową.
D. maszynową.
W podanym fragmencie CSS deklaracja font-family: Arial, Helvetica, sans-serif oznacza, że przeglądarka ma najpierw spróbować użyć czcionki Arial, jeśli jej nie znajdzie – Helvetica, a jeśli żadna z tych nazwanych czcionek nie będzie dostępna w systemie użytkownika, to sięgnie po dowolną domyślną czcionkę z rodziny sans-serif. I to właśnie jest klucz: słowo kluczowe sans-serif na końcu definiuje rodzinę kroju pisma, czyli czcionkę bezszeryfową.
Czcionki bezszeryfowe (sans-serif) nie mają tzw. szeryfów, czyli małych ozdobników na końcach liter. Przykłady takich krojów to właśnie Arial, Helvetica, Verdana, Roboto. W specyfikacji CSS (np. CSS Fonts Module Level 3) wyraźnie wyróżnia się generics: serif, sans-serif, monospace, cursive, fantasy itp. Zapis użyty w pytaniu jest zgodny z dobrymi praktykami: najpierw konkretne fonty, potem ogólna rodzina.
W praktyce taki zapis stosuje się niemal wszędzie w projektowaniu stron WWW: dla tekstów w interfejsach, nagłówków, opisów przycisków, bo krój bezszeryfowy jest bardziej czytelny na ekranach, szczególnie przy małych rozdzielczościach i na urządzeniach mobilnych. Moim zdaniem warto zapamiętać ten schemat: najpierw nazwy konkretnych fontów, na końcu zawsze jeden z generycznych typów (sans-serif, serif, monospace itd.). Dzięki temu masz pewność, że nawet jeśli użytkownik nie ma zainstalowanego Ariala czy Helvetiki, i tak zobaczy tekst w odpowiednim rodzaju czcionki – w tym wypadku właśnie bezszeryfowej. To jest standardowa i rekomendowana praktyka w CSS, stosowana praktycznie w każdym profesjonalnym projekcie webowym.

Pytanie 23

W instrukcji warunkowej języka JavaScript należy zweryfikować sytuację, w której wartość zmiennej a mieści się w zakresie (0, 100), a wartość zmiennej b jest większa od zera. Taki warunek można zapisać w sposób następujący

A. if ((a>0 && a<100) || b<0)
B. if ((a>0 || a<100) && b>0)
C. if (a>0 && a<100 && b>0)
D. if (a>0 || a<100 || b<0)
Wybór odpowiedzi 'if (a>0 && a<100 && b>0)' jest prawidłowy, ponieważ precyzyjnie spełnia określone wymagania zawarte w pytaniu. Warunek ten sprawdza, czy zmienna 'a' mieści się w przedziale od 0 do 100 (wyłączając 0 i 100), a także potwierdza, że zmienna 'b' jest większa od zera. Operator '&&' (AND) jest kluczowy w tym przypadku, ponieważ wymaga spełnienia wszystkich zdefiniowanych warunków jednocześnie. Przykładowo, jeśli mamy zmienne 'a' równe 50 i 'b' równe 10, to warunek zostanie spełniony i kod wewnątrz instrukcji 'if' zostanie wykonany. Zastosowanie takich warunków jest powszechne w programowaniu, zwłaszcza w sytuacjach wymagających walidacji danych, gdzie musimy upewnić się, że wszystkie kryteria są spełnione przed kontynuowaniem dalszych operacji. Standardy kodowania zalecają wykorzystanie prostych i jednoznacznych instrukcji warunkowych, co przyczynia się do lepszej przejrzystości i utrzymywalności kodu. Stosując odpowiednią logikę w warunkach, minimalizujemy ryzyko wystąpienia błędów w logice aplikacji.

Pytanie 24

W języku CSS określono formatowanie znacznika h1 według poniższego wzoru. Zakładając, że do znacznika h1 nie dodano żadnego innego formatowania, wskaż sposób formatowania tego znacznika.

h1 {
    font-style: oblique;
    font-variant: small-caps;
    text-align: right;
}
Ilustracja do pytania
A. D.
B. C.
C. A.
D. B.
Gratulacje, Twoja odpowiedź jest prawidłowa. W CSS określono, że znacznik h1 ma być wyświetlany z pochyłą czcionką, co jest osiągane za pomocą właściwości 'font-style: oblique'. Dodatkowo, małe wielkie litery są realizowane przez 'font-variant: small-caps', które zmieniają wszystkie małe litery na wielkie litery, ale z zachowaniem mniejszego rozmiaru. Wreszcie, do wyrównania tekstu do prawej strony służy 'text-align: right'. Wszystko to razem składa się na formatowanie znacznika h1, które zostało zdefiniowane w CSS. To jest dobra praktyka, aby zrozumieć i zapamiętać różne właściwości CSS, ponieważ pozwalają one na bardzo szczegółowe kontrolowanie wyglądu i układu elementów na stronie. Pamiętaj, że CSS jest niezwykle potężnym narzędziem w rękach doświadczonego programisty front-end i pozwala na tworzenie estetycznych, responsywnych i przyjaznych dla użytkownika interfejsów.

Pytanie 25

Która funkcja SQL NIE przyjmuje żadnych argumentów?

A.
YEAR()
B.
UPPER()
C.
LEN()
D.
NOW()
Funkcja NOW() zwraca bieżącą datę i godzinę serwera (np. 2026-06-13 14:05:00) i NIE przyjmuje żadnych argumentów - nawiasy zostają puste. Używa się jej np. przy zapisie momentu dodania rekordu: INSERT INTO log (data) VALUES (NOW()). Zapamiętaj: NOW() działa „samo z siebie”, bo bierze czas z systemu, a nie z przekazanej wartości.

Pytanie 26

W CSS wartości underline, overline, blink są przypisane do atrybutu

A. text-decoration
B. font-style
C. text-style
D. font-weight
Właściwość CSS 'text-decoration' to coś, co naprawdę może zmienić wygląd tekstu na stronach internetowych. Dzięki niej możemy dodać różne efekty dekoracyjne, jak podkreślenie, przekreślenie, czy nadkreślenie. Zdarzają się też nowinki, jak efekt 'blink', chociaż nie jest on zbyt popularny w profesjonalnym kodzie. Warto pamiętać, że stosowanie tej właściwości poprawia czytelność i estetykę tekstu. Na przykład, gdy chcemy wyróżnić ważne informacje, możemy użyć 'text-decoration: underline;'. Ciekawostka: niektóre efekty, jak 'blink', mogą sprawić problemy z dostępnością, więc lepiej ich unikać. Właściwe użycie 'text-decoration' w połączeniu z odpowiednimi znacznikami HTML, jak <span> lub <a>, może naprawdę poprawić interaktywność naszej strony. Dobrze jest o tym pamiętać, gdy pracujemy nad projektami.

Pytanie 27

Kiedy zostanie wywołane w JavaScript zdarzenie onKeydown?

A. gdy klawisz klawiatury zostanie wciśnięty
B. gdy klawisz klawiatury zostanie zwolniony
C. gdy klawisz myszy zostanie zwolniony
D. gdy klawisz myszy zostanie wciśnięty
Zdarzenie onkeydown jest wywoływane w chwili, gdy użytkownik WCIŚNIE klawisz KLAWIATURY (zanim go puści). Para zdarzeń to onkeydown (wciśnięcie) i onkeyup (zwolnienie), a onkeypress było używane dla znaków drukowalnych. Dzięki onkeydown można np. reagować na klawisze sterujące (strzałki, Enter, Esc). Zapamiętaj: „down” = w dół = wciśnięcie.

Pytanie 28

Aby prawidłowo udokumentować linię kodu w języku JavaScript, należy po znakach // wpisać komentarz.

x = Math.max(a, b, c); //
A. w zmiennej x minimalna wartość ze zmiennych a, b, c
B. w zmiennej x maksymalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane.
D. wybór losowej wartości ze zmiennych a, b i c
Odpowiedź "w zmiennej x maksymalna wartość ze zmiennych a, b, c" jest poprawna, ponieważ odzwierciedla działanie funkcji Math.max() w języku JavaScript, która zwraca największą wartość spośród podanych argumentów. W kontekście tej linii kodu, przypisanie wartości do zmiennej x jest kluczowym elementem programowania, gdyż pozwala na dynamiczne ustalanie największej wartości zmiennych a, b i c w różnych scenariuszach. W praktyce, odpowiednia dokumentacja kodu, w tym komentarze, jest niezbędna do utrzymania czytelności i zrozumiałości kodu, zwłaszcza w większych projektach. Komentarze pomagają innym programistom (lub nawet samym autorom kodu w przyszłości) szybko zrozumieć, co dany fragment kodu robi. Używanie komentarzy w odpowiednich miejscach, szczególnie po operatorze "//", jest uznawane za dobrą praktykę w programowaniu. Dlatego ważne jest, aby jasno określić funkcję danej linii kodu, co czyni tę odpowiedź trafną.

Pytanie 29

Pętla w kodzie JavaScript zostanie uruchomiona

Ilustracja do pytania
A. 27 razy
B. 26 razy
C. 2 razy
D. 3 razy
Pętla do-while w JavaScript wykonuje się co najmniej raz ze względu na swoją konstrukcję. W tym przypadku pętla zaczyna się od wartości x równej 1 i w każdej iteracji mnoży x przez 3. Zmienna i jest inkrementowana przy każdej iteracji, co zlicza liczbę wykonanych iteracji. Pętla kontynuuje aż do momentu, gdy x osiągnie wartość 27. Przebieg pętli wygląda następująco: początkowo x=1, po pierwszej iteracji x=3, po drugiej x=9, a po trzeciej x=27. Gdy x osiąga wartość 27, warunek pętli x!=27 przestaje być spełniony i pętla się kończy. Dlatego pętla wykonuje dokładnie 3 iteracje. Zrozumienie działania pętli do-while jest kluczowe, zwłaszcza w kontekście sytuacji, gdzie musimy zagwarantować, że blok kodu wykona się przynajmniej raz niezależnie od warunku na końcu. Tego typu pętle są często używane w aplikacjach wymagających walidacji danych wejściowych, gdzie przynajmniej jedna próba przetworzenia danych musi być wykonana.

Pytanie 30

Jak nazywa się program, który wykonuje instrukcje zawarte w kodzie źródłowym bez wcześniejszego generowania programu wynikowego?

A. konwerter kodu
B. konwerter języka
C. kompilator
D. interpreter
Interpreter to program, który czyta kod źródłowy i wykonuje go na bieżąco - instrukcja po instrukcji - bez wcześniejszego tłumaczenia całości na osobny plik wykonywalny. Tak działają m.in. PHP, Python i JavaScript (w przeglądarce). Zaletą jest szybkie testowanie i niezależność od platformy, wadą - zwykle wolniejsze działanie niż program skompilowany. Przeciwieństwem jest kompilator, który najpierw przekłada cały kod na język maszynowy. Dlatego program wykonujący kod bez generowania programu wynikowego to interpreter.

Pytanie 31

W języku HTML, aby stworzyć pole do wprowadzania hasła, w którym wpisywany tekst będzie ukrywany (zastępowany kropkami), należy zastosować znacznik

A. <form input type="password" />
B. <input name="password" />
C. <input type="password" />
D. <form="password" type="password" />
Odpowiedź <input type="password" /> jest poprawna, ponieważ ten znacznik HTML służy do tworzenia pola edycyjnego, w którym wprowadzane dane są maskowane. W przypadku pól do wpisywania haseł, istotne jest, aby użytkownik nie mógł zobaczyć wpisywanego tekstu, co zwiększa poziom bezpieczeństwa. W HTML, atrybut 'type' z wartością 'password' instruuje przeglądarkę, aby ukrywała znaki wprowadzane przez użytkownika, zastępując je zazwyczaj kropkami lub gwiazdkami. Przykładem zastosowania tego typu znacznika może być formularz logowania, gdzie użytkownicy wpisują swoje hasła. Dobrą praktyką jest również zastosowanie odpowiednich etykiet i walidacji, aby zapewnić, że formularz jest użyteczny i zgodny z WCAG (Web Content Accessibility Guidelines). Warto pamiętać, że bezpieczeństwo haseł powinno być również wspierane przez odpowiednie zabezpieczenia po stronie serwera, w tym haszowanie haseł oraz ochrona przed atakami typu brute force.

Pytanie 32

W jaki sposób lokalny System Zarządzania Bazą Danych (SZBD) udostępnia bazę?

A. w chmurze obliczeniowej
B. wyłącznie na jednym, wyznaczonym komputerze
C. jako usługę serwerową w sieci
D. jako serwer w sieci
Lokalny SZBD udostępnia bazę wyłącznie na jednym, wyznaczonym komputerze - działa bez sieci, dla pojedynczego stanowiska. Dlatego baza jest dostępna tylko na tym jednym komputerze.

Pytanie 33

Tabela odlotów zawiera dane przedstawione na ilustracji. Wykonanie zapytania SQL spowoduje zwrócenie informacji:

SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%';
idsamoloty_idnr_rejsukierunekczasdzienstatus_lotu
11FR1646Neapol09:20:002019-07-25wystartowal
21FR1327ALICANTE09:10:002019-07-25Opóźniony 10 min
32W63425Warszawa09:45:002019-07-25odprawa
43LX5647Londyn LT10:03:002019-07-25odprawa
53LX5673Malta10:06:002019-07-25opoznienie 20 min
63LX5622Wieden10:13:002019-07-25
74LH9821Berlin10:16:002019-07-25
84LH9888Hamburg10:19:002019-07-25
A. zbiór pusty
B. 3; 5; 8
C. 5; 8
D. 4; 5; 6; 7; 8
Zapytanie SQL SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%' używa dwóch warunków w klauzuli WHERE. Pierwszy warunek samoloty_id > 2 filtruje rekordy, których pole samoloty_id jest większe niż 2. Drugi warunek kierunek LIKE '_a%' szuka w kolumnie kierunek ciągów znaków, które mają literę 'a' jako drugi znak, co jest osiągane przez użycie znaku podkreślenia '_' jako symbolu jednego dowolnego znaku. Operator LIKE pozwala na dopasowanie wzorca z użyciem symboli wieloznacznych, co jest przydatne w sytuacjach, gdy potrzebujemy znaleźć dane na podstawie częściowego dopasowania tekstu. Zastosowanie wzorca '_a%' oznacza, że szukamy tylko takich wartości, które mają co najmniej dwa znaki, a drugim znakiem musi być 'a'. W tabeli odloty, rekordy spełniające oba te warunki to rekordy 5 i 8, ponieważ ich pole samoloty_id jest odpowiednio 3 i 4 (czyli większe niż 2), a pole kierunek to odpowiednio Malta i Hamburg, które pasują do wzorca '_a%' gdzie 'M' i 'H' to odpowiednio pierwszy znak. Praktyczne zastosowanie takich zapytań SQL pozwala na efektywne przeszukiwanie baz danych pod kątem specyficznych potrzeb użytkownika, co ma kluczowe znaczenie w zarządzaniu informacjami w dużych systemach.

Pytanie 34

Kwalifikatory dostępu private, protected i public definiują mechanizm:

A. hermetyzacji (enkapsulacji)
B. przeładowania (overloadingu)
C. rekurencji
D. polimorfizmu
Kwalifikatory private, protected i public sterują widocznością pól i metod klasy, czyli realizują HERMETYZACJĘ (enkapsulację) - ukrywanie wewnętrznych szczegółów i udostępnianie tylko wybranego interfejsu. Dlatego definiują mechanizm hermetyzacji.

Pytanie 35

Jak ustawić w CSS, by link NIEodwiedzony był żółty, a odwiedzony - zielony?

A.
a:visited { color: yellow; } a:link { color: green; }
B.
a:link { color: yellow; } a:visited { color: green; }
C.
a:hover { color: yellow; } a:visited { color: green; }
D.
a:hover { color: green; } a.link { color: yellow; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Stan odnośnika opisują pseudoklasy: <code><span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">link</span></code> dotyczy linku jeszcze NIEodwiedzonego, a <code><span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">visited</span></code> już odwiedzonego. Aby pierwszy był żółty, a drugi zielony, przypisuje się oba kolory osobno: <code><span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">link</span> <span class="code-text">{</span> <span class="code-keyword">color</span><span class="code-text">:</span> <span class="code-variable">yellow</span><span class="code-text">;</span> <span class="code-text">}</span> <span class="code-keyword">a</span><span class="code-text">:</span><span class="code-variable">visited</span> <span class="code-text">{</span> <span class="code-keyword">color</span><span class="code-text">:</span> <span class="code-variable">green</span><span class="code-text">;</span> <span class="code-text">}</span></code>. Warto trzymać kolejność LVHA (link, visited, hover, active), bo przy nakładających się regułach decyduje ona o pierwszeństwie. Dlatego poprawny jest ten zestaw.

Pytanie 36

Wskaż, na czym polega błąd w kodzie napisanym w języku C++.

char str1[30] = 'Ala ma kota'; printf("%s", str1);
A. Do funkcji printf przekazano zbyt mało argumentów.
B. Napis powinien mieć dokładnie 30 znaków.
C. W funkcji printf nie można używać formatowania %s.
D. Napis powinien być umieszczony w cudzysłowach.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wskaźnik 'str1' jest zdefiniowany jako tablica znaków, która ma przechowywać łańcuch znaków. W C++ łańcuchy znaków muszą być umieszczone w cudzysłowach, aby kompilator mógł je poprawnie zinterpretować jako dane typu string. W przypadku przypisania wartości 'Ala ma kota' bez cudzysłowów, kompilator traktuje to jako pojedynczy znak, co prowadzi do błędu. Aby poprawnie zainicjować tablicę 'str1', należy użyć: char str1[30] = "Ala ma kota";. Taki zapis jest zgodny z regułami C++ i zapewnia, że napis zostanie potraktowany jako łańcuch znaków. Ponadto, dobrym zwyczajem jest zapewnienie, że tablica ma wystarczającą ilość miejsca na znak null ('\0'), który oznacza koniec łańcucha, co w tym przypadku jest zapewnione przez zdefiniowanie tablicy o rozmiarze 30. Warto również pamiętać, że stosowanie cudzysłowów zamiast apostrofów dla łańcuchów znaków jest podstawową zasadą programowania w C++.

Pytanie 37

Który zapis <img> jest poprawny zgodnie z walidacją HTML5?

A.
<img src="mojPiesek.jpg">
B.
<img src="mojPiesek.jpg" alt="pies">
C.
<img src=mojPiesek.jpg alt=pies>
D.
<img src=mojPiesek.jpg" alt="pies>

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawny zapis to <code><span class="code-text">&lt;</span><span class="code-keyword">img</span> <span class="code-variable">src</span><span class="code-text">=</span><span class="code-string">"mojPiesek.jpg"</span> <span class="code-variable">alt</span><span class="code-text">=</span><span class="code-string">"pies"</span><span class="code-text">&gt;</span></code> - wartości atrybutów <code><span class="code-variable">src</span></code> i <code><span class="code-variable">alt</span></code> ujęte są w cudzysłowy, a znacznik jest poprawnie domknięty. Dlatego prawidłowy jest ten zapis.

Pytanie 38

Co oznacza dodanie kanału alfa podczas obróbki grafiki rastrowej?

A. ustalenie balansu bieli
B. zwiększenie głębi ostrości
C. wprowadzenie warstwy z przezroczystością
D. wyostrzenie krawędzi obrazu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dodanie kanału alfa oznacza wprowadzenie dodatkowej warstwy informacji o PRZEZROCZYSTOŚCI pikseli - dzięki niej fragmenty obrazu mogą być przezroczyste lub półprzezroczyste. Dlatego to wprowadzenie warstwy z przezroczystością.

Pytanie 39

Na podstawie fragmentu dokumentu HTML, określ co należy wpisać w miejsce kropek w odnośniku w menu, aby przenosił on do rozdziału 2.

Fragment menu
<a ...>Rozdział 2</a>

Fragment dalej w dokumencie
<h1 id="r2" name="sekcja2" class="rozdzial2">Rozdział 2<h1>
A. href = "#sekcja2"
B. href = "r2"
C. href = "#r2"
D. href = "sekcja2"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, Twoja odpowiedź jest prawidłowa. Wybrałeś 'href="#r2"', co jest poprawne, ponieważ w HTML, atrybut 'href' w tagu 'a' służy do określenia miejsca docelowego odnośnika. W tym przypadku, miejsce docelowe to identyfikator (id) elementu na tej samej stronie. Przed identyfikatorem umieszcza się znak '#', który informuje przeglądarkę, że ma poszukać elementu z danym 'id' na tej samej stronie. W tym konkretnym przypadku, 'r2' jest identyfikatorem rozdziału 2 na stronie, dlatego 'href="#r2"' skieruje odnośnik do tego rozdziału. W praktyce, używanie identyfikatorów pozwala na tworzenie skomplikowanych stron z wieloma sekcjami, gdzie odsyłacze umożliwiają łatwe i szybkie nawigowanie. To jest zgodne ze standardami i dobrymi praktykami dla tworzenia stron internetowych.

Pytanie 40

W systemie baz danych stworzono tabelę Mieszkancy zawierającą informacje. Aby usunąć tę tabelę wraz z danymi, należy użyć komendy

A. DELETE FROM Mieszkancy;
B. DROP TABLE Mieszkancy;
C. ALTER TABLE Mieszkancy;
D. TRUNCATE TABLE Mieszkancy;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie 'DROP TABLE Mieszkancy;' jest właściwym sposobem na usunięcie tabeli wraz z jej zawartością w bazie danych. To polecenie nie tylko usuwa tabelę, ale również wszystkie dane, które w niej się znajdują oraz wszelkie powiązania, takie jak klucze obce. W praktyce, gdy programista chce całkowicie wyeliminować strukturę tabeli oraz jej dane, wykorzystuje 'DROP TABLE'. Jest to szczególnie przydatne w sytuacjach, gdy tabela nie jest już potrzebna w systemie, a jej usunięcie pozwala na zwolnienie zasobów oraz uproszczenie struktury bazy danych. Warto również pamiętać, że przed wykonaniem tego polecenia warto stworzyć kopię zapasową danych, jeśli są one istotne, ponieważ operacja ta jest nieodwracalna. Ponadto, zgodnie z zasadami dobrych praktyk, przed usunięciem tabeli należy upewnić się, że nie ma na nią żadnych zależności w innych częściach bazy danych, aby uniknąć potencjalnych problemów z integralnością danych.