Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 6 lipca 2026 19:34
  • Data zakończenia: 6 lipca 2026 19:58

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

Na stronie www znajduje się formularz, do którego należy stworzyć następujące funkcje: walidacja: w czasie wypełniania formularza na bieżąco kontrolowana jest poprawność danych, przesyłanie danych: po zrealizowaniu formularza i jego zatwierdzeniu, dane są przekazywane do bazy danych na serwerze. Aby zrealizować tę funkcjonalność w jak najprostszy sposób, należy zapisać

A. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
B. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
C. walidację oraz przesyłanie danych w języku JavaScript
D. walidację oraz przesyłanie danych w języku PHP
Walidacja danych w formularzu powinna być przeprowadzana po stronie klienta, co oznacza, że najwłaściwszym rozwiązaniem jest wykorzystanie języka JavaScript. Taki sposób umożliwia natychmiastowe informowanie użytkownika o błędach, co znacząco poprawia doświadczenia użytkowników. Przykłady zastosowania obejmują sprawdzanie, czy pola są puste, czy wprowadzony adres e-mail ma odpowiedni format oraz czy hasło spełnia określone kryteria. Po zatwierdzeniu formularza, dane powinny być przesyłane do serwera, gdzie można je obsłużyć i zapisać w bazie danych. W tym kontekście wykorzystanie języka PHP jest idealnym rozwiązaniem, ponieważ PHP jest popularnym językiem skryptowym do obsługi backendu i pracy z bazami danych. Serwerowa walidacja danych jest również konieczna dla zapewnienia bezpieczeństwa i integralności danych znajdujących się w bazie. W praktyce, mogą wystąpić sytuacje, w których użytkownik wyłączy JavaScript, dlatego niezbędne jest, aby walidacja odbywała się również po stronie serwera, jednak głównym celem jest zapewnienie wstępnej walidacji na poziomie klienta.

Pytanie 2

Na ilustracji przedstawiono projekt struktury bloków strony internetowej. Przy założeniu, że bloki są realizowane przy użyciu znaczników sekcji, ich stylizacja w CSS, poza określonymi szerokościami dla bloków: 1, 2, 3, 4 (blok 5 nie ma przypisanej szerokości), powinna obejmować właściwość

Ilustracja do pytania
A. clear: both dla wszystkich bloków
B. float: left dla wszystkich bloków
C. clear: both dla bloku 5 oraz float: left dla pozostałych bloków
D. clear: both dla bloku 5 oraz float: left tylko dla bloków 1 i 2
Czwarta odpowiedź jest na miejscu, bo dzięki float: left dla bloków 1, 2, 3 i 4, te elementy będą się ładnie ustawiać w linii, zgodnie z ich szerokością. Potem, z clear: both dla bloku 5, unikniesz sytuacji, gdy nachodzi on na inne pływające bloki i pojawi się poniżej nich. Wiesz, float często stosuje się do robienia układów, gdzie elementy muszą być obok siebie. Ale float ma to do siebie, że nie wpływa na rodziców, co czasami sprawia, że wszystko może się zdezorganizować, jeśli nie użyjesz clear. To też jest ważne, bo clear mówi, które elementy nie powinny nachodzić na te pływające - dzięki temu wszystko jest uporządkowane. Dobrze jest to wykorzystać, na przykład, gdy chcesz zrobić kolumny na stronie. Generalnie, stosowanie float jest jak najbardziej w porządku, ale musi iść w parze z clear, żeby strona była czytelna i dobrze zorganizowana, zgodnie ze standardami HTML i CSS.

Pytanie 3

Jaką czynność należy wykonać przed zrobieniem kopii zapasowej danych w MySQL?

A. ustalenie systemu kodowania znaków w bazie
B. zweryfikowanie poprawności tabel w bazie oraz ewentualne naprawienie usterek
C. sprawdzenie, czy baza działa wystarczająco wydajnie
D. przyznanie uprawnień do przeglądania bazy dla Administratora
Sprawdzenie poprawności tabel w bazie przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który pozwala na zapewnienie integralności danych. W przypadku, gdy w tabelach występują błędy, takie jak uszkodzone wiersze czy niedopasowane indeksy, proces tworzenia kopii zapasowej może nie uwzględnić tych problemów, co w konsekwencji prowadzi do utraty danych lub trudności w ich przywróceniu. W MySQL, przed rozpoczęciem backupu, zaleca się użycie polecenia 'CHECK TABLE' do weryfikacji stanu tabel. Przykładowo, jeśli tabela 'users' jest sprawdzana i wykryto błąd, można zastosować 'REPAIR TABLE', aby naprawić uszkodzenia. Dobrą praktyką w branży jest regularne tworzenie kopii zapasowych oraz prowadzenie audytów jakości danych, co pozwala na minimalizację ryzyka utraty informacji. Utrzymywanie bazy danych w dobrym stanie technicznym poprzez regularne sprawdzanie tabel oraz ich naprawianie jest zalecane w dokumentacji MySQL oraz innych systemów zarządzania bazami danych, co podkreśla znaczenie tego procesu w kontekście bezpieczeństwa danych.

Pytanie 4

Który kod oznacza kolor o odcieniu NIEBIESKIM?

A.
#0000EE
B.
#00EE00
C.
#EE0000
D.
#EE00EE
W zapisie #RRGGBB ostatnia para to niebieski. #0000EE ma zerowy czerwony i zielony, a wysoką składową niebieską - więc kolor jest NIEBIESKI. Dlatego niebieski to #0000EE.

