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 12:34
  • Data zakończenia: 8 czerwca 2026 12:52

Egzamin niezdany

Wynik: 18/40 punktów (45,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

Fragment kodu SQL wskazuje, że klucz obcy

Ilustracja do pytania
A. wiąże się z kolumną imiona
B. jest obecny w tabeli obiekty
C. jest ustawiony na kolumnie obiekty
D. stanowi odniesienie do siebie samego
W przedstawionym fragmencie kodu SQL klucz obcy (foreign key) służy do zapewnienia integralności referencyjnej między dwiema tabelami. W tym przypadku klucz obcy wskazuje, że pole imie w jednej tabeli jest powiązane z polem imiona w tabeli obiekty. Takie podejście pomaga w utrzymaniu spójności danych, ponieważ wymusza istnienie każdej wartości w polu imie w kolumnie imiona tabeli obiekty. W praktyce oznacza to, że nie można dodać wartości do pola imie, jeśli nie istnieje odpowiadająca wartość w kolumnie imiona. Klucze obce są kluczowym elementem w projektowaniu baz danych, wspierając normalizację i redukcję redundancji danych. Prawidłowe wykorzystanie kluczy obcych pozwala na efektywne zarządzanie relacjami pomiędzy danymi, co jest zgodne z najlepszymi praktykami w zakresie projektowania baz danych. Dodatkowo, prawidłowe stosowanie kluczy obcych przyczynia się do poprawy wydajności zapytań, ponieważ umożliwia optymalizację operacji łączenia danych. To podejście jest zgodne ze standardami SQL, a jego zastosowanie jest powszechne w różnych systemach zarządzania bazami danych jak MySQL, PostgreSQL czy Oracle.

Pytanie 2

Na tabeli muzyka, przedstawionej na schemacie, wykonano następującą kwerendę SQL. Co zostanie zwrócone przez tę zapytanie? SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';

Ilustracja do pytania
A. pusty wynik
B. Czesław, Czechowski
C. Czesław
D. Czesław, Niemen
Analiza błędnych odpowiedzi prowadzi do zrozumienia, dlaczego nie można ich uznać za poprawne w kontekście przedstawionego zapytania SQL. Odpowiedź 'Czesław' sugeruje, że zapytanie zwróci wykonawcę o takim imieniu. W rzeczywistości zapytanie SQL używa wzorca 'C%w', co oznacza, że szuka wykonawców, których imię i nazwisko zaczynają się na 'C' i kończą na 'w'. W tabeli nie ma wykonawcy spełniającego ten warunek. 'Czesław Niemen' mimo poprawnego początku nazwy, nie kończy się na 'w', co wyklucza tę odpowiedź. Podobnie, odpowiedzi sugerujące parę wykonawców, takie jak 'Czesław, Niemen' czy 'Czesław, Czechowski', również nie spełniają kryteriów wzorca, ponieważ żadne z nazwisk nie kończy się na 'w'. Typowym błędem myślowym przy takich zadaniach jest nieuwzględnienie pełnego warunku wzorca i skupienie się tylko na jego części początkowej. Użycie operatora LIKE z symbolem '%' wymaga zrozumienia, że jest to znak wieloznaczny, który pozwala na dowolną liczbę znaków między określonymi literami. Zlekceważenie tego aspektu prowadzi do błędnych wniosków. W praktyce, umiejętność poprawnego formułowania zapytań SQL i zrozumienie działania operatorów takich jak LIKE ma zasadnicze znaczenie dla pracy z bazami danych, szczególnie w kontekście wyszukiwania i filtrowania danych według określonych kryteriów. Prawidłowe wykorzystanie tych umiejętności pozwala na efektywną obsługę dużych zbiorów danych i jest kluczowym elementem skutecznego zarządzania informacją w przedsiębiorstwach i organizacjach.

Pytanie 3

Kiedy zachowana jest integralność ENCJI w bazie danych?

A. gdy każdy klucz główny ma odpowiadający klucz obcy w innej tabeli
B. gdy każda kolumna ma przypisany typ danych
C. gdy każda tabela ma utworzony klucz główny
D. gdy klucz główny jest zawsze liczbą całkowitą
Pozostałe warunki nie dotyczą integralności encji. Klucz główny nie musi być liczbą całkowitą (może być np. tekstem). Przypisanie typu kolumnom to osobna kwestia. Powiązanie z kluczem obcym w innej tabeli to integralność REFERENCYJNA, nie encji. Integralność encji zapewnia klucz główny w każdej tabeli.

Pytanie 4

Zidentyfikuj poprawnie zbudowany warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.

A. if {mysqli_connect_error()}{}
B. if (mysqli_connect_errno()){}
C. if {mysql_connect_errno()}{}
D. if (mysql_connect_error())()
No, odpowiedzi, które wybrałeś, mają sporo błędów. Na przykład, 'if (mysql_connect_error())()' jest źle napisane, bo masz tu podwójne nawiasy, a powinny być pojedyncze. 'if {mysql_connect_errno(){}}' i 'if {mysqli_connect_error()}' używają klamr, gdzie powinny być nawiasy okrągłe, bo w PHP warunki muszą być w nawiasach. Te stare funkcje, takie jak 'mysql_connect_error()' czy 'mysql_connect_errno()', to już przeżytek, zostały usunięte w PHP 7.0. Teraz, wybierając 'mysqli', zapewniasz sobie lepsze bezpieczeństwo i działanie aplikacji. To jest kluczowe, żeby zrozumieć, jak poprawnie pisać kod, bo bez tego ciężko osiągniesz sukces w programowaniu w PHP.

Pytanie 5

Jakie wyrażenie należy umieścić w miejsce ??? w pętli napisanej w języku C++, aby na ekranie zostały wyświetlone wyłącznie elementy tablicy tab?

int tab[6];
for (int i = 0; ???; i++)
    cout << tab[i];
A. i <= 6
B. i > 6
C. i >= 6
D. i < 6
Niepoprawne wybory wyrażenia warunkowego w pętli for mogą prowadzić do różnych problemów, z których głównym jest przekroczenie zakresu tablicy, co jest powszechnym błędem w programowaniu w językach takich jak C++. Błędne zastosowanie warunku i >= 6 spowodowałoby, że pętla nie wykonałaby się ani razu, ponieważ początkowa wartość i wynosi 0, co nie spełnia tego warunku. Warunek i <= 6 może wydawać się poprawny, ponieważ uwzględnia indeks 6, jednak indeks ten wykracza poza zakres tablicy posiadającej 6 elementów (z indeksami od 0 do 5), co prowadziłoby do błędu out-of-bounds. Warunek i > 6 również jest błędny, ponieważ nigdy nie zostanie spełniony przy początkowej wartości i równej 0, a pętla tym samym się nie wykona. Typowe błędy myślowe prowadzące do takich wyborów wynikają z nieprawidłowego rozumienia indeksowania tablic oraz zakresu pętli. Ważne jest, aby dokładnie przeanalizować, jak indeksy są przypisywane w tablicach i dostosować warunki pętli, aby zawsze mieściły się w poprawnym zakresie. Aby uniknąć takich błędów, zaleca się stosowanie podejścia, które uwzględnia długość tablicy i iteruje do mniejszej wartości niż jej rozmiar. Tego typu prewencja nie tylko zwiększa stabilność programu, ale również jego bezpieczeństwo, eliminując ryzyko naruszenia pamięci programu i potencjalnych podatności bezpieczeństwa.

Pytanie 6

Do czego służy funkcja CONCAT() w SQL?

A. do łączenia tekstów (konkatenacji)
B. do usuwania wskazanego tekstu
C. do wyciągania podłańcucha
D. do przycinania tekstu
Pozostałe operacje wykonują inne funkcje. Usuwanie lub zamianę fragmentu robi REPLACE(), przycinanie - TRIM(), a wycinanie podłańcucha - SUBSTRING(). Łączeniem tekstów zajmuje się CONCAT().

Pytanie 7

Co powinno znaleźć się w KAŻDEJ tabeli, aby baza działała poprawnie i spójnie?

A. klucz PRIMARY KEY (unikalny i niepusty)
B. klucze PRIMARY KEY i FOREIGN KEY
C. klucz FOREIGN KEY z NOT NULL
D. klucz obcy z NOT NULL i UNIQUE
Każda tabela powinna mieć klucz główny (PRIMARY KEY) - pole o wartościach UNIKALNYCH i NIEPUSTYCH, które jednoznacznie identyfikuje każdy wiersz. Bez niego trudno odróżnić rekordy i utrzymać spójność. Dlatego w każdej tabeli potrzebny jest klucz główny.

Pytanie 8

Użytkownik podał adres nieistniejącego zasobu na serwerze. Jaki błąd HTTP zostanie zwrócony?

A. 404
B. 503
C. 500
D. 400
Gdy serwer nie znajduje zasobu pod podanym adresem, zwraca kod HTTP 404 (Not Found). Należy on do klasy 4xx, czyli błędów po stronie klienta - tu chodzi o żądanie nieistniejącej strony lub pliku. Dlatego serwer zwróci 404.

Pytanie 9

W znaczniku meta w miejsce kropek należy wpisać

<meta name="description" content="…">
A. streszczenie treści strony.
B. język dokumentu.
C. informację o dostosowaniu do urządzeń mobilnych.
D. nazwę edytora.
Mówiąc, że w znaczniku meta w polu 'content' trzeba umieścić nazwę edytora, to trochę nie na miejscu. Opis strony powinien odnosić się do tego, co właściwie na niej jest, a nie do narzędzia, którym została zrobiona. Tak samo mówienie o definicji języka dokumentu w tym miejscu jest błędne, bo powinno się to robić z atrybutem 'lang' w znaczniku <html>. Wstawianie informacji o wersji mobilnej do pola 'content' znacznika meta też wprowadza w błąd, bo takie rzeczy zazwyczaj są podawane przez odpowiednie style CSS i znacznik <meta name='viewport'>. Często użytkownicy mogą się mylić, myśląc że te informacje można zamieścić w opisie, co jest nieprawda. Każda z tych odpowiedzi pokazuje, że nie do końca rozumiesz, jak działają znaczniki meta i jaka jest ich rola przy tworzeniu stron. Ważne jest, żeby znać gdzie i jak używać różnych atrybutów, bo to wpływa na SEO i na to, jak strona wygląda w wynikach wyszukiwania oraz jakie wartościowe informacje dostarczasz użytkownikom.

Pytanie 10

Zamieszczony kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób:

<form>
stanowisko: <input type="text"> <br>
obowiązki: <br>
<input type="checkbox" name="obowiazki1" value="1" disabled checked> sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazki2" value="2" checked>pisanie kodu<br>
<input type="checkbox" name="obowiazki3" value="3">testy oprogramowania<br>
</form>
Ilustracja do pytania
A. D
B. C
C. B
D. A
Odpowiedzi, które są określone jako niepoprawne, zawierają pewne zniekształcenia w interpretacji struktury formularza HTML. Kluczowym błędem jest nieuznanie faktu, że checkbox z atrybutem 'disabled' ma wpływ tylko na możliwość interakcji użytkownika z tym elementem, a nie na jego wyświetlanie. W rzeczywistości checkboxy, nawet jeśli są zablokowane, są nadal renderowane w DOM oraz ich etykiety są widoczne dla użytkownika. W każdej z niepoprawnych odpowiedzi brak jest również pełnej jasności dotyczącej zastosowania atrybutów i ich wpływu na interakcję z formularzem. Błędne jest przyjmowanie, że atrybuty takie jak 'checked' i 'disabled' w sposób zasadniczy zmieniają wyświetlaną treść, gdy w rzeczywistości wpływają one jedynie na zachowanie elementów formularza. Aby zrozumieć, jak formularze są renderowane w HTML, ważne jest zwrócenie uwagi na każdy atrybut i jego znaczenie. W kontekście budowania interfejsów użytkownika, zasady dostępności i użyteczności podkreślają znaczenie pełnej przejrzystości opcji, co pozwala uniknąć nieporozumień. Typowym błędem myślowym jest również utożsamianie interakcji użytkownika z prezentacją wizualną, co prowadzi do błędnych wniosków o tym, co jest wyświetlane. W przypadku formularzy ważne jest przemyślenie, jak użytkownik interpretuje i wchodzi w interakcję z elementami na stronie, a także jak te elementy są prezentowane wizualnie, aby zapewnić pełne zrozumienie dostępnych opcji.

Pytanie 11

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Jakie zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
B. SELECT nazwisko, Miasto FROM Osoby, Adresy;
C. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
D. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
Błędne odpowiedzi pokazują typowe nieporozumienia związane ze składnią i logiką SQL. Niektóre z nich opierają się na błędnym założeniu, że po prostu wymienienie tabel w instrukcji FROM automatycznie połączy te tabele - to nie jest prawda, ponieważ wymaga to jasno określonego warunku połączenia. Inne błądne odpowiedzi sugerują, że można po prostu porównać wartości kolumny 'id' w obu tabelach, aby je połączyć. To jest błędne, ponieważ nie uwzględnia to faktu, że relacja między tabelami jest określona przez klucz obcy, który może nie mieć takiej samej nazwy ani wartości jak klucz główny. Wreszcie, niektóre błędne odpowiedzi mylą składnię zapytania, umieszczając warunek łączenia w niewłaściwym miejscu lub pomijając niezbędne słowo kluczowe JOIN. To pokazuje, jak ważne jest dokładne zrozumienie składni SQL i jej reguł.

Pytanie 12

Tabela o nazwie naprawy zawiera kolumny: klient, czyNaprawione. Jakie polecenie należy użyć, aby wykasować rekordy, w których pole czyNaprawione ma wartość prawdziwą?

A. DELETE naprawy WHERE czyNaprawione = TRUE;
B. DELETE FROM naprawy;
C. DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
D. DELETE FROM naprawy WHERE czyNaprawione = TRUE;
W przypadku drugiej odpowiedzi, 'DELETE naprawy WHERE czyNaprawione = TRUE;', brak jest kluczowego słowa 'FROM', co jest niezgodne z syntaksą SQL. W standardzie SQL polecenie DELETE zawsze wymaga określenia tabeli, z której mają zostać usunięte dane, za pomocą słowa kluczowego 'FROM'. Bez tego, zapytanie będzie generować błąd. Kolejna odpowiedź, 'DELETE FROM naprawy;', jest niepoprawna, ponieważ usuwa wszystkie rekordy z tabeli 'naprawy', co zwykle nie jest pożądanym działaniem. To podejście może prowadzić do utraty wszystkich zapisów, co w praktyce jest katastrofalne, jeśli nie wykonano wcześniej kopii zapasowej. Czwarta odpowiedź, 'DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;', błędnie sugeruje, że można wskazać konkretne kolumny do usunięcia, co jest także niezgodne z zasadami SQL. W SQL nie można wskazać pojedynczych kolumn do usunięcia, to całe rekordy są usuwane. Typowe błędy myślowe, które prowadzą do takich nieprawidłowych wniosków, to brak znajomości podstawowych zasad działania zapytań SQL oraz mylenie koncepcji usuwania danych z modyfikowaniem ich zawartości.

Pytanie 13

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć następującego zapisu

A. p { line-height: 30px; }
B. p { text-spacing: 30px; }
C. p { text-indent: 30px; }
D. p { line-indent: 30px; }
Analizując inne opcje, można zauważyć, że zapisy takie jak line-indent, line-height, czy text-spacing nie są poprawne w kontekście wcięcia pierwszej linii akapitu w CSS. Właściwość line-indent nie istnieje w specyfikacji CSS, co czyni tę odpowiedź zupełnie niewłaściwą. Użytkownicy mogą mylić terminologię, sądząc, że line-indent odnosi się do wcięcia, jednak nie jest to termin rozpoznawany przez standardy CSS. Bardziej odpowiednią właściwością do modyfikacji wysokości linii jest line-height, która jednak nie ma związku z wcięciem tekstu, lecz z odstępem pomiędzy poszczególnymi liniami tekstu w akapicie. Użycie line-height do uzyskania wcięcia prowadzi do nieporozumień i niepożądanych efektów wizualnych. Z kolei text-spacing, będący inną niepoprawną odpowiedzią, nie jest uznaną właściwością CSS i nie wpływa na wcięcia. Dobre praktyki w projektowaniu stron internetowych wymagają znajomości standardów CSS i ich zastosowania w praktyce. Ważne jest, aby przyzwyczaić się do stosowania właściwości, które są uznawane przez wiodące przeglądarki i standardy webowe, aby uniknąć takich błędów i uzyskać zamierzony efekt wizualny. Zapewnienie, że używamy odpowiednich właściwości, jest kluczowe dla poprawności i jakości kodu CSS, który ma bezpośredni wpływ na końcowy rezultat, czyli wygląd i funkcjonalność stron internetowych.

Pytanie 14

W celu zmiany struktury tabeli w systemie MySQL trzeba wykonać polecenie

A. GRANT
B. UPDATE
C. INSERT INTO
D. ALTER TABLE
Odpowiedź 'ALTER TABLE' to strzał w dziesiątkę, bo to właśnie to polecenie w MySQL pozwala na zmiany w strukturze tabeli w bazach danych. Gdy używamy 'ALTER TABLE', możemy dodawać nowe kolumny, usuwać te, które już nie są potrzebne, albo zmieniać typ danych w kolumnach. Przykładowo, jeśli chcemy dodać kolumnę 'wiek' do tabeli 'pracownicy', używamy: ALTER TABLE pracownicy ADD COLUMN wiek INT;. A żeby usunąć kolumnę 'adres', wystarczy: ALTER TABLE pracownicy DROP COLUMN adres;. Pamiętaj przy tym, żeby zawsze sprawdzić, czy te zmiany nie będą miały negatywnego wpływu na dane oraz czy mamy odpowiednie uprawnienia. Osobiście uważam, że warto robić kopie zapasowe przed większymi zmianami, bo to może uratować skórę, gdy coś pójdzie nie tak. Dobry sposób na to, by być pewnym siebie w pracy z bazami danych, to dobrze poznać 'ALTER TABLE' i jego możliwości.

Pytanie 15

Która z poniższych opcji najlepiej opisuje przedstawioną definicję w JavaScript?

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. klasy
B. zbioru
C. obiektu
D. tablicy
Obiekt w JavaScript jest bardziej skomplikowaną strukturą niż tablica i służy do przechowywania danych w postaci par klucz-wartość. W przedstawionym przykładzie nie mamy par klucz-wartość a jedynie listę wartości co wyklucza definicję obiektu. Kolekcja w kontekście JavaScript nie jest specyficznym typem danych; odnosi się ogólnie do struktur danych które przechowują wiele elementów. Tablice mogą być częścią kolekcji ale kolekcje mogą obejmować też inne struktury jak mapy i zestawy dlatego definicja ta byłaby zbyt ogólna w tym przypadku. Klasa natomiast jest częścią paradygmatu obiektowego wprowadzonego w nowszych wersjach JavaScript do definiowania struktur danych i ich zachowań. Klasy nie są bezpośrednio powiązane z tablicami które służą do przechowywania danych w uporządkowany sposób. Typowe błędy przy interpretacji takich struktur wynikają zwykle z niezrozumienia różnic między obiektami tablicami i klasami. Tablice są używane przede wszystkim do przechowywania zbiorów danych w uporządkowanej formie podczas gdy obiekty są bardziej elastyczne w definiowaniu struktury danych a klasy służą do tworzenia złożonych struktur danych i logiki. Zrozumienie tych różnic jest kluczowe w efektywnym korzystaniu z języka JavaScript i pozwala na bardziej świadome podejmowanie decyzji dotyczących wyboru struktur danych odpowiednich do konkretnego problemu.

Pytanie 16

Który atrybut HTML wyświetla podpowiedź (dymek) pokazywaną po najechaniu kursorem na element?

A.
title
B.
alt
C.
id
D.
src
Pozostałe atrybuty pełnią inne funkcje. alt niesie tekst alternatywny obrazu - pokazuje się, gdy obraz się nie wczyta, i odczytuje go czytnik ekranu, ale nie jest dymkiem po najechaniu. src wskazuje ścieżkę do pliku (np. obrazu lub skryptu). id nadaje elementowi unikalny identyfikator używany w CSS i JavaScript. Podpowiedź w postaci dymka wyświetla atrybut title, dlatego to on jest poprawny.

Pytanie 17

Jakie polecenie HTML powinno być zastosowane, aby sformatować akapit tekstu?

Tekst może być zaznaczony albo istotny dla autora
A. <p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
B. <p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
C. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
D. <p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
Błędne odpowiedzi wynikają z niepoprawnego zamknięcia lub zagnieżdżenia tagów HTML, co jest sprzeczne z zasadami poprawnej składni języka HTML. W pierwszym przypadku, brak zamknięcia znacznika <em> powoduje, że przeglądarka nie rozpoznaje, gdzie kończy się wyróżniony tekst. To zaburza semantykę dokumentu i może prowadzić do nieprzewidywalnego renderowania treści. W trzeciej i czwartej odpowiedzi występuje błąd polegający na niewłaściwym zagnieżdżeniu znaczników, gdzie <mark> zostaje zamknięty po <em> lub <i>, co jest błędnym podejściem, ponieważ znacznik <mark> powinien obejmować tylko ten fragment tekstu, który ma być podkreślony. Takie nieprawidłowe struktury mogą prowadzić do błędów w interpretacji dokumentu przez przeglądarki oraz utrudniać dostępność dla czytników ekranowych, co jest sprzeczne z dobrymi praktykami web developmentu, które promują poprawne i semantyczne użycie znaczników HTML. Dodatkowo, błędy te mogą negatywnie wpłynąć na optymalizację SEO, ponieważ wyszukiwarki preferują dobrze ustrukturyzowane dokumenty. Ważne jest, aby przestrzegać standardów W3C oraz stosować się do zasad semantyki HTML, aby zapewnić poprawne działanie i interpretację stron internetowych przez szeroką gamę urządzeń i oprogramowania.

Pytanie 18

Przedstawiony blok reprezentuje czynność

Ilustracja do pytania
A. podjęcia decyzji.
B. zastosowania gotowej procedury lub funkcji.
C. wyświetlenia danych.
D. wczytania danych.
Ten blok w kształcie rombu to klasyczny symbol decyzji w schemacie blokowym algorytmu. Zgodnie z przyjętymi standardami notacji (np. ANSI/ISO dla diagramów przepływu), romb oznacza miejsce, w którym program musi coś sprawdzić i na podstawie wyniku tej kontroli wybrać jedną z gałęzi dalszego działania. Innymi słowy: następuje podjęcie decyzji na podstawie warunku logicznego, który zwykle daje odpowiedź typu TAK/NIE (TRUE/FALSE).

W praktyce, w kodzie programistycznym taki romb odpowiada instrukcjom warunkowym, takim jak if, if...else, switch, operator trójargumentowy itp. Przykład: „jeśli użytkownik jest zalogowany, pokaż panel administracyjny, w przeciwnym razie przekieruj do logowania”. W schemacie blokowym byłby to właśnie romb z pytaniem „Użytkownik zalogowany?”. Z rombu wychodziłyby dwie strzałki: jedna podpisana „tak”, druga „nie”, prowadzące do różnych bloków akcji.

Moim zdaniem warto wyrobić sobie nawyk automatycznego kojarzenia: romb = warunek = rozgałęzienie przepływu. Dzięki temu łatwiej później projektować algorytmy, niezależnie od języka programowania. W praktyce webowej też ma to duże znaczenie: np. sprawdzenie, czy dane z formularza są poprawne, czy użytkownik ma odpowiednie uprawnienia, czy plik istnieje na serwerze. Za każdym razem, gdy w głowie pojawia Ci się „jeśli… to… w przeciwnym razie…”, w schemacie blokowym powinien pojawić się właśnie taki romb, czyli blok podjęcia decyzji. To jest fundament logicznej struktury programu i jedna z podstawowych konstrukcji algorytmicznych.

Pytanie 19

Czym jest AJAX?

A. Językiem programowania do tworzenia stron internetowych
B. Biblioteką JavaScript do animacji i efektów wizualnych
C. Systemem zarządzania bazą danych
D. Technologią asynchronicznej wymiany danych między klientem a serwerem bez przeładowania strony
Pozostałe opisy mylą naturę AJAX-a. Nie jest osobnym językiem do tworzenia stron - łączy JavaScript, obiekt do żądań HTTP i format danych (XML lub JSON). Nie jest też biblioteką do animacji (to rola np. jQuery czy CSS) ani systemem bazodanowym. Istotą AJAX jest asynchroniczna wymiana danych bez przeładowania strony.

Pytanie 20

W przypadku podanego fragmentu kodu walidator HTML zgłosi błąd, ponieważ <img src="kwiat.jpg alt="kwiat">

A. nie zamknięto cudzysłowu
B. zastosowano nieznany atrybut alt
C. użyto niewłaściwego znacznika do wyświetlenia obrazu
D. brak obrazu kwiat.jpg
W przedstawionym kodzie HTML występuje błąd związany z niedomknięciem cudzysłowu dla atrybutu 'src'. Prawidłowa składnia powinna wyglądać następująco: <img src="kwiat.jpg" alt="kwiat">. Brak cudzysłowu po 'kwiat.jpg' uniemożliwia poprawne zinterpretowanie kodu przez przeglądarki, co skutkuje błędem walidacji. Zasady walidacji kodu HTML są zgodne z wytycznymi W3C, które zalecają, aby każdy atrybut był zamknięty cudzysłowem. Poprawność kodu nie tylko wpływa na jego działanie, ale również na dostępność strony oraz SEO. Użytkownicy, którzy poruszają się po stronach bez pełnej obsługi HTML, mogą napotkać problemy z wyświetlaniem obrazów. W praktyce, zawsze warto stosować dobregi praktyki kodowania, takie jak użycie linterów do sprawdzania poprawności kodu przed jego publikacją, aby uniknąć takich błędów.

Pytanie 21

Do której grupy operatorów należą w JavaScript || oraz &&?

A. przypisania
B. logicznych
C. arytmetycznych
D. bitowych
Operatory || (lub) i && (oraz) w JavaScripcie należą do grupy operatorów LOGICZNYCH - łączą wartości prawda/fałsz i są podstawą warunków, np. if (zalogowany && admin). Razem z negacją ! tworzą komplet logiki. Zapamiętaj: podwójne znaki &&/|| = logika, pojedyncze &/| = bity.

Pytanie 22

DOM udostępnia metody i właściwości, które w języku JavaScript umożliwiają:

A. wykonywanie operacji na zmiennych liczbowych
B. wysłanie danych formularza bezpośrednio do bazy danych
C. manipulowanie łańcuchami znaków zadeklarowanymi w kodzie
D. pobieranie i modyfikowanie elementów wyświetlonej strony
DOM (Document Object Model) to drzewiasta reprezentacja dokumentu HTML, którą przeglądarka udostępnia skryptom. Dzięki niej JavaScript może pobierać elementy strony (np. document.getElementById("x")), zmieniać ich treść (innerHTML), atrybuty i style, a także dodawać lub usuwać elementy oraz reagować na zdarzenia. To podstawa interaktywności stron - bez przeładowania zmienia się ich zawartość i wygląd. Dlatego DOM umożliwia pobieranie i modyfikowanie elementów wyświetlonej strony.

Pytanie 23

Czym jest w języku C++ konstrukcja double *x;?

A. formalnym argumentem typu rzeczywistego
B. zmienną rzeczywistą
C. wskaźnikiem
D. zmienną całkowitą
Pozostałe odpowiedzi mylą wskaźnik ze zwykłą zmienną. Bez * (double x;) byłaby to zmienna rzeczywista przechowująca liczbę. Nie jest to zmienna całkowita (to byłby int) ani formalny argument funkcji. Gwiazdka czyni z x wskaźnik.

Pytanie 24

Która właściwość CSS ustawia kolor TEKSTU elementu?

A.
color
B.
background-color
C.
font-color
D.
text-color
Kolor TEKSTU elementu ustawia w CSS właściwość color, np. color: #000000; daje czarny tekst. Tła dotyczy osobna właściwość background-color. Dlatego kolor tekstu ustawia color.

Pytanie 25

Jak nazywa się nadrzędny formularz służący do nawigacji między formularzami i kwerendami bazy?

A. głównym
B. zagnieżdżonym
C. pierwotnym
D. sterującym
Pozostałe nazwy nie są poprawne w tym znaczeniu. „Główny”, „pierwotny” czy „zagnieżdżony” nie określają formularza-menu (zagnieżdżony to formularz osadzony w innym). Nadrzędny formularz nawigacyjny to formularz sterujący.

Pytanie 26

Zdefiniowany styl CSS spowoduje, że nagłówki pierwszego poziomu będą

Ilustracja do pytania
A. wyjustowane, pisane małymi literami, a odstępy między literami ustalone na 10 px
B. wyjustowane, pisane wielkimi literami, a odstępy między liniami ustalone na 10 px
C. wyśrodkowane, pisane małymi literami, a odstępy między liniami ustalone na 10 px
D. wyśrodkowane, pisane wielkimi literami, a odstępy między literami ustalone na 10 px
Odpowiedź jest prawidłowa, ponieważ reguły CSS wyrażone w stylu są poprawnie zinterpretowane w kontekście podanej definicji. Wartość text-align: center oznacza, że tekst wewnątrz elementu h1 będzie wyśrodkowany. Centrum tekstu jest powszechnie stosowane w projektowaniu stron internetowych w celu zwiększenia czytelności i estetyki nagłówków co jest korzystne w wizualnym uporządkowaniu treści. Wartość text-transform: uppercase przekształca wszystkie litery w sekcji na wielkie litery co jest pomocne w przypadku nagłówków gdzie wyróżnienie jest kluczowe i potęguje efekt wizualny. Stosowanie wielkich liter w nagłówkach jest klasycznym podejściem w projektowaniu ponieważ przyciąga uwagę użytkownika. Dodatkowo letter-spacing: 10px zwiększa odstępy między literami co poprawia ich czytelność zwłaszcza w dużych formatach tekstu. Zastosowanie takich właściwości jest zgodne z dobrymi praktykami projektowymi które dążą do optymalizacji wizualnej i funkcjonalnej stron internetowych co jest kluczowe dla pozytywnego doświadczenia użytkownika

Pytanie 27

Kod

SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)
wybiera
A. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat
B. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat
C. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat
D. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL `SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)` w sposób precyzyjny selekcjonuje dane tylko dla osób, których wiek wynosi dokładnie 18 lub 30 lat. Użycie operatora `IN` pozwala na wskazanie konkretnych wartości, które nas interesują, w tym przypadku są to dwa liczby: 18 i 30. Takie podejście jest zgodne z najlepszymi praktykami w tworzeniu zapytań SQL, gdyż umożliwia efektywne filtrowanie danych i minimalizowanie obciążenia bazy danych poprzez ograniczenie ilości przetwarzanych rekordów. W kontekście aplikacji, które wymagają analizy danych demograficznych, na przykład w systemach monitorujących wiek klientów, tego typu zapytania są niezwykle przydatne. Pozwalają na szybkie wyciąganie informacji potrzebnych do podejmowania decyzji, jak na przykład dostosowywanie ofert marketingowych do określonych grup wiekowych. Przykładowo, w instytucji finansowej analiza wieku klientów może być kluczowa w tworzeniu ofert produktów kredytowych skierowanych do osób młodych oraz do tych w średnim wieku, co pozwala na lepsze zrozumienie i zaspokojenie ich potrzeb.

