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: 17 kwietnia 2026 19:27
  • Data zakończenia: 17 kwietnia 2026 19:44

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

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 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: right; } section { float: right; }
B. nav { float: left; } aside { float: left; }
C. aside {float: left; }
D. nav { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 2

Na podstawie relacji przedstawionej na ilustracji, można stwierdzić, że jest to relacja

Ilustracja do pytania
A. jeden do jednego, gdzie obie tabele mają przypisane klucze obce
B. jeden do wielu, gdzie kluczem obcym jest pole w tabeli uslugi
C. wiele do wielu pomiędzy kluczami głównymi obu tabel
D. jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra
Relacja jeden do wielu, gdzie kluczem obcym jest pole w tabeli uslugi, jest poprawna, ponieważ reprezentuje typową praktykę w projektowaniu baz danych, gdzie wiele rekordów w jednej tabeli (uslugi) jest powiązanych z jednym rekordem w innej tabeli (kadra). W tym przypadku, kolumna kadra_id w tabeli uslugi pełni rolę klucza obcego, który wskazuje na klucz główny (id) w tabeli kadra. Takie podejście jest szeroko stosowane w zarządzaniu relacjami pomiędzy danymi, umożliwiając efektywne przechowywanie i odwoływanie się do powiązanych rekordów. Przykładowo, w systemie usługowym, jedna osoba może być odpowiedzialna za wiele różnych usług, co jest wizualizowane przez tę konstrukcję. W praktyce pozwala to na łatwe aktualizacje danych kadry bez konieczności zmian w tabeli usług, co jest zgodne z zasadami normalizacji danych i zwiększa spójność oraz integralność danych. Tego typu relacje są fundamentem dla operacji typu JOIN w SQL, które umożliwiają łączenie danych z różnych tabel na podstawie wspólnych wartości kluczy obcych, co jest kluczowe dla wydajnego przetwarzania zapytań w relacyjnych bazach danych.

Pytanie 3

Kompresja bezstratna pliku graficznego zapewnia

A. wyższą jakość
B. mniejszą ilość warstw
C. rozmiar większy niż w oryginale
D. oryginalną jakość grafiki
Kompresja bezstratna pliku graficznego to technika, która pozwala na zmniejszenie rozmiaru pliku graficznego bez utraty jakichkolwiek informacji wizualnych. Oznacza to, że po procesie kompresji, obraz zachowuje swoją pierwotną jakość, a wszystkie detale, kolory i tekstury pozostają nienaruszone. Przykładami formatów wykorzystujących kompresję bezstratną są PNG (Portable Network Graphics) oraz TIFF (Tagged Image File Format). W przypadku PNG, algorytm kompresji, znany jako DEFLATE, pozwala na efektywne zmniejszenie rozmiaru pliku poprzez usuwanie nadmiarowych danych bez wpływu na jakość obrazu. Kompresja bezstratna jest szczególnie ważna w dziedzinach, gdzie jakość grafiki ma kluczowe znaczenie, na przykład w druku, gdzie jakiekolwiek zniekształcenia mogłyby wpłynąć na finalny efekt. Umożliwia ona również edytowanie obrazów bez obawy o degradację jakości, co jest istotne w pracy z grafiką komputerową oraz fotografią. Dzięki temu technologia ta zyskuje na popularności wśród grafików i profesjonalistów zajmujących się obróbką zdjęć.

Pytanie 4

W PHP użyto funkcji is_int(). Które z wymienionych wywołań tej funkcji da wynik TRUE?

A. is_int("135")
B. is_int(135)
C. is_int(NULL)
D. is_int(13.5)
Funkcja is_int() w języku PHP służy do sprawdzania, czy dany argument jest liczbą całkowitą (typ integer). W przypadku wywołania is_int(135), przekazujemy wartość 135, która jest liczbą całkowitą. Funkcja zwróci TRUE, ponieważ 135 spełnia wymóg bycia liczbą całkowitą. W praktyce, użycie is_int() jest przydatne, gdy pracujemy z danymi, które mogą przyjmować różne typy, a naszą intencją jest upewnienie się, że operacje będą wykonywane na liczbach całkowitych. Przykładowo, podczas walidacji danych wejściowych w formularzach mogą się zdarzyć przypadki, gdzie użytkownik wprowadza błędne typy, a is_int() pozwala na ich skuteczną weryfikację przed dalszym przetwarzaniem. W dobrych praktykach programistycznych zawsze warto stosować takie mechanizmy walidacyjne, aby uniknąć błędów w działaniu aplikacji i poprawić jej stabilność. Ważne jest również, aby znać różnice między typami danych w PHP, ponieważ może to mieć wpływ na działanie aplikacji.

Pytanie 5

Określ złożoność obliczeniową algorytmu prostego (standardowego) wyszukiwania najmniejszej wartości w zestawie liczb?

A. O(n)
B. O(n!)
C. O(n2 )
D. O(n3 )
Algorytm naiwnego wyszukiwania minimum jest dość prosty, bo jego złożoność obliczeniowa to O(n). To znaczy, że im więcej mamy elementów w zbiorze, tym dłużej trwa jego działanie, ale w prosty sposób, czyli liniowo. W praktyce algorytm przeszukuje każdy element, porównując go z innymi, co jest dosyć klasyczne i używane w wielu podstawowych programach. Na przykład, gdy programujemy w Pythonie, możemy użyć pętli do przejścia przez listę, co sprawia, że łatwo to zrozumieć. W branży programistycznej często mówimy o tym w kontekście analizy złożoności obliczeniowej, co czyni go naprawdę istotnym tematem dla każdego programisty. Moim zdaniem, zrozumienie O(n) jest kluczowe, gdy chcemy optymalizować nasz kod i oceniać, jak nasze algorytmy radzą sobie z większymi zbiorami danych. To chyba jeden z podstawowych tematów w inżynierii oprogramowania i analizie danych.

Pytanie 6

W języku JavaScript można inaczej zapisać instrukcję a++; jako

A. a<<1;
B. a=a+1;
C. a&1;
D. 1+=a;
Odpowiedź 'a=a+1;' jest poprawna, ponieważ dokładnie odzwierciedla działanie inkrementacji w JavaScript. Operacja a++ zwiększa wartość zmiennej a o 1, co można również zapisać jako przypisanie nowej wartości do a, uzyskanej przez dodanie do niej 1. Wartości a nie można zmieniać bezpośrednio bez przypisania nowej wartości, a zapis 'a=a+1;' jasno pokazuje ten proces. W praktycznych zastosowaniach, taka forma może być używana w pętlach lub w sytuacjach, gdy potrzebujemy kontrolować, jak zmienia się wartość zmiennej. Na przykład, w iteracjach przez tablicę, zastosowanie 'a=a+1;' umożliwia elastyczne manipulowanie wartością zmiennej, co jest zgodne z zasadami programowania. Używanie operatorów przypisania, takich jak +=, to dobra praktyka, która poprawia czytelność oraz zrozumienie kodu, zwłaszcza dla mniej doświadczonych programistów, którzy mogą nie znać bardziej zaawansowanych form zapisu.

Pytanie 7

W relacyjnych bazach danych encja jest przedstawiana przez

A. kwerendę.
B. rekord.
C. relację.
D. tabelę.
Nieprawidłowe odpowiedzi wskazują na pewne nieporozumienia dotyczące definicji podstawowych elementów relacyjnych baz danych. Rekord, chociaż jest istotnym składnikiem tabeli, nie reprezentuje encji, lecz pojedynczą instancję encji. Mylne jest również utożsamianie tabeli z relacją, ponieważ relacja w kontekście teorii zbiorów odnosi się do zbioru krotek, podczas gdy tabela jest fizycznym i trwałym przedstawieniem tychże zbiorów w bazie danych. Kwerenda natomiast to instrukcja używana do uzyskiwania danych z bazy danych, a nie do ich reprezentacji. To podejście do zrozumienia modeli relacyjnych może prowadzić do błędnych wniosków w projektowaniu baz danych. Dla przykładu, nieumiejętność rozróżnienia między tabelą a rekordem może skutkować niewłaściwym modelowaniem danych, co wpłynie negatywnie na wydajność i integralność bazy danych. Warto zwrócić uwagę na znaczenie właściwego stosowania terminologii oraz zrozumienie struktury danych w relacyjnych bazach danych, co jest kluczowe dla efektywnego zarządzania danymi i ich relacjami.

Pytanie 8

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

A. jeden do jednego
B. wiele do wielu
C. wiele do jednego
D. jeden do wielu
Zrozumienie relacji między tabelami w bazach danych często prowadzi do nieporozumień związanych z typami połączeń. Odpowiedzi sugerujące relacje wiele do wielu, wiele do jednego czy nawet jeden do wielu są niepoprawne w kontekście tego pytania. Relacja wiele do wielu zakłada, że wiele rekordów z jednej tabeli może być powiązanych z wieloma rekordami z drugiej tabeli. Przykładem może być sytuacja, w której studenci zapisani są na wiele kursów, a kursy mogą mieć wielu studentów. Tego typu relacje wymagają dodatkowej tabeli łączącej, co komplikuje strukturę bazy. Relacja wiele do jednego sugeruje, że wiele rekordów w jednej tabeli może odnosić się do jednego rekordu w drugiej tabeli, co nie odpowiada na pytanie o połączenie z relacjami kluczy głównych. Natomiast relacja jeden do wielu oznacza, że jeden rekord w jednej tabeli może mieć wiele powiązanych rekordów w drugiej tabeli, co również nie jest zgodne z definicją relacji jeden do jednego. Często błędne interpretacje wynikają z niepełnego zrozumienia zasad relacyjnej teorii baz danych, co może prowadzić do nieefektywnego projektowania baz danych i problemów z integralnością danych. Kluczowe jest zrozumienie, że każda relacja powinna być definiowana w kontekście jej celu oraz struktury danych, co jest fundamentalne w dobrych praktykach w zakresie projektowania baz danych.

Pytanie 9

Jak przeglądarka zaprezentuje kod HTML formularza?

<form>
stanowisko: <input type="text"><br>
obowiązki:<br>
<input type="checkbox" name="obowiazek1" value="1" disabled checked>
sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazek2" value="2" checked>
pisanie kodu<br>
<input type="checkbox" name="obowiazek3" value="3">
testy oprogramowania<br>
</form>
Ilustracja do pytania
A. D
B. A
C. B
D. C
Zrozumienie jak działają atrybuty HTML takie jak disabled i checked jest kluczowe dla prawidłowego wyświetlania i funkcjonalności formularzy w przeglądarce. Niektóre z odpowiedzi zawierają błędne interpretacje tych atrybutów co prowadzi do niepoprawnego rozumienia jak formularz będzie prezentowany. Na przykład jeśli pole checkbox nie ma ustawionego atrybutu checked to domyślnie będzie niezaznaczone a użytkownik będzie mógł to zmienić. Dodanie atrybutu checked oznacza że pole będzie zaznaczone od razu po załadowaniu strony. Atrybut disabled uniemożliwia interakcję użytkownika z danym elementem co oznacza że użytkownik nie będzie mógł zmienić jego stanu. Częstym błędem jest założenie że wszystkie pola wyboru mogą być domyślnie edytowalne co nie jest prawdą w przypadku zastosowania atrybutu disabled. Również brak zrozumienia jak kolejność elementów i ich atrybutów wpływa na wizualne i funkcjonalne aspekty formularza może prowadzić do błędnych wniosków dotyczących ich zachowania. Warto pamiętać że prawidłowe zrozumienie tych zasad pozwala na tworzenie bardziej intuicyjnych i użytecznych aplikacji internetowych które spełniają oczekiwania użytkowników i standardy branżowe. Poprawna interpretacja kodu HTML jest więc niezbędna dla każdego profesjonalisty zajmującego się tworzeniem stron i aplikacji internetowych aby zapewnić bezbłędne działanie i łatwość obsługi formularzy przez końcowego użytkownika. Powinno się też zwracać uwagę na dostępność i użyteczność formularzy co jest kluczowym aspektem w procesie projektowania stron internetowych.

Pytanie 10

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej godzinie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. wygaśnie po jednej dobie od jego utworzenia.
D. będzie przechowywany na serwerze przez jedną dobę.
W tym poleceniu PHP funkcja setcookie() dostaje jako trzeci parametr czas wygaśnięcia ciasteczka w postaci znacznika czasu UNIX (timestamp). Wyrażenie time() + (3600 * 24) oznacza: aktualny czas serwera (time()) powiększony o 3600 sekund (czyli jedną godzinę) razy 24, co razem daje 86400 sekund, czyli dokładnie jedną dobę. Przeglądarka zapisuje to jako tzw. cookie trwałe (persistent cookie) i będzie je przechowywać do momentu osiągnięcia tego czasu. Po upływie doby od utworzenia, przeglądarka automatycznie przestanie wysyłać to cookie w nagłówkach HTTP do serwera. To jest ważne: cookie jest przechowywane po stronie klienta, czyli w przeglądarce użytkownika, a nie na serwerze. Serwer tylko wysyła nagłówek Set-Cookie w odpowiedzi HTTP. W praktyce takie ustawienie przydaje się np. do zapamiętania imienia użytkownika, preferencji językowych, koszyka w prostym sklepie albo ustawień wyglądu strony na krótki czas, np. na jedną dobę. Moim zdaniem warto zapamiętać, że brak trzeciego parametru w setcookie() oznacza cookie sesyjne (kasowane po zamknięciu przeglądarki), a podanie konkretnego timestampu tworzy cookie, które ma określoną datę wygaśnięcia. Dobrą praktyką jest zawsze świadomie dobierać czas życia ciasteczek: dane wrażliwe powinny mieć raczej krótki czas ważności, a informacje czysto techniczne lub preferencje interfejsu mogą być przechowywane dłużej. W nowoczesnych aplikacjach webowych łączy się to też z innymi atrybutami cookie (Secure, HttpOnly, SameSite), ale sam mechanizm czasu wygaśnięcia pozostaje taki sam – jest to po prostu liczba sekund od epoki UNIX, kiedy cookie przestanie być uznawane za ważne.

Pytanie 11

Aby przywrócić bazę danych MS SQL z archiwum, należy użyć polecenia

A. DBCC CHECKDB
B. SAVE DATABASE
C. REBACKUP DATABASE
D. RESTORE DATABASE
Pozostałe odpowiedzi nie są właściwe w kontekście przywracania bazy danych MS SQL z kopii bezpieczeństwa. DBCC CHECKDB jest narzędziem służącym do sprawdzania integralności bazy danych, ale nie ma zastosowania w procesie przywracania danych. To polecenie diagnostyczne pozwala na identyfikację uszkodzeń strukturalnych bazy danych oraz ich potencjalne naprawienie, co jest ważne, lecz nie dotyczy samego procesu przywracania. SAVE DATABASE nie jest uznawane za standardowe polecenie w MS SQL Server. Takie działanie nie istnieje w dokumentacji, co oznacza, że nie można go używać do wykonywania operacji na bazach danych. Ostatnia odpowiedź, REBACKUP DATABASE, również nie jest poprawna, ponieważ MS SQL Server nie posiada takiej komendy. W rzeczywistości, proces tworzenia kopii zapasowej danych realizuje się za pomocą polecenia BACKUP DATABASE, a nie REBACKUP. Każda z tych odpowiedzi ma swoje zastosowanie w pracy z bazami danych, ale w kontekście przywracania nie spełniają wymagań. Dlatego kluczowe jest zrozumienie roli polecenia RESTORE DATABASE w prawidłowym zarządzaniu bazami danych.

Pytanie 12

W katalogu www znajdują się podkatalogi html oraz styles, w których umieszczone są pliki o rozszerzeniu html oraz pliki z rozszerzeniem css. Aby dołączyć styl.css do pliku HTML, należy zastosować

A. <link rel="Stylesheet" type="text/css" href="../style/styl.css" />
B. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
C. <link rel="Stylesheet" type="text/css" href="styl.css" />
D. <link rel=" Stylesheet" type="text/css" href="www/style/styl. css" />
Przy analizie pozostałych odpowiedzi można dostrzec pewne powszechne błędy w rozumieniu ścieżek do zasobów w dokumentach HTML. W pierwszej odpowiedzi, użycie ścieżki 'www/style/styl.css' sugeruje, że autor zakłada, że jest to pełna ścieżka dostępu, co jest mylące, ponieważ taka ścieżka nie jest względna w kontekście pliku HTML znajdującego się w folderze 'html'. Ponadto, użycie dużych liter w atrybucie 'rel' (np. 'Stylesheet') jest niepoprawne, ponieważ HTML jest językiem case-insensitive, lecz konwencjonalnie zaleca się używanie małych liter. Druga odpowiedź, wskazująca na '/style/styl.css', implikuje, że 'style' jest umiejscowione w katalogu głównym serwera, co również jest błędne w kontekście podanej struktury folderów. Takie podejście jest typowym błędem przy zrozumieniu relatywnych i bezwzględnych ścieżek URL. Ostatnia odpowiedź, 'styl.css', zakłada, że plik CSS znajduje się w tym samym folderze co plik HTML, co nie odpowiada rzeczywistości w przedstawionym układzie folderów. Wszyscy, którzy pracują nad projektami webowymi, muszą zrozumieć, jak ważne jest precyzyjne określenie lokalizacji zasobów, ponieważ błędy te mogą prowadzić do ładowania nieprawidłowych plików, co w efekcie negatywnie wpływa na wygląd i funkcjonalność strony. Wiedza na temat struktury folderów oraz umiejętność nawigacji po nich jest kluczowym elementem w pracy programisty.

Pytanie 13

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na

A. przyznawanie uprawnień z użyciem ustalonego schematu
B. przyznawanie praw do tabeli
C. odebranie uprawnień danemu użytkownikowi
D. usunięcie użytkownika z bazy danych
Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.

Pytanie 14

Które zapytanie SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się na literę Z?

A. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%'
B. SELECT nazwisko FROM klient WHERE nazwisko='Z?'
C. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%'
D. SELECT nazwisko FROM klient WHERE nazwisko='Z_?'
Zastosowanie zapytań, które nie wykorzystują operatora LIKE w odpowiedni sposób, prowadzi do błędnych wniosków i nieprawidłowych wyników. Na przykład, użycie zapytania SELECT nazwisko FROM klient WHERE nazwisko='Z_?'; i SELECT nazwisko FROM klient WHERE nazwisko='Z?'; jest mylące, ponieważ w tych przypadkach znak podkreślenia (_) jest interpretowany jako znak zastępczy reprezentujący dokładnie jeden dowolny znak. Oznacza to, że te zapytania będą szukały nazwisk, które zaczynają się na Z, ale mają łącznie tylko dwa lub trzy znaki, co nie spełnia wymogu przynajmniej jednoliterowego nazwiska. Tego rodzaju nieścisłości mogą wynikać z niepełnego zrozumienia działania operatorów w SQL. Kolejnym błędem jest zapytanie SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';, które również ogranicza wynik do nazwisk składających się przynajmniej z trzech znaków, co nie spełnia wymagań zadania. W praktyce, takie pomyłki mogą prowadzić do nieefektywnego wyszukiwania i obniżenia jakości aplikacji, co skutkuje frustracją użytkowników i zwiększonymi kosztami rozwoju. Kluczowe jest zrozumienie, jak działają różne znaki wieloznaczne oraz ich zastosowanie w kontekście konkretnych zadań, aby skutecznie i precyzyjnie przeszukiwać dane w bazie.

Pytanie 15

Jakie polecenie należy wykorzystać, aby przypisać użytkownikowi uprawnienia do tabel w bazie danych?

A. REVOKE
B. CREATE
C. GRANT
D. SELECT
Poprawna odpowiedź to GRANT, które jest standardowym poleceniem w systemach zarządzania bazami danych (DBMS) umożliwiającym nadawanie użytkownikom uprawnień do wykonywania określonych operacji na obiektach bazy danych, takich jak tabele, widoki czy procedury. Przy użyciu GRANT administrator bazy danych może precyzyjnie określić, jakie działania użytkownik może wykonać, np. SELECT (odczyt danych), INSERT (wstawianie danych), UPDATE (aktualizacja danych) czy DELETE (usuwanie danych). Przykładowo, polecenie 'GRANT SELECT ON tablename TO username;' nadaje użytkownikowi 'username' prawo do odczytu danych z tabeli 'tablename'. Dobrą praktyką jest przydzielanie minimalnych uprawnień, które są niezbędne do realizacji zadań, co zwiększa bezpieczeństwo bazy danych. Warto również zauważyć, że uprawnienia mogą być nadawane grupom użytkowników, co upraszcza zarządzanie dostępem w dużych organizacjach.

Pytanie 16

Aby prawidłowo zorganizować hierarchiczną strukturę tekstu na stronie internetowej, powinno się wykorzystać

A. znacznik <p> z formatowaniem
B. znacznik <div>
C. znaczniki <frame> i <table>
D. znaczniki <h1>, <h2> oraz <p>
Aby poprawnie zdefiniować hierarchiczną strukturę tekstu witryny internetowej, kluczowe jest zastosowanie znaczników <h1>, <h2>, oraz <p>. Znacznik <h1> jest najważniejszym nagłówkiem na stronie i powinien być używany tylko raz, aby wskazać główny temat treści. Z kolei znaczniki <h2> służą do wyodrębnienia podtematów, co pozwala na tworzenie czytelnej i logicznej struktury dokumentu. Dzięki tym znacznikom, zarówno użytkownicy, jak i wyszukiwarki internetowe mogą łatwiej zrozumieć hierarchię treści. Znacznik <p> jest używany do definiowania akapitów, co dodatkowo poprawia czytelność tekstu. Zastosowanie tej struktury jest zgodne z wytycznymi W3C oraz zasadami SEO, co przyczynia się do lepszego indeksowania przez wyszukiwarki. Przykładowo, strona internetowa poświęcona zdrowemu stylowi życia może mieć <h1> jako 'Zdrowy Styl Życia', a <h2> jako 'Dieta' i 'Ćwiczenia', co ułatwia użytkownikom nawigację oraz przyswajanie treści.

Pytanie 17

Podczas przygotowywania grafiki do umieszczenia na stronie internetowej konieczne jest wycięcie tylko pewnego fragmentu. Jak nazywa się ta czynność?

A. odwracanie obrazu.
B. łączanie warstw.
C. zmiana rozmiaru.
D. kadrowanie.
Kadrowanie to taka technika, która pomaga nam lepiej uchwycić to, co najważniejsze w obrazie. Wycinając niektóre fragmenty grafiki, skupiamy uwagę na tym, co naprawdę się liczy. Dobrze jest to mieć na uwadze, zwłaszcza przy zdjęciach portretowych, gdzie chcemy, żeby wzrok przyciągała twarz modela, a nie jakieś niepotrzebne tło. Kiedy kadrujemy, warto pamiętać o takich zasadach jak zasada trzecich, bo to pomaga zrobić fajną kompozycję. Można to robić w wielu programach graficznych, jak na przykład Adobe Photoshop czy GIMP. Tak w ogóle, dobrze jest dbać o proporcje i rozdzielczość, żeby obraz nie stracił na jakości. Gadżetem kadrowania można się też posługiwać w projektowaniu stron www, bo odpowiednie wybory graficzne poprawiają estetykę i funkcjonalność strony.

Pytanie 18

Która metoda JavaScript służy do dodawania nowego elementu na końcu tablicy?

A. shift()
B. pop()
C. push()
D. unshift()
Metoda <code>push()</code> w JavaScript jest odpowiedzialna za dodawanie nowych elementów na końcu tablicy. Jest to jedna z podstawowych metod manipulujących tablicami i jest szeroko stosowana w różnych projektach webowych. Przykładowo, jeśli masz tablicę zawierającą listę produktów w koszyku zakupowym, możesz użyć <code>push()</code>, aby dodać nowy produkt do tej listy. Ta metoda nie tylko dodaje element, ale także zwraca nową długość tablicy, co jest przydatne, gdy chcesz wiedzieć, ile elementów obecnie zawiera tablica. Warto również zauważyć, że <code>push()</code> modyfikuje oryginalną tablicę, co oznacza, że jest to operacja destruktywna. Użycie tej metody jest zgodne z dobrymi praktykami, ponieważ jest ona szybka i efektywna, zwłaszcza gdy potrzebujesz dynamicznie zmieniać zawartość tablicy w trakcie działania aplikacji.

Pytanie 19

Baza danych księgarni zawiera tabelę o nazwie książki, w której znajdują się: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Aby wygenerować raport dotyczący sprzedanych książek z tytułami i nazwiskami autorów, co należy zrobić?

A. zdefiniować relację 1..n pomiędzy tabelami książki i autorzy, a następnie przygotować kwerendę łączącą obie tabele
B. stworzyć kwerendę wyszukującą tytuły książek
C. przygotować dwie oddzielne kwerendy: pierwszą wyszukującą tytuły książek, drugą wyszukującą nazwiska autorów
D. zdefiniować relację 1..1 pomiędzy tabelami książki i autorzy, a następnie przygotować kwerendę łączącą obie tabele
Jak chcesz zrobić raport o sprzedanych książkach, musisz najpierw ustalić, jak połączone są tabelki 'książki' i 'autorzy'. W tym przypadku relacja 1..n jest najlepsza, bo każdy autor może napisać wiele książek, a każda książka ma swojego jednego autora. Kiedy już to masz ustalone, możesz zabrać się za pisanie kwerendy, która połączy te tabele. W SQL użyjesz JOIN, co pozwala połączyć dane i zobaczyć pełne informacje o sprzedanych książkach, w tym tytuły i nazwiska autorów. Przykładowa kwerenda może wyglądać tak: SELECT książki.tytul, autorzy.nazwisko FROM książki JOIN autorzy ON książki.idAutor = autorzy.id. Takie podejście umożliwia łączenie danych z różnych źródeł i jest podstawą analizy baz danych. Dobrze zdefiniowane relacje między tabelami to też klucz do utrzymania porządku w danych i efektywności zapytań.

Pytanie 20

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT ```SELECT model FROM samochody WHERE rocznik=2016;``` Jakie wartości zostaną zwrócone w wyniku tego zapytania?

Ilustracja do pytania
A. Czerwony, grafitowy
B. Punto, Corsa, Astra, Corolla, Yaris
C. Fiat, Opel, Toyota
D. Punto, Corsa, Corolla
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 21

Do jakich celów wykorzystywany jest certyfikat SSL?

A. w celu identyfikacji właściciela domeny
B. do przechowywania informacji o sesjach tworzonych na stronie
C. do deszyfrowania przesyłanych danych
D. do eliminowania złośliwego oprogramowania na stronie
Wybór innych odpowiedzi może prowadzić do nieporozumień dotyczących roli certyfikatu SSL w zabezpieczaniu komunikacji internetowej. Zapisanie danych o sesjach tworzonych w witrynie nie jest funkcją certyfikatu SSL; te informacje zazwyczaj są przechowywane w plikach cookie lub bazach danych. Certyfikat SSL nie jest odpowiedzialny za deszyfrację transmitowanych danych, lecz za ich szyfrowanie. Szyfrowanie odbywa się na poziomie transportu, co oznacza, że dane są zabezpieczane w trakcie przesyłania między serwerem a klientem, ale nie są one 'deszyfrowywane' przez certyfikat jako taki. Kolejnym typowym błędem jest mylenie certyfikatów SSL z narzędziami do ochrony przed złośliwym oprogramowaniem. Chociaż certyfikaty SSL mogą zapewniać pewien poziom bezpieczeństwa, ich głównym celem nie jest blokowanie szkodliwego oprogramowania, lecz ochrona danych przesyłanych przez sieć. To pokazuje, jak istotne jest zrozumienie specyficznych funkcji technologii zabezpieczeń i ich zastosowań w kontekście cyberbezpieczeństwa.

Pytanie 22

W bazie danych znajdują się dwie tabele, które są ze sobą połączone relacją 1..n. Jakiej klauzuli SQL należy użyć, aby uzyskać odpowiadające sobie dane z obu tabel?

A. INNER LINK
B. AND
C. JOIN
D. OUTER LINK
Klauzula JOIN w SQL służy do łączenia tabel w bazie danych, pozwalając na pobranie powiązanych danych z różnych tabel. W przypadku relacji 1..n, przy której jedna tabela (nazwa tabeli `A`) może mieć wiele powiązanych rekordów w drugiej tabeli (nazwa tabeli `B`), klauzula JOIN jest idealna do uzyskania korespondujących wartości z obu tabel. Przykład zastosowania to: SELECT A.*, B.* FROM A JOIN B ON A.id = B.a_id; W powyższym zapytaniu `A.id` to klucz główny tabeli `A`, a `B.a_id` to klucz obcy w tabeli `B`, który odnosi się do `A`. Klauzula JOIN może przyjmować różne formy, takie jak INNER JOIN, LEFT JOIN, RIGHT JOIN, i FULL JOIN, które różnią się sposobem łączenia danych i wynikami. JOIN jest standardem SQL, co oznacza, że jest wspierany przez większość systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL, Oracle, czy Microsoft SQL Server. Użycie klauzuli JOIN jest kluczowe w relacyjnych bazach danych, gdzie dane są rozdzielone w różnych tabelach, ale muszą być analizowane łącznie.

Pytanie 23

Zaprezentowano tabelę stworzoną za pomocą kodu HTML, bez zastosowania stylów CSS. Która część kodu HTML odnosi się do pierwszego wiersza tabeli?

Ilustracja do pytania
A. A
B. C
C. B
D. D
Odpowiedź D jest prawidłowa, ponieważ używa znaczników <th> do zdefiniowania nagłówków kolumn w tabeli. Znaczniki <th> są używane w tabelach HTML do określania komórek nagłówkowych, które domyślnie są pogrubione i wyśrodkowane. Taki format jest zgodny z zasadami dostępności i użyteczności, ponieważ przeglądarki i czytniki ekranowe traktują <th> jako nagłówki, co poprawia zrozumienie struktury tabeli przez użytkowników. Znaczniki <b> w <th> dodatkowo stylizują tekst, co jest zgodne z przedstawionym obrazem. Używanie odpowiednich znaczników semantycznych to dobra praktyka, która zwiększa czytelność kodu i wspiera dostępność. W kontekście praktycznym, poprawne użycie <th> umożliwia lepsze formatowanie i interpretację danych w tabeli podczas renderowania w przeglądarkach, a także wspiera responsywne projektowanie, gdzie układ tabeli automatycznie dostosowuje się do różnych rozmiarów ekranów. Dlatego korzystanie z <th> do definiowania pierwszego wiersza jako nagłówka jest zgodne z najlepszymi praktykami projektowania stron internetowych.

Pytanie 24

W zaprezentowanym fragmencie algorytmu użyto

Ilustracja do pytania
A. trzy bloki operacyjne (procesy).
B. jedną pętlę.
C. jeden blok decyzyjny.
D. dwie pętle.
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury algorytmu. Opcja dotycząca dwóch pętli zakłada istnienie dwóch niezależnych cykli co nie znajduje potwierdzenia w przedstawionym schemacie. Taki błąd może wynikać z nieumiejętności rozróżniania złożonych konstrukcji czy mylenia pętli z blokami decyzyjnymi. Jedna pętla oznacza jedną sekwencję powtarzającą się co jest wyraźnie zilustrowane przez powrót strzałki w schemacie. Odpowiedź sugerująca jeden blok decyzyjny nie uwzględnia faktu że blok decyzyjny jest częścią struktury warunkowej a nie pętli. Decyzje wpływają na przepływ sterowania ale nie tworzą same w sobie powtarzającej się sekwencji. Trzy bloki operacyjne odnoszą się do liczby operacji w algorytmie lecz nie implikują pętli. Bloki operacyjne wykonują konkretne zadania jak obliczenia czy przypisania ale nie zmieniają struktury iteracyjnej. Zrozumienie roli każdego z tych elementów jest kluczowe w analizie algorytmów i projektowaniu efektywnego kodu.

Pytanie 25

Podana deklaracja funkcji w języku C++ przyjmuje parametry typu liczbowego: void mojaFunkcja(int a, short b, long c);

A. liczbowe jako argumenty i zwraca wartość.
B. liczbowe jako argumenty i nie zwraca wartości.
C. liczbowe i zmiennoprzecinkowe jako argumenty i zwraca wartość.
D. liczbowe i zmiennoprzecinkowe jako argumenty i nie zwraca wartości.
Analiza niepoprawnych odpowiedzi ujawnia szereg typowych nieporozumień dotyczących typów zwracanych przez funkcje oraz typów argumentów. Wiele osób może błędnie sądzić, że funkcja, która przyjmuje parametry, zawsze musi zwracać wartość, co jest błędnym założeniem. W rzeczywistości, w C++ funkcja może być zadeklarowana z typem zwracanym 'void', co wskazuje, że jej rolą może być jedynie manipulacja danymi, a nie zwracanie wyników. Ponadto, odpowiedzi sugerujące, że funkcja przyjmuje liczby rzeczywiste, są mylące, ponieważ w zadanej deklaracji występują jedynie typy całkowite. Typy takie jak 'float' czy 'double' nie są użyte w tej funkcji, co wyklucza możliwość przyjmowania wartości zmiennoprzecinkowych. Mylne jest także myślenie, że funkcja powinna zawsze zwracać wartość, co w kontekście funkcji pomocniczych, które wykonują zadania takie jak logowanie, modyfikacje stanu obiektów, czy operacje na plikach, jest nieporozumieniem. Poprawne zrozumienie, że funkcje mogą mieć różnorodne cele i nie zawsze muszą zwracać wyniki, jest kluczowe dla pisania efektywnego i czytelnego kodu. Programiści powinni być świadomi, że dobrze zaprojektowane funkcje powinny być jednoznaczne w swoim działaniu i nie muszą przekazywać wartości, aby spełniać swoje zadania.

Pytanie 26

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

A. pobieranie oraz modyfikowanie elementów strony widocznej w przeglądarce
B. przesyłanie danych formularza bezpośrednio do bazy danych
C. przeprowadzanie operacji na zmiennych przechowujących liczby
D. manipulowanie łańcuchami zadeklarowanymi w kodzie
Odpowiedź dotycząca pobierania i modyfikowania elementów strony wyświetlonej przez przeglądarkę jest poprawna, ponieważ DOM (Document Object Model) stanowi interfejs programistyczny, który umożliwia skryptom JavaScript dostęp do struktury dokumentu HTML lub XML. Dzięki DOM programiści mogą dynamicznie zmieniać zawartość, strukturę i styl dokumentu. Na przykład, za pomocą metody document.getElementById('elementId') można uzyskać dostęp do konkretnego elementu na stronie, a następnie modyfikować jego właściwości, jak tekst czy atrybuty, za pomocą elementów takich jak innerHTML lub setAttribute. Stosowanie DOM jest zgodne z najlepszymi praktykami, takimi jak minimalizowanie manipulacji na stronie, co prowadzi do lepszej wydajności aplikacji. Warto również zwrócić uwagę na standardy W3C, które promują poprawne użycie DOM w kontekście dostępu i użyteczności stron internetowych. Umiejętność efektywnej pracy z DOM jest kluczowa w nowoczesnym web developmencie, gdzie interaktywność i dynamika są niezbędne do tworzenia atrakcyjnych i responsywnych aplikacji internetowych.

Pytanie 27

Plik konfiguracyjny, który umożliwia ustalenie parametrów PHP dla całego serwera, to

A. config.inc.php
B. httpd.conf
C. my.ini
D. php.ini
W kontekście plików konfiguracyjnych, my.ini nie jest odpowiednim wyborem dla konfiguracji PHP. Jest to plik konfiguracyjny używany głównie w systemach MySQL, gdzie definiuje ustawienia dotyczące serwera baz danych, takie jak kolejki zapytań, rozmiar pamięci czy konfiguracje replikacji. Z tego powodu nie ma związku z konfiguracją PHP, co czyni tę odpowiedź niepoprawną. Kolejnym niepoprawnym wyborem jest httpd.conf, który jest plikiem konfiguracyjnym dla serwera Apache. To on zarządza ustawieniami serwera HTTP, definiuje wirtualne hosty, reguły dotyczące przekierowań i wiele innych aspektów związanych z działaniem serwera WWW. Podobnie jak my.ini, httpd.conf nie ma zastosowania w kontekście ustawień PHP, co sprawia, że nie może być uznany za właściwą odpowiedź. Ostatnią niepoprawną opcją jest config.inc.php, który jest typowo używany w kontekście specyficznych aplikacji PHP, takich jak systemy zarządzania treścią czy frameworki. Plik ten zazwyczaj zawiera ustawienia konfiguracyjne dla konkretnej aplikacji, a nie dla całego środowiska PHP, co czyni go nieadekwatnym w niniejszym kontekście.

Pytanie 28

Jeżeli założymy, że zmienne: a, b, c mają wartości liczbowe, wynikiem spełnienia warunku będzie wyświetlenie liczby

if ($a > $b && $a > $c)
echo $a;
else if ($b > $c)
echo $b;
else
echo $c;
A. najmniejszej
B. nieparzystej
C. największej
D. parzystej
Prawidłowa odpowiedź, czyli największa liczba jest wynikiem analizy warunku, który sprawdza wartość zmiennych a, b i c. Wykorzystujemy tutaj strukturę warunkową if-else, co jest standardową techniką w wielu językach programowania, takich jak PHP czy JavaScript. Przy pierwszej linijce kodu if ($a > $b && $a > $c) echo $a sprawdzamy, czy a jest większe od b i jednocześnie większe od c. Jeśli warunek jest spełniony, wypisujemy wartość a, co oznacza, że a jest największa. Jest to zgodne z dobrą praktyką algorytmiczną, gdzie przy porównywaniu trzech wartości dokładne warunki logiczne pomagają w ustaleniu największej z nich. Struktura ta jest wydajna i łatwa do zrozumienia. Praktycznym zastosowaniem może być np. system oceniania, gdzie na podstawie kilku wyników wybieramy ten najwyższy do dalszej analizy. Prawidłowe rozpoznawanie i implementowanie takich warunków jest kluczowe w codziennej pracy programisty, który musi regularnie wybierać największe wartości do różnych zastosowań biznesowych.

Pytanie 29

Zaprezentowano kod dla tabeli 3x2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela przypominała tę z obrazka, gdzie wiersz jest niewidoczny?

<table>
    <tr>
        <td style="border: solid 1px;">Komórka 1</td>
        <td style="border: solid 1px;">Komórka 2</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 3</td>
        <td style="border: solid 1px;">Komórka 4</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 5</td>
        <td style="border: solid 1px;">Komórka 6</td>
    </tr>
</table>
/efekt jest na obrazie - nie dołączam - nie analizuj/
Ilustracja do pytania
A. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: none"</span>&gt;</pre>
B. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"clear: none"</span>&gt;</pre>
C. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: table-cell"</span>&gt;</pre>
D. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"visibility: hidden"</span>&gt;</pre>
Zastosowanie niewłaściwych właściwości CSS w tabelach może prowadzić do niezamierzonych efektów wizualnych i funkcjonalnych. 'Display: none' usunąłby wiersz z układu dokumentu, co skutkowałoby przesunięciem w górę wierszy poniżej. To podejście jest użyteczne, gdy element powinien być całkowicie usunięty z przestrzeni wizualnej i układu, ale nie spełniałoby celu przedstawionego w pytaniu, gdzie układ ma pozostać niezmieniony. Z kolei 'clear: none' jest właściwością CSS dotyczącą floatów, a nie widoczności, co oznacza, że nie miałoby żadnego wpływu na wyświetlanie wiersza tabeli. Jest to typowy błąd polegający na myleniu właściwości CSS w kontekście ukrywania elementów. Właściwość 'display: table-cell' jest stosowana dla elementów traktowanych jako komórki tabeli, co nie jest odpowiednie dla wierszy tabeli. Wybierając tę właściwość, użytkownik mógłby mylnie sądzić, że ma to wpływ na widoczność, podczas gdy w rzeczywistości zmienia jedynie sposób renderowania elementu. Prawidłowe rozumienie różnic między 'visibility' a 'display' jest kluczowe w tworzeniu przewidywalnych i stabilnych interfejsów użytkownika, co jest jednym z fundamentów dobrego projektowania front-endu. Wybór niewłaściwego podejścia do ukrywania elementów może prowadzić do niepożądanych zmian w interfejsie, co wpływa na użyteczność i estetykę strony.

Pytanie 30

Aby w tabeli praca, tworzonej w SQL, dodać warunek w kolumnie stawka, który nakazuje przyjmowanie dodatnich wartości rzeczywistych mniejszych niż 50, należy zastosować zapis

A. ... stawka float CHECK(stawka IN (0, 50.00))
B. ... stawka float CHECK(stawka BETWEEN 0 AND 50.00)
C. ... stawka float CHECK(stawka>0 OR stawka<50.00)
D. ... stawka float CHECK(stawka>0 AND stawka<50.00)
Aby w tabeli SQL dodać warunek dla kolumny 'stawka', który zapewni, że wartości będą rzeczywiste, dodatnie i mniejsze od 50, należy skorzystać z klauzuli CHECK. Odpowiedni zapis to 'CHECK(stawka > 0 AND stawka < 50.00)'. Klauzula CHECK w SQL pozwala na definiowanie ograniczeń dla wartości kolumny, co jest kluczowe w zapewnieniu integralności danych. W tym przypadku, użycie operatora AND jest istotne, ponieważ umożliwia jednoczesne sprawdzenie dwóch warunków: że 'stawka' jest większa od 0 oraz mniejsza od 50. Zastosowanie tego warunku jest zgodne z zasadami normalizacji bazy danych, która ma na celu eliminację nieprawidłowych danych. Przykładowo, jeśli spróbujesz wprowadzić wartość 0 lub 50 do kolumny 'stawka', system zwróci błąd, co zapobiega wprowadzeniu niepożądanych danych. Takie podejście jest również zalecane w standardach SQL, takich jak ANSI SQL, które podkreślają znaczenie walidacji danych.

Pytanie 31

Które z poniższych zdań poprawnie opisuje utworzoną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Kolumny tabeli dane są nazwane: kolumna1, kolumna2, kolumna3
B. Tabela o nazwie dane ma jedną kolumnę typu całkowitego
C. Tabela zawiera jedną kolumnę, która przechowuje trzyelementowe tablice
D. Tabela o nazwie dane składa się z trzech kolumn typu całkowitego
Instrukcja CREATE TABLE w podanym przykładzie tworzy tabelę o nazwie `dane` z jedną, jedyną kolumną o nazwie `kolumna` i typie `INTEGER(3)`. Kluczowe są tu dwie rzeczy: po pierwsze, nazwa tabeli (`dane`), po drugie, lista kolumn w nawiasie. W tej liście jest tylko jedna pozycja: nazwa kolumny i jej typ danych. W SQL każda definicja kolumny to osobny wpis, oddzielany przecinkiem. Skoro nie ma przecinka, to znaczy, że jest dokładnie jedna kolumna. Zapis `INTEGER(3)` nie oznacza trzech kolumn ani tablicy, tylko typ liczbowy całkowity z określoną „szerokością wyświetlania” (w MySQL) lub po prostu liczbę całkowitą – w wielu silnikach baz danych nawias jest wręcz ignorowany. W praktyce tę kolumnę możemy potem używać np. do przechowywania wieku, liczby sztuk towaru, numeru poziomu uprawnień itp. Przykładowo: `INSERT INTO dane (kolumna) VALUES (5);` wstawi rekord z wartością 5 w tej jednej kolumnie. Z mojego doświadczenia warto przy projektowaniu tabel zawsze jasno nazywać kolumny, tak żeby z samej nazwy wynikało, co przechowują, np. `wiek`, `ilosc_sztuk`, a nie ogólne `kolumna`. Dobrą praktyką jest też od razu dodanie klucza głównego, np. `id INT AUTO_INCREMENT PRIMARY KEY`, ale w tym zadaniu skupiamy się tylko na liczbie kolumn i ich typie. To pytanie dobrze pokazuje, że w SQL struktura tabeli wynika z liczby pozycji w nawiasie, a nie z liczby w nawiasie przy typie danych.

Pytanie 32

W MSSQL Server rola dbcreator, która jest predefiniowana, umożliwia użytkownikowi

A. zarządzanie bezpieczeństwem systemu
B. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych
C. zarządzanie plikami na dysku
D. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy
Zarządzanie plikami na dysku nie jest funkcjonalnością przypisaną roli dbcreator w SQL Server. Użytkownicy z tą rolą nie mają bezpośrednich uprawnień do zarządzania systemem plików na serwerze, co oznacza, że nie mogą modyfikować, przenosić ani usuwać plików bazy danych bez użycia odpowiednich zabezpieczeń. Rola dbcreator koncentruje się wyłącznie na operacjach związanych z bazami danych. Ponadto, zarządzanie bezpieczeństwem systemu również wykracza poza kompetencje roli dbcreator. Użytkownicy, którzy chcą zarządzać dostępem i bezpieczeństwem baz danych, powinni mieć przypisane role takie jak securityadmin, które pozwalają na kontrolowanie uprawnień i ról użytkowników. W kontekście prawa do wykonywania każdej operacji na serwerze i posiadania prawa własności każdej bazy danych, taka funkcjonalność przynależy do roli sysadmin, która ma pełne uprawnienia do wszystkich zasobów w SQL Server. Rola dbcreator jest ograniczona do operacji związanych z bazami danych, co czyni ją mniej potężną w porównaniu do sysadmin, ale bardziej bezpieczną w kontekście zarządzania uprawnieniami w środowisku produkcyjnym.

Pytanie 33

Jakie z wymienionych par znaczników HTML działają w ten sam sposób na stronie internetowej, jeżeli żadne style CSS nie zostały określone?

A. <p> oraz <h2>
B. <meta> oraz <title>
C. <b> oraz <strong>
D. <b> oraz <big>
Wybierając inne pary znaczników, można napotkać na kilka powszechnych nieporozumień dotyczących ich funkcji i zastosowania. Znacznik <meta> i <title> są znaczącymi elementami dokumentu HTML, ale pełnią całkowicie różne role. <meta> służy do dostarczania metainformacji o stronie, takich jak opis, słowa kluczowe czy informacje dotyczące kodowania, co jest kluczowe dla SEO i prezentacji strony w wyszukiwarkach. Z kolei <title> definiuje tytuł strony, który pojawia się na karcie przeglądarki oraz w wynikach wyszukiwania. Obie te pary znaczników nie mają wizualnego wpływu na treść wyświetlaną użytkownikowi, co sprawia, że są trudne do porównania w kontekście wizualnym. Z kolei <p> i <h2> to elementy używane do strukturyzowania treści; <p> definiuje akapit, a <h2> jest nagłówkiem drugiego poziomu. Użycie tych znaczników wpływa na hierarchię treści oraz czytelność strony. Różnice te są kluczowe w tworzeniu dostępnych i zrozumiałych dokumentów HTML. Wreszcie, <b> i <big>, mimo że oba zmieniają wygląd tekstu, nie mają podobnych zastosowań semantycznych. <big> służy do zwiększenia rozmiaru tekstu, co niekoniecznie wskazuje na jego znaczenie. Zrozumienie tych różnic jest kluczowe dla właściwego stosowania HTML i tworzenia stron, które są zgodne z dobrymi praktykami oraz standardami W3C.

Pytanie 34

Wskaż blok, który jest sformatowany zgodnie z podanym stylem CSS.

background: linear-gradient(to right, LightBlue, DarkBlue);
Ilustracja do pytania
A. Blok 2
B. Blok 1
C. Blok 3
D. Blok 4
Gradienty w CSS są potężnym narzędziem które pozwala na tworzenie gładkich i płynnych przejść między kolorami jednak ich zastosowanie wymaga zrozumienia jak działają różne typy gradientów W przypadku linear-gradient to right LightBlue DarkBlue gradient rozciąga się liniowo od lewej do prawej strony Blok 1 prawdopodobnie wykorzystuje gradient w pionie co wskazuje na niewłaściwe zrozumienie kierunku gradientu Kierunek gradientu jest kluczowy w CSS i warto zwracać uwagę na precyzyjne określenie jego początku i końca Blok 3 ukazuje gradient który wydaje się pochodzić z jednego punktu co sugeruje radial-gradient Zastosowanie radialnych gradientów różni się od liniowych gdyż rozciągają się one od środka do krawędzi Blok 4 wskazuje na nieregularny układ kolorów co może być wynikiem nieprawidłowego zastosowania wartości kolorów lub typów gradientu Takie nieintencjonalne błędy mogą wyniknąć z niewłaściwego zrozumienia składni CSS i zazwyczaj są efektem braku dokładności w definiowaniu stylów Zrozumienie jak gradienty wpływają na estetykę i funkcjonalność pomoże unikać tych błędów i tworzyć bardziej spójne i atrakcyjne wizualnie projekty internetowe Edukacja w zakresie poprawnego stosowania gradientów i ich właściwości umożliwia stworzenie bardziej efektywnych i przyjaznych dla użytkownika rozwiązań webowych co jest istotną częścią współczesnego projektowania UX i UI

Pytanie 35

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ę i przesyłanie danych w języku JavaScript
C. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
D. walidację w skrypcie PHP, a przesyłanie danych w 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 36

Jakim zapisem można w dokumencie HTML stworzyć element, który wyświetla obraz kotek.jpg oraz zawiera tekst alternatywny „obrazek kotka”?

A. <img src="/kotek.jpg" alt="obrazek kotka">
B. <img src="/kotek.jpg" title="obrazek kotka">
C. <img href="/kotek.jpg" alt="obrazek kotka">
D. <img href="/kotek.jpg" title="obrazek kotka">
W analizowanych odpowiedziach pojawiają się błędne koncepcje dotyczące atrybutów używanych w tagu <img>. Atrybut 'href' nie jest właściwy w kontekście obrazów; jest on używany w tagu <a> do definiowania linków. W związku z tym zapisy, które zawierają 'href', są niepoprawne, ponieważ nie prowadzą do załadowania obrazu. Zamiast tego, atrybut 'src' jest kluczowy, ponieważ informuje przeglądarkę, skąd ma pobrać plik graficzny. Ponadto ważne jest, aby używać atrybutu 'alt' w celu opisu zawartości obrazów, co znacząco wpływa na dostępność strony internetowej. W przypadku pominięcia atrybutu 'alt' lub użycia niewłaściwego atrybutu, użytkownicy korzystający z technologii asystujących mogą nie otrzymać istotnych informacji o wizualnych elementach strony, co może prowadzić do frustracji i braku zrozumienia treści. Należy unikać typowych błędów myślowych, takich jak przekonanie, że atrybuty są zamienne lub że nie mają one znaczenia dla dostępności. Łączenie niewłaściwych atrybutów z tagiem <img> skutkuje poważnymi problemami z wyświetlaniem treści oraz dostępnością strony, co jest sprzeczne z najlepszymi praktykami tworzenia stron internetowych.

Pytanie 37

Przedstawiony serwis internetowy służy do walidacji

Ilustracja do pytania
A. arkuszy stylów.
B. dokumentów HTML.
C. bazy danych SQL.
D. skryptów JavaScript.
Twoja odpowiedź jest prawidłowa. Strona internetowa 'CSS Validation Service' jest narzędziem stworzonym przez konsorcjum W3C do walidacji arkuszy stylów CSS. W3C, czyli World Wide Web Consortium, to międzynarodowa społeczność, która rozwija otwarte standardy mające na celu długoterminowe wzrost i rozwój sieci WWW. Narzędzie do walidacji CSS zapewnia mechanizm sprawdzania kodu CSS pod kątem zgodności ze standardami W3C. Dzięki temu deweloperzy mogą upewnić się, że ich arkusze stylów są poprawne, co jest kluczowe dla zapewnienia prawidłowego wyglądu i działania stron internetowych na różnych platformach i przeglądarkach. Walidator CSS pomaga także naprawić ewentualne błędy w kodzie. To jest praktyczne zastosowanie tej usługi - utrzymanie jednolitych standardów kodowania, co prowadzi do większej interoperacyjności pomiędzy różnymi technologiami i narzędziami.

Pytanie 38

Ile razy zostanie wykonany blok pętli napisanej w PHP, przy założeniu, że zmienna sterująca nie jest modyfikowana podczas działania pętli?

for($i=0; $i <=10; $i+=2) {
       . . . . . .
}
A. 0
B. 10
C. 5
D. 6
Poprawna odpowiedź to 6 ponieważ pętla for w PHP rozpoczyna się od wartości początkowej zmiennej sterującej i inkrementuje ją zgodnie z określonym krokiem aż do momentu spełnienia warunku końcowego Przy początkowej wartości zmiennej i równej 0 i warunku i<=10 oraz kroku i+=2 pętla wykonuje się dla wartości i równych 0 2 4 6 8 i 10 co daje 6 iteracji W takich przypadkach ważne jest aby zrozumieć jak działają podstawowe elementy składni pętli for oraz jakie jest znaczenie warunku końcowego i kroku iteracji W praktyce taki sposób iteracji jest użyteczny w sytuacjach gdzie przetwarzamy dane w określonych odstępach Warto również zwrócić uwagę że dobra praktyka programistyczna zakłada czytelność kodu i stosowanie jasnych komentarzy zwłaszcza gdy pętla ma bardziej złożoną logikę Dzięki temu kod jest łatwiejszy do zrozumienia i utrzymania przez innych programistów co jest kluczowe w pracy zespołowej oraz długoterminowym rozwijaniu projektu

Pytanie 39

W języku HTML zdefiniowano listę:

<ol>
  <li>biały</li>
  <li>czerwony
    <ul>
      <li>różowy</li>
      <li>pomarańczowy</li>
    </ul></li>
  <li>niebieski</li>
</ol>
A. Nie ma zagłębień i jest numerowana, słowo "niebieski" ma przyporządkowany numer 5.
B. Jest to lista punktowana z zagłębioną listą numerowaną.
C. Nie ma zagłębień i jest punktowana, wyświetla 5 punktów.
D. Jest to lista numerowana z zagłębioną listą punktowaną.
Niestety, nie trafiłeś w odpowiedź. Ta lista, co widziałeś na obrazku, jakby nie było, jest zdefiniowana przez znacznik <ol>, więc to lista uporządkowana, a nie punktowana. W HTML mamy właśnie te dwa typy list: uporządkowane i nieuporządkowane, które robi się przez <ol> i <ul>. To, co w Twojej odpowiedzi może być błędne, to pomylenie zagnieżdżeń – w tej liście numerowanej jest jeszcze lista punktowana w środku. Nie ma czegoś takiego, że liczby przypisujesz do pojedynczych słów, jak 'niebieski', albo ograniczasz punkty. Numery w liście są przypisywane automatycznie, w kolejności dodawania. I ważne, żeby rozumieć różnice między tymi listami i umieć je właściwie zagnieżdżać. Jest to kluczowe w HTML.

Pytanie 40

Używając polecenia ALTER TABLE, co można zrobić?

A. zmiana struktury tabeli
B. usunięcie tabeli
C. stworznie tabeli
D. zmiana wartości w rekordach tabeli
Polecenie ALTER TABLE w SQL jest używane do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, zmieniać typ danych kolumn, a także dodawać klucze obce lub indeksy. Przykładem zastosowania ALTER TABLE może być dodanie nowej kolumny do tabeli pracowników w celu rejestrowania daty zatrudnienia: 'ALTER TABLE pracownicy ADD COLUMN data_zatrudnienia DATE;'. Good practices w zakresie modyfikacji tabeli sugerują, aby przed dokonaniem takich zmian zawsze tworzyć kopię zapasową bazy danych. Warto również monitorować wpływ zmian na istniejące zapytania oraz aplikacje, które wykorzystują tę tabelę, aby uniknąć potencjalnych błędów w przyszłości. W kontekście projektowania baz danych, ALTER TABLE stanowi kluczowy element w utrzymaniu i dostosowywaniu struktury bazy danych do zmieniających się potrzeb organizacji. Na przykład, w miarę wzrostu firmy mogą pojawić się potrzeby wprowadzenia nowych informacji dotyczących klientów, co wymaga elastyczności w strukturze bazy danych.