Pytanie 5

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. aside {float: left; }
D. nav { float: right; } section { float: right; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. <aside>, potem <section>, a na końcu <nav>, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie.

W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie.

Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 6

Który z podanych formatów plików jest formatem rastrowym?

A. CDR
B. SVG
C. SWF
D. TIFF
Pozostałe formaty nie są rastrowe. SVG to grafika wektorowa - opisuje obraz krzywymi i kształtami, więc skaluje się bez utraty jakości. CDR to format projektów wektorowych programu CorelDRAW. SWF to format animacji i aplikacji technologii Flash, a nie pojedynczego, pikselowego obrazu. Obraz złożony z pikseli (raster) przechowuje TIFF, dlatego ta odpowiedź jest poprawna.

Pytanie 7

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie zastosowany

Ilustracja do pytania
A. dla wszystkich odwiedzonych odnośników
B. dla każdego odnośnika bez względu na jego aktualny stan
C. odnośnikowi, gdy kursor myszy na nim spocznie
D. dla wszystkich nieodwiedzonych odnośników
Pseudoklasa hover w CSS jest stosowana do definiowania stylu elementu, gdy użytkownik umieszcza nad nim kursor myszy. W kontekście odnośników, stosowanie pseudoklasy hover pozwala na dynamiczne dostosowywanie ich wyglądu, co jest kluczowe dla poprawy interaktywności i użyteczności stron internetowych. W przykładzie a:hover { font-weight: bold; } styl pogrubiony zostanie zastosowany do odnośnika, gdy użytkownik najedzie na niego kursorem myszy. Jest to częsta praktyka w projektowaniu stron, która pomaga użytkownikom łatwiej identyfikować aktywne elementy nawigacyjne. Standardy sieciowe, takie jak W3C, rekomendują stosowanie takich interakcji w celu poprawy doświadczenia użytkownika. Praktyczne zastosowanie pseudoklasy hover jest szerokie, od prostych efektów wizualnych, po skomplikowane animacje i przejścia. Ważne jest jednak, aby pamiętać o zapewnieniu alternatywnych metod interakcji dla użytkowników korzystających z urządzeń dotykowych, gdzie hover nie jest obsługiwany. Zrozumienie i właściwe stosowanie pseudoklas w CSS jest podstawą tworzenia nowoczesnych i dostępnych interfejsów użytkownika.

Pytanie 8

Polecenie DBCC CHECKDB 'sklepAGD', Repair_fast) w systemie MS SQL Server

A. potwierdzi spójność bazy danych i utworzy kopię zapasową
B. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
C. zweryfikuje spójność danej tabeli
D. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
Polecenie DBCC CHECKDB 'sklepAGD' z opcją Repair_fast jest kluczowym narzędziem w zarządzaniu bazami danych w MS SQL Server, które służy do sprawdzenia integralności bazy danych oraz do naprawy uszkodzonych indeksów. Gdy podczas przetwarzania danych wykryte zostaną jakiekolwiek błędy spójności, DBCC CHECKDB generuje szczegółowy raport, który pomaga administratorowi w zrozumieniu stanu bazy. W kontekście zastosowań praktycznych, regularne korzystanie z DBCC CHECKDB jest zalecane jako część strategii utrzymania bazy danych, zwłaszcza w środowiskach produkcyjnych. Właściwe zarządzanie bazą danych, w tym regularne sprawdzanie jej spójności, może zapobiec poważnym awariom, które mogłyby prowadzić do utraty danych. Dobre praktyki branżowe sugerują, aby polecenie to było wykonywane w oknach konserwacyjnych, aby minimalizować wpływ na wydajność systemu, a także aby backups były wykonywane przed rozpoczęciem jakichkolwiek operacji naprawczych. Ponadto, zrozumienie działania DBCC CHECKDB i jego opcji, takich jak Repair_fast, jest niezbędne dla każdego administratora baz danych, aby skutecznie zarządzać problemami związanymi z integralnością danych.

Pytanie 9

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

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

Pytanie 10

Na ilustracji przedstawiono kompozycję bloków strony www. Który z elementów formatowania strony odpowiada temu układowi? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. Odpowiedź 1: A
B. Odpowiedź 4: D
C. Odpowiedź 3: C
D. Odpowiedź 2: B
Odpowiedź B jest naprawdę na czasie! Widzisz, użyto tutaj techniki pływającego układu z CSS, czyli float i clear. Pierwszy blok pływa w lewo, ma 30% szerokości, dzięki czemu obok niego mogą stać drugi i trzeci blok, które też pływają w lewo i zajmują 70%. To pozwala na ułożenie elementów w jednej linii, o ile kontener ma wystarczająco miejsca. W sumie, float to klasyka przy układach wielokolumnowych, chociaż obecnie sporo osób korzysta z Flexboxa lub Grid Layout. Zauważ, że blok czwarty ma clear:both, więc zacznie się poniżej wcześniejszych elementów pływających. To ważne, bo dzięki temu unikamy problemów z nałożeniem się treści. Zachowanie porządku w układzie jest kluczowe, szczególnie w responsywnym web designie. Tego typu układy są całkiem popularne na stronach z wieloma kolumnami, gdzie elastyczność szerokości ma duże znaczenie.

Pytanie 11

Automatyczna weryfikacja właściciela witryny udostępnianej przez protokół HTTPS jest możliwa dzięki:

A. kluczom prywatnym
B. danym whois
C. certyfikatowi SSL
D. danym kontaktowym na stronie
HTTPS opiera się na certyfikacie SSL/TLS, który serwer przedstawia przeglądarce. Certyfikat wydaje zaufany urząd certyfikacji (CA) po sprawdzeniu, że wnioskodawca kontroluje daną domenę, a często i tożsamości podmiotu. Przeglądarka automatycznie weryfikuje go i pokazuje kłódkę. Dlatego potwierdzenie właściciela witryny umożliwia certyfikat SSL.

Pytanie 12

Przedstawiony algorytm umożliwia wyliczenie