Pytanie 28

<?php
setcookie('egzamin', '24', time() + 60);
?>
Na podstawie przedstawionego kodu PHP wskaż, ile wynosi czas ważności ustawionego ciasteczka?
A. 24 doby.
B. 1 godzina.
C. 1 minuta.
D. 24 godziny.
Ten fragment kodu PHP jest dobrym przykładem, jak łatwo pomylić się przy interpretowaniu czasu życia ciasteczka. Wiele osób widząc wartość '24' w nazwie albo w wartości ciasteczka automatycznie kojarzy to z 24 godzinami czy 24 dobami. Tymczasem w ogóle nie ma to znaczenia dla czasu ważności. O tym, jak długo cookie będzie żyło, decyduje wyłącznie trzeci parametr funkcji setcookie(), czyli tutaj: time() + 60. Funkcja time() zwraca aktualny czas w sekundach, a liczba 60 to po prostu 60 sekund. Nie ma tu żadnej „magii” powiązanej z liczbą 24.
Częsty błąd polega na tym, że ktoś myśli kategoriami: godziny, dni, a nie sekund. W PHP czas wygaśnięcia w setcookie musi być podany jako konkretny znacznik czasowy UNIX, więc programista musi sam przeliczyć sobie minuty czy godziny na sekundy. Jeśli ktoś pomyśli, że 60 to np. 60 minut, to w praktyce pomyli się dokładnie 60 razy. Podobnie założenie, że skoro wartość ciasteczka to '24', to ciasteczko będzie ważne 24 godziny lub 24 doby, wynika z mieszania znaczenia logicznego danych z mechanizmem technicznym ich przechowywania. Wartość '24' to po prostu tekst przechowywany w cookie, bez żadnego automatycznego powiązania z czasem.
Z mojego doświadczenia takie pomyłki biorą się też z porównywania do innych technologii, gdzie czas ustawia się np. w minutach. W PHP (i generalnie w mechanizmie UNIX time) wszystko liczymy w sekundach. Dlatego dobre praktyki mówią, żeby zawsze jawnie pisać wyrażenia typu 60 * 60 (godzina), 60 * 60 * 24 (doba), zamiast samego „3600” czy „86400”, bo to od razu sugeruje, o jaką jednostkę chodzi i ogranicza ryzyko złej interpretacji. Jeżeli programista nie rozumie tej konwencji, będzie projektował mechanizmy sesji, logowania czy koszyków zakupów z błędnymi czasami życia ciasteczek, co może prowadzić do irytujących sytuacji dla użytkownika, a nawet do problemów z bezpieczeństwem (np. zbyt długie przechowywanie wrażliwych informacji). Dlatego tak ważne jest, żeby przy każdym użyciu setcookie() świadomie przeliczać czas na sekundy i nie sugerować się nazwą ani wartością samego ciasteczka.

Pytanie 29

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

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

Pytanie 30

W programie do grafiki wektorowej stworzono zaprezentowany kształt, który został uzyskany z dwóch figur: trójkąta oraz koła. Aby utworzyć ten kształt, po narysowaniu figur i ich odpowiednim umiejscowieniu, należy zastosować funkcję

Ilustracja do pytania
A. rozdzielenia
B. różnicy
C. sumy
D. wykluczenia
Różnica w edytorach grafiki wektorowej odnosi się do operacji boolean, która usuwa część jednego kształtu na podstawie innego. Zastosowanie różnicy w tym kontekście nie byłoby poprawne, ponieważ nie dąży się do usunięcia części figury, lecz do ich połączenia. Rozdzielenie to proces odwrotny do łączenia, polegający na dzieleniu złożonych kształtów na mniejsze komponenty, co jest używane, gdy trzeba edytować poszczególne części odrębnie. Wykluczenie to funkcja często używana do tworzenia złożonych masek lub wzorów poprzez uzyskanie obszaru, który nie jest wspólny dla dwu kształtów, co również nie odpowiada naszemu celowi połączenia figur. Typowym błędem przy stosowaniu tych operacji jest brak zrozumienia, że każda z tych funkcji ma specyficzne zastosowania i efekty w grafice wektorowej. Zamiast połączenia w całość, uzyskalibyśmy skomplikowany zestaw kształtów, co mogłoby utrudnić dalszą edycję i optymalizację projektu. Dlatego ważne jest zrozumienie różnic między tymi operacjami, aby efektywnie i precyzyjnie pracować z grafiką wektorową, co jest kluczowe w profesjonalnym środowisku projektowym. Każda z tych funkcji ma swoje miejsce w procesie projektowania, a ich odpowiednie zastosowanie pozwala uzyskać zamierzony efekt w sposób efektywny i zgodny z dobrymi praktykami branżowymi. Zrozumienie tych zasad jest niezbędne dla tworzenia profesjonalnych i funkcjonalnych projektów graficznych.