Ilustracja do pytania
A. średniej arytmetycznej n liczb a wprowadzonych przez użytkownika.
B. najmniejszego wspólnego dzielnika dla n kolejnych liczb a.
C. średniej geometrycznej n liczb a wprowadzonych przez użytkownika.
D. reszty z dzielenia kolejnych liczb a przez liczbę n.
Na diagramie widać dość typowy schemat algorytmu: wczytanie n, zainicjowanie zmiennych, pętla z licznikiem i i na końcu pojedyncza operacja dzielenia. Taki układ często myli osoby początkujące, bo łatwo go skojarzyć z innymi pojęciami matematycznymi. Warto więc spokojnie prześledzić logikę. Najpierw ustalana jest liczba elementów n. Potem zmienna Wynik jest ustawiana na 0, a i na 0, więc mamy klasyczne przygotowanie do sumowania w pętli. Warunek i < n powoduje, że ciało pętli wykona się dokładnie n razy. W każdej iteracji wczytywana jest jedna liczba a, a następnie Wynik = Wynik + a. To jest zwykłe sumowanie wszystkich podanych wartości. Dopiero po wyjściu z pętli następuje pojedyncza operacja Wynik = Wynik / n. To wyklucza interpretację w stylu „reszta z dzielenia” lub „najmniejszy wspólny dzielnik”, bo w algorytmie nie ma ani operatora modulo, ani żadnej logiki opartej na dzielnikach, porównywaniu reszt, iteracyjnej redukcji NWD itp. Dla średniej geometrycznej potrzebne byłoby mnożenie wszystkich wartości, a na końcu pierwiastek n-tego stopnia. Tutaj nie ma ani mnożenia w pętli, ani pierwiastkowania, więc średnia geometryczna odpada. Typowym błędem myślowym jest patrzenie tylko na końcowe dzielenie przez n i dopowiadanie sobie różnych znaczeń: że to reszta, że to jakiś „wspólny dzielnik” albo inna bardziej skomplikowana operacja. Tymczasem według dobrych praktyk analizy algorytmów trzeba zawsze prześledzić pełny przebieg: co się dzieje z każdą zmienną w każdej iteracji pętli. Wtedy widać jasno, że algorytm realizuje sumę n wczytanych liczb i na końcu dzieli tę sumę przez n, czyli liczy zwykłą średnią arytmetyczną. W kontekście podstaw informatyki to klasyczny wzorzec: inicjalizacja, pętla z akumulacją, przetworzenie wyniku po zakończeniu pętli.

Pytanie 13

Podaj zapis w języku JavaScript, który sprawdzi, czy spełniony jest przynajmniej jeden z następujących warunków: 1) dowolna liczba naturalna a jest liczbą trzycyfrową, 2) dowolna liczba całkowita b jest liczbą ujemną?

A. ((a>99) || (a<1000)) || (b<0)
B. ((a>99) || (a<1000)) && (b<0)
C. ((a>99) && (a<1000)) || (b<0)
D. ((a>99) && (a<1000)) && (b<0)
Odpowiedź ((a>99) && (a<1000)) || (b<0) jest prawidłowa, ponieważ warunek ten skutecznie sprawdza, czy dowolna naturalna liczba a jest trzycyfrowa lub czy dowolna całkowita liczba b jest ujemna. Część wyrażenia (a>99) && (a<1000) weryfikuje, czy liczba a jest w przedziale od 100 do 999, co definiuje liczby trzycyfrowe. Z kolei druga część (b<0) sprawdza, czy liczba b jest mniejsza od zera. Całość połączona jest operatorem OR (||), co oznacza, że wystarczy spełnienie jednego z tych warunków, aby cały warunek był spełniony. W praktyce, takie wyrażenia są powszechnie stosowane w programowaniu, szczególnie w formularzach walidacyjnych, gdzie ważne jest, aby dane wprowadzone przez użytkowników spełniały określone kryteria. Dobrą praktyką jest dbałość o czytelność kodu i stosowanie odpowiednich nazw zmiennych, co ułatwia zrozumienie logiki działania aplikacji. Warto również pamiętać o testowaniu różnych przypadków, aby upewnić się, że warunki działają zgodnie z zamierzeniami, co jest kluczowe w zapewnieniu wysokiej jakości oprogramowania.

Pytanie 14

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. ustawić wartość pola Uczen na 1
B. powiększyć wartość pola Uczen o jeden
C. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
D. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1 ma na celu zwiększenie wartości kolumny id_klasy o jeden dla każdego rekordu w tabeli Uczen Jest to typowa operacja w bazach danych gdy chcemy przeprowadzić masową aktualizację wartości w konkretnym polu W tym przypadku kolumna id_klasy jest modyfikowana tak aby każda jej wartość została zwiększona o jeden Jest to szczególnie przydatne w scenariuszach gdzie wartości identyfikatorów czy indeksów muszą być zwiększone ze względu na zmiany struktury danych lub w celu dostosowania do nowych wymagań Możliwość masowej aktualizacji danych jest jednym z głównych powodów dla których SQL jest tak potężnym narzędziem w zarządzaniu bazami danych Operacje tego typu wymagają jednak ostrożności aby uniknąć niepożądanych zmian które mogą wpływać na integralność danych Dlatego też dobre praktyki branżowe zalecają zawsze wykonywanie kopii zapasowych danych przed przeprowadzeniem tego typu operacji oraz dokładne sprawdzenie logiki biznesowej która za nimi stoi Zwrócenie uwagi na wydajność oraz potencjalne blokady przy jednoczesnym dostępie do bazy to również kluczowe aspekty o których należy pamiętać w środowiskach produkcyjnych

Pytanie 15

Których funkcji użyć, aby po operacji na bazie uzyskać NUMER błędu oraz jego OPIS?

A.
mysqli_error
i
mysqli_errno
B.
mysqli_error
i
mysqli_error_number
C.
mysqli_error
i
mysqli_connect_errno
D. tylko
mysqli_error
Gdy zapytanie się nie powiedzie, warto poznać i numer błędu, i jego opis - to dwie różne funkcje pracujące w parze: mysqli_errno($polaczenie) zwraca liczbowy KOD błędu (np. 1064), a mysqli_error($polaczenie) jego tekstowy OPIS (np. „You have an error in your SQL syntax”). W praktyce loguje się oba: numer ułatwia automatyczne rozpoznanie problemu, a opis - szybką diagnozę przez człowieka. Zapamiętaj: „errno” = numer (number), „error” = opis.

Pytanie 16

W języku JavaScript, aby uzyskać element wykorzystując metodę getElementById, jaką właściwością można zmienić jego zawartość?