Pytanie 31

Którym znacznikiem wstawić listę NUMEROWANĄ (uporządkowaną)?

A.
<ul>
B.
<ol>
C.
<dl>
D.
<li>
Pozostałe znaczniki tworzą co innego. <ul> to lista PUNKTOWANA (z kropkami, bez numerów). <dl> to lista definicji (pary termin-opis). <li> to pojedynczy ELEMENT listy, a nie cała lista - musi znaleźć się wewnątrz <ol> lub <ul>. Listę numerowaną tworzy <ol>.

Pytanie 32

Którą instrukcją można zastąpić pętlę for?

A.
switch
B.
while
C.
case
D.
continue
Pętlę for można zastąpić pętlą while - obie powtarzają kod, dopóki warunek jest prawdziwy, tyle że licznik i krok w while zapisuje się osobno. Dlatego zamiennikiem for jest while.

Pytanie 33

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zmiana jasności zdjęć.
C. Zwiększenie ostrości zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 34

W HTML, aby dodać obrazek z tekstem przylegającym, umiejscowionym na środku obrazka, trzeba użyć znacznika

A. <img src="/obrazek.png" alt="obraz2" align="middle">tekst
B. <img src="/obrazek.png" alt="obraz3" height="50%">tekst
C. <img src="/obrazek.png" alt="obraz4">tekst
D. <img src="/obrazek.png" alt="obraz1" hspace="30px">tekst
Aby wstawić obrazek z tekstem przyległym w HTML, należy skorzystać ze znacznika <img> z atrybutem align ustawionym na 'middle'. Atrybut align jest przestarzały w HTML5, ale nadal może być używany w kontekście tekstów przylegających do obrazków. Ustawiając 'middle', obrazek będzie wyśrodkowany w pionie względem linii tekstu, co pozwala na estetyczne umiejscowienie obrazu w odniesieniu do towarzyszącego mu tekstu. Dobrym przykładem jest zastosowanie <img src='/obrazek.png' alt='obraz2' align='middle'>tekst, co sprawia, że obrazek staje się integralną częścią tekstu, a nie tylko jego dodatkiem. W kontekście standardów, warto zauważyć, że HTML5 zaleca stosowanie CSS do pozycjonowania, dlatego bardziej współczesnym podejściem byłoby użycie stylów CSS, np. 'vertical-align: middle'. Można to osiągnąć poprzez dodanie klasy do obrazka oraz odpowiedniego stylu CSS. Chociaż align jest przestarzały, jego rozumienie jest istotne dla osób przystosowujących starsze strony do nowych standardów.

Pytanie 35

Prezentowany blok kodu ilustruje proces

Ilustracja do pytania
A. realizacji zadania w pętli
B. użycia zdefiniowanej procedury lub funkcji
C. podjęcia decyzji
D. załadowania lub wyświetlenia informacji
Symbol przedstawiony na obrazku to romb który w diagramach przepływu algorytmów i schematach blokowych oznacza podjęcie decyzji Jest to kluczowy element w programowaniu i inżynierii oprogramowania używany do podejmowania decyzji lub wyrażania warunków logicznych Decyzja to punkt w programie gdzie przetwarzanie może podążać różnymi ścieżkami w zależności od spełnienia określonych warunków Na przykład w językach programowania takich jak Python lub Java warunek if-else jest używany do podjęcia decyzji w zależności od wartości logicznych Wyobraźmy sobie sytuację w której program ma zdecydować czy użytkownik jest pełnoletni W takim przypadku instrukcja if sprawdza warunek wiek użytkownika większy lub równy 18 i w zależności od tego wykonuje odpowiednie instrukcje Takie podejście jest zgodne z dobrymi praktykami programowania które kładą nacisk na klarowność kodu i jego elastyczność Dzięki temu programiści mogą tworzyć bardziej złożone systemy które reagują na różne scenariusze i dostosowują swoje działanie do dynamicznie zmieniających się warunków co jest kluczowe w projektowaniu skalowalnych i efektywnych rozwiązań