A. Body
B. innerHTML
C. innerBody
D. HTML
Właściwość innerHTML jest kluczowym elementem manipulacji zawartością DOM (Document Object Model) w JavaScript. Umożliwia ona programistom dostęp do zawartości danego elementu HTML oraz jej modyfikację. Gdy pobieramy element za pomocą metody getElementById, mamy możliwość bezpośredniego zmienienia jego treści poprzez przypisanie nowego stringa do innerHTML. Przykładowo, jeśli mamy element o identyfikatorze 'myElement', możemy zaktualizować jego zawartość w następujący sposób: document.getElementById('myElement').innerHTML = 'Nowa treść!';. To podejście jest powszechnie stosowane w dynamicznych aplikacjach internetowych, gdzie treść na stronie musi być często aktualizowana w odpowiedzi na działania użytkownika. Warto jednak pamiętać, że użycie innerHTML niesie ze sobą pewne ryzyko związane z bezpieczeństwem, takie jak podatność na ataki XSS (Cross-Site Scripting). Dlatego zaleca się stosowanie tej właściwości z ostrożnością i rozważenie alternatyw, jak np. textContent, w przypadku, gdy nie potrzebujemy interpretować HTML. Dobrą praktyką jest również walidacja i sanitizacja danych wejściowych, aby zminimalizować ryzyko związane z wstrzyknięciem niepożądanych skryptów. W kontekście standardów kodowania, zasadniczo zaleca się preferowanie metod, które nie tylko poprawiają bezpieczeństwo, ale także czytelność kodu.

Pytanie 17

W przedstawionej definicji stylu CSS, powtarzanie dotyczy

body {
  background-image: url("rysunek.gif");
  background-repeat: repeat-y;
}
A. tła każdego ze znaczników akapitu.
B. rysunku umieszczonego w tle strony w pionie.
C. rysunku umieszczonego znacznikiem img.
D. rysunku umieszczonego w tle strony w poziomie.
Twoja odpowiedź jest na miejscu. To, co mówi 'background-repeat: repeat-y;' w CSS, oznacza, że tło będzie się powtarzać w pionie. Super sprawa, jeśli chcesz, by obraz w tle pokrywał całą wysokość elementu, niezależnie od tego, jak duży on jest. Używa się tego często w projektowaniu stron, żeby stworzyć fajne efekty wizualne, jak na przykład tło, które działa w pasku nawigacyjnym. Warto pamiętać, że powtarzanie tła to zaledwie jedna z wielu opcji, jakie mamy w CSS. Możesz również ustawiać pozycję tła czy jego rozmiar, żeby wszystko wyglądało tak, jak chcesz.

Pytanie 18

Gdzie należy umieścić znacznik meta w języku HTML?

A. w stopce strony internetowej
B. między znacznikami body
C. w sekcji nagłówkowej strony internetowej
D. między znacznikami paragrafu
Znacznik meta w języku HTML jest kluczowym elementem, który powinien być umieszczony w części nagłówkowej (head) dokumentu. Znaczniki meta służą do definiowania różnych informacji o stronie, takich jak zestaw znaków, opis, słowa kluczowe, autor oraz inne istotne dane, które nie są bezpośrednio wyświetlane na stronie. Przykładowo, znacznik meta z atrybutem 'charset' informuje przeglądarki, w jaki sposób interpretować znaki na stronie, co jest szczególnie ważne dla prawidłowego wyświetlania treści w różnych językach. Standardy HTML5 zalecają umieszczanie znaczników meta w nagłówku, aby umożliwić optymalizację SEO, co zwiększa widoczność strony w wynikach wyszukiwania. Dobrą praktyką jest również dodanie opisu strony przy pomocy znacznika meta 'description', co pozwala wyszukiwarkom na lepsze zrozumienie tematyki strony oraz zwiększa klikalność w wynikach wyszukiwania.

Pytanie 19

Wskaż zapis stylu CSS formatujący punktor list numerowanych na wielkie cyfry rzymskie, a list punktowanych na kwadraty.

A. ol { list-style-type: upper-alpha; }
   ul { list-style-type: disc; }

B. ol { list-style-type: square; }
   ul { list-style-type: upper-roman; }

C. ol { list-style-type: disc; }
   ul { list-style-type: upper-alpha; }

D. ol { list-style-type: upper-roman; }
   ul { list-style-type: square; }
A. A.
B. B.
C. C.
D. D.
Gratulacje, twoja odpowiedź jest poprawna! Wybór opcji D. odnosi się do poprawnego formatowania list w CSS. Odpowiedź pokazuje dobrą znajomość właściwości list-style-type, która jest kluczowa do formatowania typów list. W tym przypadku, dla listy numerowanej (ol), jest ustawiona wartość upper-roman, która reprezentuje wielkie cyfry rzymskie. Dla listy punktowanej (ul) ustawiamy wartość square, co daje efekt punktów w formie kwadratów. To właśnie takie formatowanie list jest preferowane w branży ze względu na jego estetykę i czytelność. Pamiętaj, że zrozumienie i umiejętność manipulacji różnymi właściwościami CSS jest kluczem do tworzenia atrakcyjnych i funkcjonalnych stron internetowych.

Pytanie 20

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. wyśrodkowane, pisane małymi literami, a odstępy między liniami ustalone na 10 px
C. wyśrodkowane, pisane wielkimi literami, a odstępy między literami ustalone na 10 px
D. wyjustowane, pisane wielkimi literami, a odstępy między liniami 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 21

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. jest błędny, nieznany operator =>
B. jest błędny, indeksami tablicy mogą być tylko liczby całkowite.
C. definiuje tablicę z trzema wartościami.
D. definiuje tablicę z sześcioma wartościami.
Dobra robota, wybrałeś właściwą odpowiedź! Ten kod PHP, który analizujesz, rzeczywiście ustawia tablicę asocjacyjną z trzema parami klucz-wartość. Tak naprawdę tablica asocjacyjna to coś w stylu tablicy, gdzie każdemu elementowi przypisujesz unikalny klucz zamiast numeru indeksu. No i ten operator '=>' to typowy element PHP, służy do przypisywania wartości kluczom w tablicach. W twoim przykładzie widzisz, że kluczami mogą być nie tylko liczby, ale też łańcuchy tekstowe. To naprawdę przydatne, szczególnie przy przechowywaniu informacji, które łatwo zidentyfikować – na przykład numery telefonów czy adresy e-mail. Pamiętaj, że w PHP tablica to jedna z podstawowych struktur danych. Może trzymać różne typy danych, takie jak liczby, teksty, obiekty czy inne tablice, a jej rozmiar może się zmieniać w trakcie działania programu.

Pytanie 22

Jaki wynik pojawi się po wykonaniu zaprezentowanego kodu HTML?

Ilustracja do pytania
A. Odpowiedź C
B. Odpowiedź A
C. Odpowiedź B
D. Odpowiedź D
Odpowiedź D jest prawidłowa, ponieważ prezentowany kod HTML zawiera zagnieżdżone listy uporządkowane i nieuporządkowane. Zewnętrzna lista uporządkowana zaczyna się od numeru 1 i zawiera elementy li, gdzie drugi z nich zawiera w sobie listę nieuporządkowaną ul. Taka struktura jest zgodna ze standardami HTML i pozwala na efektywne prezentowanie hierarchii informacji. Co ważne, dodatkowy element ol z atrybutami type=A i start=4 generuje listę literową zaczynającą się od D, co jest wykorzystywane do tworzenia niestandardowych punktów startowych w listach uporządkowanych. Praktycznie, listy zagnieżdżone są używane do tworzenia bardziej złożonych struktur danych, jak instrukcje czy spisy treści. Korzystając z atrybutów type i start, możemy manipulować prezentacją list, co jest przydatne w rozwijających się serwisach internetowych. Zastosowanie atrybutu type z wartościami A, a, I itp., pozwala na zmianę stylu numerowania, co jest zgodne z dobrymi praktykami projektowania stron.

Pytanie 23

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

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. zbioru
B. klasy
C. obiektu
D. tablicy
Definicja przedstawiona na obrazku odpowiada tablicy w języku JavaScript. Tablice w JavaScript są typem obiektu, który pozwala na przechowywanie wielu wartości w jednej zmiennej. W tym przypadku zmienna imiona zawiera listę stringów reprezentujących imiona. Tablice w JavaScript są dynamiczne co oznacza że ich rozmiar można zmieniać podczas działania programu. Dostęp do poszczególnych elementów tablicy uzyskuje się za pomocą indeksów które zaczynają się od zera. Na przykład pierwszy element tej tablicy to imiona[0] czyli Anna. JavaScript oferuje wiele metod do manipulacji tablicami takich jak push do dodawania elementów na końcu tablicy pop do usuwania ostatniego elementu czy map do tworzenia nowej tablicy na podstawie istniejącej poprzez zastosowanie funkcji do każdego elementu. Zrozumienie działania tablic jest kluczowe dla efektywnego programowania w JavaScript ponieważ są one podstawowym narzędziem do przechowywania i zarządzania danymi.

Pytanie 24

Który z poniższych fragmentów kodu HTML5 zostanie uznany za niepoprawny przez walidator HTML?