Pytanie 36

Funkcja agregująca MIN w języku SQL służy do obliczenia:

A. średniej wartości pól rekordu
B. minimalnej wartości w kolumnie zwróconej przez kwerendę
C. liczby znaków w zwróconych rekordach
D. liczby wierszy zwróconych przez kwerendę
Funkcja agregująca MIN zwraca najmniejszą wartość z podanej kolumny, np. SELECT MIN(cena) FROM produkty poda najniższą cenę. Należy do rodziny funkcji agregujących obok MAX (maksimum), AVG (średnia), SUM (suma) i COUNT (liczność). Działa na kolumnach liczbowych, ale też tekstowych (porządek alfabetyczny) i datach (najwcześniejsza). Często łączy się ją z GROUP BY, by wyznaczyć minimum w każdej grupie. Dlatego MIN oblicza minimalną wartość kolumny.

Pytanie 37

Instrukcję transakcyjną ROLLBACK wydaje się, aby:

A. zatwierdzić tylko wybrane zmiany transakcji
B. zatwierdzić transakcję
C. cofnąć transakcję już po wykonaniu COMMIT
D. cofnąć (wycofać) zmiany wykonane w transakcji
Pozostałe odpowiedzi mylą rolę ROLLBACK z innymi działaniami. Zatwierdzenie transakcji - utrwalenie zmian - wykonuje COMMIT, a nie ROLLBACK. Zatwierdzenie tylko wybranych zmian również nie jest jego zadaniem; do częściowego wycofania służy mechanizm punktów zapisu (SAVEPOINT i ROLLBACK TO). Cofnięcie transakcji po wykonaniu COMMIT jest niemożliwe - zatwierdzone zmiany są trwałe. ROLLBACK cofa zmiany jeszcze niezatwierdzonej transakcji, dlatego ta odpowiedź jest poprawna.

Pytanie 38

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';
Wskaź, które zapytanie zwróci te same dane.
A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
Wszystkie niepoprawne odpowiedzi zawierają błędy syntaktyczne lub logiczne, które uniemożliwiają prawidłowe wykonanie zapytania. W pierwszej odpowiedzi użycie aliasu 'AS' jest niewłaściwe w tym kontekście, ponieważ nie można zastosować aliasu dla warunku w klauzuli WHERE. SQL nie interpretuje 'OR' w ten sposób, co powoduje, że zapytanie nie zwróci żadnych wyników. Druga odpowiedź z zastosowaniem klauzuli HAVING jest także błędna, ponieważ HAVING służy do filtrowania wyników po agregacji, a nie do prostego filtrowania danych w kolumnach. W tym przypadku poprawne byłoby użycie WHERE, które jest dedykowane do tego celu. Ostatnia odpowiedź z użyciem 'BETWEEN' jest zupełnie nieprawidłowa, ponieważ operator BETWEEN oczekuje dwóch wartości do porównania oraz nie może być używany z wieloma wartościami za pomocą 'OR'. W przypadku miast, powinno się stosować warunek, który precyzyjnie zdefiniuje, które miasta mają być brane pod uwagę, co w tej sytuacji nie zostało spełnione. Te błędy wskazują na nieprawidłowe zrozumienie zasad działania SQL oraz różnic pomiędzy operatorami logicznymi.