A. <pre>&lt;p class= &quot;stl&quot;&gt;&lt;style&gt;.a{color:#F00}&lt;/style&gt;tekst&lt;/p&gt;</pre>
B. <pre>&lt;p class= &quot;stl&quot;&gt;tekst&lt;/p&gt;</pre>
C. <pre>&lt;p class= &quot;stl&quot; id= &quot;a&quot;&gt;tekst&lt;/p&gt;</pre>
D. <pre>&lt;p class= &quot;stl&quot; style= &quot;color: #F00 &quot;&gt;tekst&lt;/p&gt;</pre>
Niepoprawne odpowiedzi zawierają różne błędy, które wynikają z nieznajomości podstawowych zasad struktury HTML5. W pierwszym przykładzie, mimo że kod jest poprawny syntaktycznie, nie wprowadza on żadnych złożonych błędów. Jednakże, ważne jest, aby zrozumieć, że atrybuty takie jak 'class' oraz 'id' powinny być stosowane z umiarem i zgodnością z zasadami semantyki. W drugim przypadku, umieszczenie tagu &lt;style&gt; wewnątrz tagu &lt;p&gt; jest niezgodne z najlepszymi praktykami. Tego typu praktyki mogą prowadzić do zamieszania oraz trudności w zarządzaniu stylem na stronie, a także mogą przyczyniać się do problemów z dostępnością. Należy pamiętać, że HTML5 kładzie duży nacisk na semantykę, co oznacza, że każdemu elementowi należy przypisać odpowiednią rolę w strukturze dokumentu. Ostatnie dwa przykłady są poprawne, jednak użycie stylów inline w przypadku trzeciego przykładu nie jest zalecane. Wprowadzenie stylów bezpośrednio w elementach HTML narusza zasadę separacji treści od prezentacji. Zaleca się korzystanie z zewnętrznych arkuszy stylów, które nie tylko poprawiają organizację kodu, ale również umożliwiają łatwiejsze wprowadzanie zmian w przyszłości. Ostatecznie, zrozumienie i stosowanie się do standardów HTML5 oraz dobrych praktyk jest kluczowe dla tworzenia wyspecjalizowanych, dostępnych i łatwych do utrzymania stron internetowych.

Pytanie 25

Jakie będzie wynik działania programu napisanego w JavaScript, umieszczonego w ramce, kiedy wprowadzisz wartość 5?

var n, i;
var a = 1;

n = prompt("Podaj n:", "");

for (i=n; i>=2; i--)
    a*=i;

document.write("Wynik ",a);
A. 625
B. 60
C. 120
D. 125
Niepoprawne odpowiedzi wynikają z niezrozumienia działania pętli i operatora *= w języku JavaScript. Program implementuje algorytm obliczający silnię, co oznacza wielokrotne mnożenie kolejnych liczb całkowitych malejących aż do wartości 2. Niezrozumienie, że silnia n to iloczyn n*(n-1)*(n-2)*...*2, prowadzi do błędnych odpowiedzi. Początkowa wartość zmiennej a ustawiona na 1 jest kluczowa, ponieważ działa jako neutralny element mnożenia. Każda iteracja pętli zmniejsza wartość i, a *= i oznacza, że a jest mnożone przez bieżącą wartość i, co jest często źle interpretowane jako dodawanie lub niedokładne mnożenie. To typowy błąd przy próbie szybkiego zrozumienia kodu bez analizy krok po kroku. Kolejnym częstym błędem jest złe zrozumienie zakresu działania pętli for, która w tym przypadku działa od wartości n aż do 2 włącznie, co jest istotne, bo mnożenie przez 1 nie zmienia wyniku, ale jest częścią klasycznej definicji silni. Dla danych wejściowych 5, poprawnym wynikiem jest 5*4*3*2*1, co daje 120, a inne wartości jak 125, 60 czy 625 wskazują na błędne założenia lub niepełne zrozumienie mechanizmu działania pętli i mnożenia w kontekście silni.

Pytanie 26

W trakcie weryfikacji stron internetowych nie analizuje się

A. zgodności z różnymi przeglądarkami
B. błędów składniowych w kodzie
C. źródeł pochodzenia narzędzi edytorskich
D. funkcjonowania linków
W procesie walidacji stron internetowych kluczowym celem jest upewnienie się, że kod HTML, CSS i inne zasoby są zgodne z obowiązującymi standardami W3C (World Wide Web Consortium). Walidacja skutecznie identyfikuje błędy składniowe, które mogą wpływać na renderowanie strony, analizuje działanie linków, a także sprawdza, jak strona zachowuje się w różnych przeglądarkach. Jednak aspekty związane z pochodzeniem narzędzi edytorskich nie są istotnym elementem tego procesu. Narzędzia edytorskie, takie jak edytory tekstowe czy IDE, są jedynie środkiem do tworzenia kodu, a ich źródło nie powinno wpływać na to, czy strona jest poprawnie zaimplementowana. Na przykład, strona może być poprawnie zwalidowana niezależnie od tego, czy została zbudowana w popularnym edytorze, takim jak Visual Studio Code, czy innym mniej znanym narzędziu. Dlatego koncentrowanie się na źródłach narzędzi edytorskich w kontekście walidacji byłoby nieuzasadnione i nieprzydatne.

Pytanie 27

Aby strona WWW była przesyłana do przeglądarki w postaci zaszyfrowanej, należy zastosować protokół:

A. SFTP
B. SSH
C. HTTP
D. HTTPS
HTTPS to protokół HTTP działający przez szyfrowane połączenie TLS. Dane wymieniane między serwerem a przeglądarką - treść strony, dane logowania, formularze - są szyfrowane, więc osoba podsłuchująca ruch nie odczyta ich ani nie podmieni. Certyfikat serwera pozwala też przeglądarce potwierdzić tożsamość witryny (kłódka w pasku adresu). Dlatego do bezpiecznego, zaszyfrowanego przesyłania strony WWW stosuje się właśnie HTTPS.

Pytanie 28

Znacznik <strong> tekst</strong> w HTML będzie ukazywany przez przeglądarkę w identyczny sposób, jak znacznik

A. <b>tekst</b>
B. <h1>tekst</h1>
C. <sub>tekst</sub>
D. <big>tekst</big>
Znacznik <strong> w języku HTML jest używany do oznaczania tekstu, który ma być wyświetlany w sposób wyróżniony, co sugeruje jego większe znaczenie, natomiast znacznik <b> jest używany tylko do pogrubienia tekstu, bez dodatkowego kontekstu semantycznego. Oba znaczniki są wizualnie identyczne w większości przeglądarek, co powoduje, że można je stosować zamiennie w niektórych przypadkach. Jednakże, zgodnie z najnowszymi standardami HTML, zaleca się używanie <strong> dla tekstu, który ma większe znaczenie, ponieważ to pomaga w SEO i dostępności. Na przykład, tekst umieszczony w znaczniku <strong> może być lepiej interpretowany przez technologie wspomagające, takie jak czytniki ekranu, co czyni go bardziej dostępnym dla osób z niepełnosprawnościami. Przykład użycia: <strong>ważne informacje</strong> w odróżnieniu od <b>ważne informacje</b>, gdzie znaczenie semantyczne jest pominięte. Dlatego, mimo że wizualnie nie widać różnicy, semantyka HTML jest kluczowym aspektem, który wpływa na sposób, w jaki treść jest interpretowana i przetwarzana przez różnorodne systemy.

Pytanie 29

Który ze sposobów komentowania kodu nie jest stosowany w kodzie jako komentarz PHP?

A. <!-- komentarz -->
B. # komentarz
C. // komentarz
D. /* komentarz */
Poprawnie wskazano, że zapis <!-- komentarz --> nie jest komentarzem PHP, tylko komentarzem HTML. To jest bardzo ważne rozróżnienie: komentarze PHP muszą być interpretowane przez interpreter PHP, więc używa się składni typowej dla języków z rodziny C. W PHP mamy trzy podstawowe sposoby komentowania kodu: znak # na początku linii, podwójny ukośnik // oraz komentarze blokowe /* ... */. Wszystkie te formy działają tylko wewnątrz bloku PHP, czyli między znacznikami <?php i ?>. Przykład poprawnych komentarzy PHP:<?php
# komentarz jednolinijkowy
// inny komentarz jednolinijkowy
/*
komentarz
wielolinijkowy
*/
echo "Hello"; // komentarz obok instrukcji
?>Natomiast <!-- komentarz --> to komentarz HTML, który jest widoczny po stronie przeglądarki jako element kodu źródłowego HTML, ale kompletnie ignorowany przez interpreter PHP. Jeśli wstawisz coś takiego wewnątrz bloku PHP, po prostu dostaniesz błąd składni. Moim zdaniem warto zapamiętać prostą zasadę: komentarze PHP używają #, // lub /* */, a komentarze HTML używają <!-- -->. W praktyce często łączy się oba typy w jednym pliku: w sekcji PHP komentujemy kod logiki serwera, a w sekcji HTML komentujemy strukturę widoku. Dobrą praktyką jest stosowanie // do krótkich, jednowierszowych komentarzy przy instrukcjach oraz /* ... */ do dłuższych opisów funkcji, klas czy bardziej skomplikowanych fragmentów logiki. W dokumentacji PHP (php.net) wszystkie przykłady konsekwentnie używają właśnie tych trzech form, więc warto się tego trzymać, żeby kod był czytelny też dla innych programistów.

Pytanie 30

Aby wygodnie wprowadzać i edytować dane w bazie danych, można posłużyć się:

A. kwerendą SELECT
B. formularzem
C. raportem
D. filtrowaniem
Trzy pozostałe pojęcia dotyczą oglądania lub wyszukiwania danych, a nie ich zmiany. Raport przygotowuje dane do prezentacji i wydruku w czytelnej formie, ale jest tylko do odczytu. Filtrowanie pozwala zawęzić widok do wierszy spełniających warunek - ułatwia odnalezienie informacji, lecz niczego nie modyfikuje. Kwerenda SELECT pobiera dane z tabel i również ich nie edytuje (do zmian służą INSERT, UPDATE, DELETE). Wygodne wprowadzanie i edycję danych zapewnia formularz, który daje gotowe pola powiązane z kolumnami tabeli.

Pytanie 31

Liczba 0x142 zapisana w kodzie JavaScript jest w postaci

A. dwójkowej
B. szesnastkowej
C. ósemkowej
D. dziesiętnej
Prefiks 0x oznacza zapis SZESNASTKOWY, więc 0x142 to liczba szesnastkowa (dziesiętnie 322). Dlatego 0x142 jest w postaci szesnastkowej.

Pytanie 32

Po wykonaniu fragmentu kodu HTML i JavaScript na stronie zostanie wyświetlony obraz z pliku

<img id="obraz" src="kol1.jpg">
<button id="przycisk">Przycisk</button>

<script>
    document.getElementById("obraz").src = "kol2.jpg";
</script>
A. kol2.jpg
B. kol1.jpg
C. kol1.jpg, który może zostać zmieniony na kol2.jpg po wciśnięciu przycisku.
D. kol2.jpg, który może zostać zmieniony na kol1.jpg po wciśnięciu przycisku.
Niestety, nie trafiłeś. Wybierając 'kol1.jpg', mylisz się co do działania JavaScript w kontekście zmiany elementów na stronie. Skrypt używa getElementById, żeby znaleźć obraz o identyfikatorze 'obraz', a potem zmienia atrybut 'src' na 'kol2.jpg'. Tutaj nie ma żadnej interakcji z użytkownikiem, która mogłaby zmienić obrazek. W praktyce jednak, JavaScript daje nam możliwość dynamicznego modyfikowania elementów na stronie, co jest kluczowe przy tworzeniu takich interaktywnych stron. Na przykład, można wykorzystać tą samą metodę do zmiany obrazu, gdy ktoś na niego najedzie albo wciśnie przycisk. W tym przypadku jednak, to nie jest to, co się dzieje. Warto też zrozumieć, że 'kol1.jpg' to nie jest dobra odpowiedź, bo to obraz, który miałby być zmieniony, a nie ten, który się wyświetli.

Pytanie 33

Który format NIE służy do publikacji grafiki lub animacji w internecie?

A. AIFF
B. SVG
C. SWF
D. PNG
Pozostałe formaty wykorzystywano w sieci do obrazów lub animacji. PNG to rastrowy format graficzny z przezroczystością, SVG to grafika wektorowa opisywana w XML, a SWF to dawny format animacji Flash. Tylko AIFF przechowuje dźwięk, więc to on nie należy do formatów graficznych.

Pytanie 34

Kolor określony kodem RGB, mający wartość rgb(255, 128, 16) w przedstawieniu szesnastkowym, przyjmie jaką wartość?

A. #ff0fl0
B. #ff8010
C. #008010
D. #ff8011
Alternatywne odpowiedzi mają kilka błędów, jeśli chodzi o kolory w formacie szesnastkowym. Pierwsza opcja, #008010, nie pasuje w ogóle do wartości RGB, które dostaliśmy w pytaniu. Nic tu nie łączy wartości rgb(255, 128, 16) z #008010. Druga opcja, #ff0fl0, ma błąd, bo zawiera nieprawidłowy znak 'l', który w ogóle nie powinien się tam znaleźć. To czyni ją zupełnie niepoprawną. Ostatnia odpowiedź, #ff8011, zmienia wartość niebieską z '10' na '11', co też psuje kolor. Takie pomyłki często zdarzają się, bo ludzie nie pamiętają lub nie znają podstaw konwersji kolorów. Dlatego dobrze jest znać te zasady i umieć sprawdzić, czy wartości są poprawne. W praktyce projektanci i programiści mogą korzystać z różnych narzędzi, jak palety kolorów, które ułatwiają ten proces i zmniejszają ryzyko błędów.

Pytanie 35

Jakie są odpowiednie kroki w odpowiedniej kolejności, które należy podjąć, aby nawiązać współpracę pomiędzy aplikacją internetową po stronie serwera a bazą danych SQL?

A. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
B. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
C. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
D. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
Analizując niepoprawne odpowiedzi, można zauważyć, że każda z nich zawiera fundamentalne błędy w kolejności operacji. W przypadku pierwszej odpowiedzi, zaczynanie od zapytania do bazy danych bez wcześniejszego nawiązania połączenia z serwerem jest nie tylko niepraktyczne, ale wręcz niemożliwe. System nie jest w stanie wykonać jakiegokolwiek zapytania, jeśli nie istnieje aktywne połączenie, co prowadzi do błędów wykonania. W drugiej odpowiedzi również występuje błąd, polegający na wysyłaniu zapytania przed wybraniem bazy danych. W rzeczywistości, aby system mógł poprawnie zrealizować zapytanie, musi najpierw wiedzieć, z jaką bazą ma do czynienia. Ostatnia z niepoprawnych odpowiedzi, która sugeruje wybór bazy danych przed nawiązaniem połączenia, również jest błędna, ponieważ nie można wybrać bazy bez aktywnego połączenia z serwerem. W praktyce, każda z tych odpowiedzi nie uwzględnia kluczowych zasad dotyczących zarządzania połączeniami z bazami danych, takich jak zasady dotyczące transakcji oraz efektywnego zarządzania zasobami, co jest niezbędne w kontekście wydajnych aplikacji internetowych.

Pytanie 36

Na stronie www znajduje się formularz, do którego należy zaimplementować następujące funkcje: walidacja: podczas wypełniania formularza w czasie rzeczywistym sprawdzana jest poprawność danych, oraz przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze. Aby wprowadzić tę funkcjonalność w najprostszy sposób, trzeba zapisać

A. walidację i przesyłanie danych w języku PHP
B. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
C. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
D. walidację i przesyłanie danych w języku JavaScript
Zdecydowanie dobrze to ogarnąłeś! Walidacja danych w JavaScript oraz przesyłanie ich w PHP to naprawdę dobry pomysł, jeśli chodzi o tworzenie formularzy online. Dzięki walidacji po stronie klienta, możesz natychmiast zareagować na błędy. To znaczy, że jak ktoś wpisze coś nie tak, to od razu dostaje informację, że np. e-mail jest w złym formacie albo jakieś pole jest puste. Używanie 'addEventListener' do śledzenia zdarzeń 'input' w polach formularza to świetny sposób, żeby poprawić doświadczenie użytkowników. Co więcej, dzięki temu nie obciążasz serwera, bo niepoprawne dane nie są w ogóle przesyłane. A jeśli chodzi o PHP, to super, że wspomniałeś o przesyłaniu danych po stronie serwera. PHP ma dostęp do bazy danych, więc dane mogą być tam bezpieczne i dobrze przetwarzane. Użycie PHP przy obsłudze formularzy to standard, dzięki któremu twoja aplikacja będzie stabilna i bezpieczna.

Pytanie 37

Do czego służy polecenie GRANT w SQL?

A. do nadawania użytkownikom praw do obiektów
B. do aktualizacji istniejących danych
C. do odbierania użytkownikom praw
D. do wstawiania nowych danych do bazy
Polecenie GRANT należy do DCL i służy do NADAWANIA użytkownikom praw do obiektów bazy (np. SELECT, INSERT na tabeli). Dlatego GRANT nadaje użytkownikom uprawnienia.

Pytanie 38

Pole kolor w tabeli samochody może mieć wartości tylko ze słownika lakier. Która kwerenda ustanowi tę relację?

A.
ALTER TABLE samochody
ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
B.
ALTER TABLE samochody
ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
C.
ALTER TABLE samochody
ADD FOREIGN KEY kolor REFERENCES lakier;
D.
ALTER TABLE samochody
ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
Aby związać pole kolor ze słownikiem lakier, klucz obcy musi mieć kolumnę w nawiasie i wskazywać konkretny klucz tabeli słownikowej: ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId). Dlatego poprawna jest ta kwerenda.

Pytanie 39

Tabele Osoby oraz Adresy są ze sobą połączone relacją typu jeden do wielu. Jakie zapytanie SQL powinno być użyte, aby poprawnie wyświetlić nazwiska oraz odpowiadające im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy
B. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id=Adresy.id
C. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id=Adresy.id
D. SELECT nazwisko, Miasto FROM Osoby.Adresy_id=Adresy.id FROM Osoby, Adresy
Użycie składni JOIN w zapytaniu SQL to naprawdę dobra decyzja, jeśli chodzi o pokazywanie powiązanych danych z różnych tabel w bazie danych. W odpowiedzi zastosowałeś INNER JOIN, co jest jednym z tych najpopularniejszych sposobów łączenia tabel, zwłaszcza gdy mamy wspólny klucz. W tym przypadku klucz obcy Adresy_id w tabeli Osoby łączy się z kluczem głównym id w tabeli Adresy, co pozwala na wyciągnięcie nazwisk z Osób oraz odpowiadających im miast z Adresów. W praktyce takie użycie JOIN jest zgodne z najlepszymi praktykami, bo ułatwia zarządzanie danymi i sprawia, że wszystko jest czytelniejsze. Gdy pracujesz nad bardziej skomplikowanymi systemami, umiejętność poprawnego łączenia tabel jest kluczowa. Umożliwia to utrzymanie porządku w danych i zmniejszenie ich powtarzalności przez normalizację. I naprawdę, takie zapytania są mega przydatne w analizie danych, generowaniu raportów czy w aplikacjach, które operują na dużych zbiorach, gdzie wydajność i przejrzystość kodu SQL są niezwykle ważne.