Pytanie 39

Którego atrybutu użyć, aby scalić w POZIOMIE dwie sąsiednie komórki w wierszu tabeli?

A.
cellpadding
B.
colspan
C.
cellspacing
D.
rowspan
Trzeba odróżnić scalanie poziome od pionowego. rowspan łączy komórki w PIONIE (przez wiersze). cellpadding i cellspacing to atrybuty całej tabeli sterujące odstępami, a nie scalaniem. Poziome scalanie komórek daje colspan.

Pytanie 40

Które z poniższych stwierdzeń na temat klucza głównego jest prawdziwe?

A. Może przyjmować wyłącznie wartości liczbowe
B. Jest unikalny dla danej tabeli
C. Składa się wyłącznie z jednego pola
D. W przypadku tabeli z danymi osobowymi może to być pole nazwisko
Klucz podstawowy to atrybut (lub zbiór atrybutów) w tabeli, który jednoznacznie identyfikuje każdy wiersz w tej tabeli. Jego unikalność w obrębie tabeli jest kluczowa, ponieważ pozwala na zapobieganie duplikatom i zapewnia integralność danych. Na przykład, w tabeli przechowującej informacje o klientach, kolumna z identyfikatorem klienta (np. ID klienta) powinna być kluczem podstawowym, ponieważ każdy klient musi mieć unikalny identyfikator. Standardy baz danych, takie jak model relacyjny, podkreślają znaczenie kluczy podstawowych w zapewnieniu stabilności i efektywności w przechowywaniu danych. Użycie klucza podstawowego również wpływa na wydajność operacji wyszukiwania i łączenia tabel, dlatego w projektowaniu baz danych należy starannie dobierać atrybuty, które będą pełnić tę rolę, aby spełniały wymagania unikalności oraz wydajności.