Pytanie 40

W bazie danych wykonano następujące polecenia dotyczące uprawnień użytkownika adam. Po ich realizacji użytkownik adam uzyska uprawnienia do

GRANT ALL PRIVILEGES ON klienci TO adam
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam
A. usuwania tabeli lub jej rekordów
B. tworzenia tabeli klienci oraz modyfikowania w niej danych
C. modyfikowania danych i przeglądania tabeli klienci
D. przeglądania tabeli klienci oraz dodawania do niej sektorów
Prawidłowa odpowiedź dotycząca usunięcia tabeli lub jej rekordów wynika z analizy poleceń SQL które zostały wykonane na użytkowniku adam. Instrukcja GRANT ALL PRIVILEGES zapewnia użytkownikowi wszystkie dostępne uprawnienia do tabeli klienci w tym możliwość usunięcia zarówno całej tabeli jak i jej rekordów. Jednakże w dalszej kolejności polecenie REVOKE SELECT INSERT UPDATE ogranicza te konkretne uprawnienia. Pozostawia to użytkownikowi adam pełne prawo do korzystania z polecenia DELETE które umożliwia usunięcie poszczególnych rekordów oraz DROP które pozwala usunąć całą tabelę. Jest to kluczowe w zarządzaniu bazą danych zwłaszcza w kontekście zapewnienia integralności i bezpieczeństwa danych. W praktyce administratorzy baz danych muszą umiejętnie zarządzać uprawnieniami aby zapewnić odpowiedni poziom bezpieczeństwa oraz kontrolę dostępu zgodnie z najlepszymi praktykami branżowymi. Dzięki temu można uniknąć nieautoryzowanego dostępu do wrażliwych danych oraz przypadkowego usunięcia ważnych informacji