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 kwietnia 2026 19:34
  • Data zakończenia: 6 kwietnia 2026 20:21

Egzamin zdany!

Wynik: 34/40 punktów (85,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Dostosowanie wyglądu witryny do indywidualnych preferencji użytkownika oraz jego identyfikacja w systemie są możliwe dzięki mechanizmowi

A. cookie
B. obiektów DOM
C. łączenia z bazą
D. formularzy
Wybór formularzy, DOM i łączenia z bazą danych jako sposobów na personalizację strony i identyfikację użytkownika to trochę nieporozumienie. Formularze pozwalają na wysyłanie danych, jak logowanie czy rejestracja, ale same w sobie nie przechowują informacji o użytkownikach. Ich głównym celem jest interakcja z użytkownikiem. Obiekty DOM to właściwie struktura dokumentu HTML i umożliwiają modyfikację elementów na stronie, ale nie służą do identyfikacji użytkownika. Łączenie z bazą danych jest ważne dla przechowywania danych, ale to nie to samo co lokalne przechowywanie, które jest kluczowe dla personalizacji. Jeśli chcesz dobrze projektować aplikacje webowe, warto zrozumieć te różnice, bo błędy mogą się zdarzyć, zwłaszcza jeśli chodzi o cookies.

Pytanie 2

Aby przekształcić tekst „ala ma psa” na „ALA MA PSA”, jaka funkcja PHP powinna być zastosowana?

A. strtolower('ala ma psa');
B. strtoupper('ala ma psa');
C. strstr ('ala ma psa');
D. ucfirst ('ala ma psa');
Funkcja strtoupper w PHP jest używana do konwersji wszystkich liter w danym ciągu znaków na wielkie litery. W kontekście modyfikacji tekstu „ala ma psa” na „ALA MA PSA”, zastosowanie funkcji strtoupper('ala ma psa') jest poprawnym podejściem. Funkcja ta jest częścią standardowej biblioteki PHP i jest szeroko stosowana w projektach, gdzie zachowanie wielkich liter jest kluczowe. Przykład użycia funkcji strtoupper jest prosty: wystarczy przekazać do niej ciąg, który ma zostać przekształcony. Przykładem może być zapis: $text = 'ala ma psa'; $uppercaseText = strtoupper($text); echo $uppercaseText; co wygeneruje wynik ALA MA PSA. Warto zauważyć, że funkcja ta nie zmienia oryginalnego ciągu, lecz zwraca nowy ciąg z przekształconymi literami. Zastosowanie funkcji strtoupper jest szczególnie przydatne w aplikacjach webowych, gdzie formatowanie tekstu może być kluczowe dla zapewnienia spójności danych wyjściowych oraz ich estetyki.

Pytanie 3

W CSS zapis selektora p > i { color: red;} wskazuje, że kolorem czerwonym zostanie zdefiniowany

A. tylko ten tekst w znaczniku <p>, który posiada klasę o nazwie i
B. wszelki tekst w znaczniku <p>, z wyjątkiem tych w znaczniku <i>
C. tylko ten tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
D. wszelki tekst w znaczniku <p> lub wszelki tekst w znaczniku <i>
Zapis selektora p > i w CSS oznacza, że styl zostanie zastosowany jedynie do znaczników <i>, które są bezpośrednimi dziećmi znacznika <p>. W praktyce oznacza to, że jeśli w dokumencie HTML mamy strukturę, gdzie znacznik <i> znajduje się bezpośrednio wewnątrz <p>, tekst w tym <i> zostanie sformatowany na czerwono. Takie podejście do stylizacji jest zgodne z zasadami kaskadowego arkusza stylów, gdzie selektory mogą precyzyjnie określać, które elementy mają być stylizowane. Użycie operatora > jest dobrym przykładem zastosowania selektorów potomków w CSS, co pozwala na bardziej precyzyjne i efektywne zarządzanie stylami. Dobrą praktyką jest unikanie nadmiernej hierarchii w selektorach, co może prowadzić do złożonych i trudnych do utrzymania arkuszy stylów. W związku z tym, zrozumienie działania selektorów jest kluczowe dla efektywnego korzystania z CSS.

Pytanie 4

W aplikacji PHP do bazy danych została wysłana kwerenda SELECT przy pomocy funkcji mysqli_query. Jaką funkcję powinien wykorzystać użytkownik, aby ustalić, ile rekordów zostało zwróconych przez zapytanie?

A. mysqli_query
B. mysqli_num_rows
C. mysqli_connect
D. mysqli_fetch_row
Funkcja mysqli_num_rows jest kluczowym narzędziem w interakcji z bazą danych w PHP, umożliwiającym sprawdzenie liczby rekordów zwróconych przez zapytanie SELECT. Po wywołaniu mysqli_query, które wykonuje zapytanie SQL, można uzyskać wynik, który jest obiektem typu mysqli_result. Używając mysqli_num_rows, możemy szybko i efektywnie dowiedzieć się, ile rekordów zostało zwróconych przez to zapytanie. Przykładowo, po wykonaniu zapytania do bazy danych można użyć poniższego kodu: $result = mysqli_query($conn, 'SELECT * FROM users'); $count = mysqli_num_rows($result); echo 'Liczba rekordów: ' . $count;. Dzięki temu użytkownik ma pełną kontrolę nad danymi, co jest zgodne z najlepszymi praktykami w programowaniu, gdzie liczenie rekordów może być niezbędne do dalszej logiki aplikacji, jak stronicowanie wyników czy walidacja danych. Warto również wiedzieć, że mysqli_num_rows nie tylko zwraca liczbę rekordów, ale także działa wydajnie, co ma znaczenie przy dużych zbiorach danych, gdzie minimalizowanie obciążenia serwera i bazy jest kluczowe.

Pytanie 5

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. sumy.
C. wykluczenia.
D. grupowania.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 6

Program FileZilla może być użyty do

A. zmiany domyślnych ustawień hostingu dla strony internetowej
B. publikacji strony internetowej na serwerze
C. walidacji strony internetowej
D. zarządzania bazami danych strony internetowej
Program FileZilla jest popularnym klientem FTP, który umożliwia przesyłanie plików na serwery internetowe, co jest kluczowe przy publikacji stron internetowych. Użytkownicy mogą korzystać z FileZilla do łatwego zarządzania plikami na serwerze, co pozwala na przesyłanie wszystkich niezbędnych plików HTML, CSS, JavaScript oraz multimediów do katalogu głównego serwera. Przykładowo, po zakończeniu prac nad stroną lokalnie, użytkownik może użyć FileZilla do przesłania plików na serwer, co sprawia, że strona staje się dostępna dla internautów. Program wspiera różne protokoły transferu plików, takie jak FTP, FTPS czy SFTP, co zwiększa bezpieczeństwo przesyłania danych, zgodnie z dzisiejszymi standardami. Używając FileZilla, użytkownicy mogą również zarządzać strukturą katalogów na serwerze, co jest zgodne z dobrymi praktykami w zakresie organizacji plików. Poznanie tego narzędzia i jego funkcji jest niezwykle istotne dla każdego, kto planuje publikować treści w internecie.

Pytanie 7

Informacje o ciasteczkach są przechowywane w tablicy

A. $_SERVER
B. $_GET
C. $_POST
D. $_COOKIE
Odpowiedź $_COOKIE jest prawidłowa, ponieważ to właśnie ten superglobalny zbiór w PHP przechowuje dane ciasteczek w postaci tablicy asocjacyjnej. Ciasteczka są małymi plikami danych, które są przechowywane na komputerze użytkownika przez przeglądarkę internetową. Umożliwiają one stronom internetowym przechowywanie informacji na temat sesji użytkownika, preferencji lub stanu logowania. W praktyce, aby uzyskać wartość konkretnego ciasteczka, można użyć składni $_COOKIE['nazwa_ciasteczka']. Na przykład, jeśli mamy ciasteczko o nazwie 'user', możemy uzyskać jego wartość przez $_COOKIE['user']. Warto pamiętać, że ciasteczka są limitowane do 4KB danych oraz mają różne daty wygaśnięcia, co czyni je elastycznym narzędziem do zarządzania sesjami i preferencjami użytkowników w aplikacjach webowych. Dobre praktyki mówią, aby nie przechowywać w ciasteczkach informacji wrażliwych, a zamiast tego stosować mechanizmy szyfrowania, aby zwiększyć bezpieczeństwo przechowywanych danych.

Pytanie 8

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest widoczne na zamieszczonym rysunku?

Ilustracja do pytania
A. WordPress
B. MediaWiki
C. Drupal
D. Joomla!
Joomla! to popularny system zarządzania treścią CMS który jest szeroko stosowany do tworzenia stron internetowych aplikacji online i portali. Dzięki swojej elastyczności Joomla! jest wybierany przez wiele firm i organizacji do zarządzania treścią online. System ten charakteryzuje się modułową architekturą która umożliwia łatwe rozszerzanie jego funkcjonalności za pomocą komponentów modułów i wtyczek. Jednym z głównych atutów Joomla! jest intuicyjny interfejs użytkownika który umożliwia zarządzanie treścią bez potrzeby głębokiej wiedzy technicznej. Dodatkowo Joomla! wspiera wiele języków co czyni go idealnym wyborem dla międzynarodowych organizacji. Warto również zaznaczyć że Joomla! jest open-source co oznacza że jest rozwijany przez społeczność programistów z całego świata którzy regularnie aktualizują i ulepszają oprogramowanie. Wybranie Joomla! jako CMS pozwala na korzystanie z dużej liczby szablonów i dodatków które umożliwiają personalizację witryny zgodnie z wymaganiami klienta. Dzięki solidnej bazie użytkowników i deweloperów Joomla! oferuje wsparcie techniczne i dokumentację która ułatwia rozwiązywanie problemów. W praktyce Joomla! jest wykorzystywany przez różnorodne witryny od małych blogów po rozbudowane platformy e-commerce co potwierdza jego wszechstronność i skuteczność.

Pytanie 9

Które zapytanie MySQL należy użyć, aby usunąć jedynie pracowników, którzy zarabiają nie mniej niż 500 i nie więcej niż 1000 zł oraz ich miejsce pracy zawiera frazę tx

A. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';
B. DELETE FROM pracownicy WHERE pensja IN (500,1000) AND miejsce_pracy LIKE '*tx*';
C. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 OR miejsce_pracy LIKE '%tx%';
D. DELETE FROM pracownicy WHERE pensja > 500 AND pensja < 1000 AND miejsce_pracy LIKE '%tx%';
Poprawne jest zapytanie: DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';. Słowo kluczowe BETWEEN w SQL oznacza przedział domknięty, czyli w tym przypadku usuwani będą pracownicy, którzy zarabiają co najmniej 500 i jednocześnie nie więcej niż 1000 zł. To dokładnie odpowiada treści zadania, bez żadnych niedomówień na granicach zakresu. Gdybyśmy użyli > i <, to wartości 500 i 1000 zostałyby wykluczone, co w tym zadaniu byłoby niezgodne z wymaganiem. Drugi warunek korzysta z operatora LIKE wraz z maską '%tx%'. Wzorzec z procentami z obu stron oznacza: znajdź wszystkie wiersze, gdzie ciąg znaków „tx” występuje gdziekolwiek w tekście kolumny miejsce_pracy – na początku, w środku albo na końcu. W MySQL znak % jest standardowym symbolem wieloznacznym (wildcard) dla dowolnego ciągu znaków, a nie gwiazdka *, dlatego zapis z % jest poprawny i zgodny z dokumentacją. Spójnik AND jest tu kluczowy, bo warunek mówi wyraźnie: usuwamy tylko tych pracowników, którzy spełniają jednocześnie oba kryteria – zarówno zakres pensji, jak i fragment tekstu w miejscu pracy. W praktyce takie zapytanie stosuje się np. przy porządkowaniu danych testowych: można szybko usunąć sztuczne rekordy z określonego przedziału płac i z wybranych lokalizacji. Moim zdaniem warto wyrabiać sobie nawyk bardzo precyzyjnego formułowania warunków logicznych (AND/OR) i zawsze sprawdzać, czy zakres jest domknięty czy otwarty. Dobrą praktyką jest też najpierw wykonać SELECT z tym samym WHERE, zobaczyć jakie rekordy zostaną naruszone, a dopiero potem odpalać DELETE – szczególnie na produkcyjnej bazie, bo tam pomyłki bywają bolesne.

Pytanie 10

W języku PHP zapis

// 
pozwala na:
A. dodanie komentarza jednoliniowego
B. użycie tablicy superglobalnej
C. dodanie komentarza wieloliniowego
D. użycie operatora dzielenia bez reszty
W języku PHP zapis <pre>//</pre> służy do wstawiania komentarzy jednoliniowych. Komentarze są istotnym elementem kodu, ponieważ pozwalają programistom na dokumentowanie i wyjaśnianie fragmentów kodu, co ułatwia jego zrozumienie i utrzymanie. W PHP, komentarze jednoliniowe zaczynają się od dwóch ukośników i rozciągają się do końca danej linii. Przykładowo, zapis <pre>// To jest komentarz jednoliniowy</pre> informuje innych programistów, że dany tekst jest komentarzem, który nie zostanie wykonany przez interpreter PHP. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programowania, ponieważ poprawia czytelność kodu oraz pozwala na szybszą analizę struktury i logiki aplikacji. Dobrą praktyką jest dokumentowanie nie tylko skomplikowanych fragmentów, ale również takich, które mogą wydawać się oczywiste, aby zminimalizować ryzyko nieporozumień w przyszłości. Komentarze pomagają także w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem.

Pytanie 11

W CSS zapis selektora

p > i { color: red;} 
wskazuje, że kolorem czerwonym będzie wyróżniony
A. wszystkie teksty w znaczniku <p> lub każdy tekst w znaczniku <i>
B. każdy tekst w znaczniku <p> z wyjątkiem tych w znaczniku <i>
C. tylko ten tekst znacznika <p>, który ma przypisaną klasę o nazwie i
D. jedynie tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
Odpowiedź ta jest poprawna, ponieważ selektor CSS <pre>p &gt; i { color: red; }</pre> definiuje regułę, która odnosi się jedynie do elementów <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Operator > jest selektorem potomka bezpośredniego, co oznacza, że tylko te <i>, które są bezpośrednio dzieckiem <p>, będą miały przypisany kolor czerwony. Na przykład, jeśli w kodzie HTML mamy <p><i>Tekst</i></p>, to ten tekst będzie czerwony. Z drugiej strony, jeżeli <i> znajduje się zagnieżdżone w innym elemencie wewnątrz <p>, jak <p><span><i>Tekst</i></span></p>, to ten tekst nie będzie formatowany na czerwono. Tego typu selektory są niezwykle przydatne w praktycznym zastosowaniu, gdyż pozwalają na precyzyjne określenie stylów dla konkretnych elementów, co jest zgodne z najlepszymi praktykami projektowania stron internetowych, takimi jak utrzymanie czytelności kodu i unikanie niezamierzonych efektów formatowania.

Pytanie 12

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. Punto, Corsa, Corolla
B. Fiat, Opel, Toyota
C. Punto, Corsa, Astra, Corolla, Yaris
D. Czerwony, grafitowy
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 13

<img src="/rysunek.png" alt="pejzaż"> Zapisany został kod HTML, który wstawia obrazek na stronę. Jeśli rysunek.png nie zostanie znaleziony, przeglądarka

A. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
B. nie załaduje strony internetowej
C. wyświetli w miejscu grafiki tekst "pejzaż"
D. w miejscu grafiki pokaże tekst "rysunek.png"
Kiedy przeglądarka internetowa napotyka na kod HTML, który zawiera element graficzny, w takim przypadku, jeśli wskazany plik nie jest dostępny, następuje zachowanie określone przez atrybut 'alt'. W omawianym przykładzie, gdy przeglądarka nie może znaleźć pliku 'rysunek.png', wyświetli tekst alternatywny 'pejzaż'. Atrybut 'alt' jest niezwykle ważny z perspektywy dostępności oraz SEO, ponieważ pozwala na dostarczenie informacji o obrazie osobom, które nie mogą go zobaczyć, takim jak osoby niewidome korzystające z czytników ekranu. Z punktu widzenia standardów W3C, atrybut 'alt' jest zalecany dla każdego elementu <img>, aby poprawić użyteczność strony. W praktyce, dobrze skonstruowane opisy w atrybucie 'alt' mogą również wpłynąć pozytywnie na pozycjonowanie witryny w wyszukiwarkach, co czyni go kluczowym elementem podczas tworzenia treści na stronie internetowej. Z tego powodu umieszczanie informacyjnych i zrozumiałych opisów w tym atrybucie jest niezbędne nie tylko dla poprawy dostępności, ale także dla efektywnej optymalizacji SEO.

Pytanie 14

Interpreter PHP zgłosi błąd i nie zrealizuje kodu, jeśli programista

A. będzie definiował zmienne w obrębie warunku
B. nie umieści średnika po wyrażeniu w instrukcji if, jeśli po nim występuje sekcja else
C. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
D. będzie pisał kod bez odpowiednich wcięć
W języku PHP, średnik jest traktowany jako znak końca instrukcji. W przypadku, gdy po wyrażeniu w instrukcji 'if' następuje sekcja 'else', programista musi upewnić się, że poprawnie zakończył instrukcję 'if' średnikiem. W przeciwnym razie, interpreter PHP nie będzie w stanie poprawnie zinterpretować kodu, co prowadzi do błędu składniowego. Przykład: 'if ($a > $b) echo 'a jest większe'; else echo 'b jest większe';' jest poprawny, ponieważ średnik znajduje się po instrukcji 'if'. Jednak, jeśli napiszemy 'if ($a > $b) echo 'a jest większe' else echo 'b jest większe';', to zaowocuje to błędem, ponieważ brak średnika prowadzi do niejednoznaczności w interpretacji. Standardy PHP wymagają, aby każda instrukcja była zakończona średnikiem, co jest kluczowym elementem składni tego języka.

Pytanie 15

W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu

A. cellspacing
B. cellpadding
C. colspan
D. rowspan
Atrybut rowspan w języku HTML jest kluczowy do scalania komórek tabeli w pionie, co oznacza, że pozwala na połączenie dwóch lub więcej komórek w jednej kolumnie w jedną, większą komórkę. Dzięki temu, można uzyskać bardziej przejrzysty i zorganizowany układ informacji w tabelach, zwłaszcza w przypadku danych, które są ze sobą powiązane. Na przykład, jeśli mamy tabelę, w której jeden z wierszy odnosi się do tytułu kategorii, a poniżej znajdują się różne elementy tej kategorii, użycie atrybutu rowspan w pierwszej komórce umożliwi jej rozszerzenie na kilka wierszy, co wizualnie połączy te dane. Standard HTML5 definiuje atrybut rowspan jako atrybut, który przyjmuje wartość liczbową, określającą liczbę wierszy, które mają zostać scalone. Przykładowy kod HTML mógłby wyglądać następująco: <table><tr><td rowspan='3'>Kategoria</td><td>Element 1</td></tr><tr><td>Element 2</td></tr><tr><td>Element 3</td></tr></table>, co w efekcie tworzy jedną komórkę o wysokości trzech wierszy oraz trzy osobne komórki w drugiej kolumnie. Użycie rowspan w praktyce jest nie tylko estetyczne, ale również poprawia czytelność danych, co jest niezmiernie ważne w interfejsach użytkownika.

Pytanie 16

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla konta root na serwerze localhost
B. dla konta root na serwerze sprzedawca
C. do wszystkich kolumn w tabeli hurtownia
D. do wszystkich tabel w bazie danych hurtownia
Podane polecenie SQL <code>GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';</code> jest poprawne, ponieważ przyznaje uprawnienia do wykonywania zapytań SELECT na wszystkich tabelach w bazie danych hurtownia. Operator <code>.*</code> w kontekście bazy danych oznacza, że dotyczy to wszystkich tabel znajdujących się w tej bazie. Przyznawanie uprawnień w taki sposób jest zgodne z najlepszymi praktykami zarządzania dostępem w systemach baz danych, ponieważ umożliwia kontrolowanie, którzy użytkownicy mogą uzyskiwać dostęp do danych. W praktyce, jeśli 'sprzedawca' potrzebuje przeglądać dane ze wszystkich tabel w hurtowni, to takie przyznanie uprawnień jest najbardziej efektywne. Takie podejście ułatwia zarządzanie uprawnieniami, pozwalając administratorom na nadawanie ogólnych uprawnień w ramach bazy danych, zamiast przypisywania ich dla każdej tabeli z osobna. Dobrą praktyką jest również regularne przeglądanie i aktualizowanie przydzielonych uprawnień, aby zapewnić bezpieczeństwo i zgodność z zasadami ochrony danych.

Pytanie 17

W języku PHP wartość 1 została przypisana do zmiennej $a. Porównanie $a === $b zwraca true, gdy zmienna $b ma wartość

A. A. *1
B. C. 1 lub '1'
C. D. "1" lub '1'
D. B. '1'
W przypadku użycia operatora == w porównaniu zmiennych w PHP, może dojść do automatycznej konwersji typów, co prowadzi do niejasnych wyników. Wiele osób myśli, że porównanie zmiennej typu integer z zmienną typu string zawsze będzie zachodzić poprawnie, co jest jednym z najczęstszych błędów. Na przykład, jeśli zmienna $b jest zainicjowana wartością '1' (string), operator == zwróci true, ponieważ PHP automatycznie przekształci string na liczbę przed porównaniem. To podejście może prowadzić do nieprzewidywalnych wyników, gdy porównujemy różne typy danych, co może być źródłem błędów w bardziej złożonych aplikacjach. Ponadto, w kontekście programowania w PHP, praktyki związane z silnym typowaniem zyskują na znaczeniu, a operator === staje się preferowany, ponieważ zapewnia większą przewidywalność i bezpieczeństwo kodu. Używanie operatora == może prowadzić do sytuacji, gdzie programista nie jest świadomy, że różne typy danych są porównywane, co może skutkować nieprawidłowymi wynikami. Warto również rozważyć, że w przypadku porównania z typem string, takie jak '1', PHP zastosuje konwersję, co może prowadzić do błędów, jeśli nie jesteśmy świadomi tej konwencji. Dlatego kluczowe jest zrozumienie różnicy między tymi operatorami, aby uniknąć niezamierzonych konsekwencji w logicznych warunkach w kodzie.

Pytanie 18

Przy założeniu, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
nada użytkownikowi anna uprawnienia wyłącznie do
A. wybierania, dodawania kolumn oraz zmiany struktury tabeli o nazwie klienci
B. wybierania, wstawiania oraz aktualizacji danych w tabeli o nazwie klienci
C. wybierania, dodawania kolumn oraz zmiany struktury wszystkich tabel w bazie o nazwie klienci
D. wybierania, wstawiania oraz aktualizacji danych we wszystkich tabelach w bazie o nazwie klienci
Polecenie SQL 'GRANT SELECT, INSERT, UPDATE ON klienci TO anna;' przyznaje użytkownikowi 'anna' konkretne uprawnienia do tabeli 'klienci'. Oznacza to, że użytkownik ten będzie miał możliwość wybierania (SELECT), wstawiania (INSERT) oraz aktualizacji (UPDATE) danych w tej konkretnej tabeli. To podejście jest zgodne z zasadą minimalnych uprawnień, co oznacza, że użytkownik powinien mieć jedynie te prawa, które są niezbędne do wykonywania jego zadań. Na przykład, jeśli 'anna' jest pracownikiem działu sprzedaży, może być konieczne, aby miała dostęp do aktualizacji informacji o klientach, ale nie potrzebuje uprawnień do usuwania rekordów (DELETE) czy zmiany struktury tabeli (ALTER). Praktyczne zastosowanie takiego przydzielania uprawnień pomaga w zabezpieczeniu danych oraz minimalizuje ryzyko nieautoryzowanych zmian, co jest standardem w zarządzaniu bazami danych. Dodatkowo, stosowanie takich restrykcji w przydzielaniu ról jest zgodne z najlepszymi praktykami bezpieczeństwa w branży IT, aby zapobiegać potencjalnym nadużyciom.

Pytanie 19

W CSS przypisano regułę: float: left; dla elementu blokowego. Jakie będzie jej zastosowanie?

A. wyrównania tekstu do lewej strony
B. ustawienia bloku na lewo w stosunku do innych
C. wyrównania elementów tabeli do lewej strony
D. układania bloków jeden pod drugim
Reguła CSS 'float: left;' jest używana do ustawienia elementu blokowego po lewej stronie kontenera, co pozwala na swobodne rozmieszczanie innych elementów w otaczającym go obszarze. Elementy, które są ustawione jako 'float', nie zajmują miejsca w normalnym przepływie dokumentu, co oznacza, że inne elementy mogą 'przepływać' wokół nich. Przykładem zastosowania tej reguły może być układ strony internetowej, gdzie zdjęcia są umieszczone z lewej strony tekstu, co pozwala na estetyczne i funkcjonalne połączenie grafiki z treścią. Zgodnie z wytycznymi W3C, właściwości 'float' powinny być używane z rozwagą, aby uniknąć problemów z układaniem stron, na przykład należy pamiętać o zastosowaniu właściwości 'clear', aby uniknąć niechcianych efektów wizualnych. W praktyce, float jest często stosowany w układach siatki lub responsywnych, gdzie elastyczne i dynamiczne rozmieszczenie elementów jest kluczowe dla użyteczności i estetyki strony.

Pytanie 20

 SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel"; 

Tabela samochody zawiera rekordy przedstawione na obrazie. Wydając przedstawione zapytanie SQL zostaną zwrócone dane:
idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
A. zafira; insignia
B. opel zafira
C. opel zafira; opel insignia
D. zafira
Gratulacje, twoja odpowiedź jest poprawna. Zapytanie SQL 'SELECT model FROM samochody WHERE rocznik > 2017 AND marka = 'opel';' ma na celu wyświetlenie modelu samochodu marki 'opel' z roku produkcji późniejszego niż 2017. Analizując dostępną tabelę, możemy zauważyć, że tylko model 'zafira' spełnia oba kryteria. W tym przypadku wykorzystaliśmy dwa kluczowe elementy języka SQL, tj. instrukcję SELECT i klauzulę WHERE. Instrukcja SELECT służy do zapytań o konkretne dane z bazy, a klauzula WHERE to powszechnie stosowane narzędzie do filtrowania wyników zapytania według określonych kryteriów. Jest to bardzo praktyczny aspekt SQL, który pozwala na wydobywanie tylko tych danych, które są potrzebne, co jest niezwykle przydatne przy dużych bazach danych.

Pytanie 21

Podano fragment kodu PHP, w którym znajduje się zadeklarowana zmienna typu tablica. Jakie imię zostanie wyświetlone po wykonaniu tego kodu?

Ilustracja do pytania
A. Aleksandra
B. Krzysztof
C. Tomasz
D. Anna
W prezentowanym kodzie PHP mamy do czynienia z tablicą indeksowaną. Tablica ta zawiera cztery elementy: 'Anna' 'Tomasz' 'Krzysztof' i 'Aleksandra'. W PHP tablice indeksowane są zerowane czyli pierwszy element znajduje się pod indeksem 0 drugi pod indeksem 1 i tak dalej. Dlatego jeśli chcemy uzyskać dostęp do trzeciego elementu tablicy musimy odwołać się do indeksu 2. W związku z tym wyrażenie echo $imiona[2] wypisze wartość 'Krzysztof'. Zrozumienie indeksowania tablic w PHP jest kluczowe zwłaszcza przy operacjach na dużych zbiorach danych. Poprawna praktyka programistyczna polega na dokładnym śledzeniu indeksów aby uniknąć błędów typu 'index out of range'. Warto również zwrócić uwagę na alternatywne sposoby deklaracji tablic w PHP np. za pomocą skróconej notacji [] co jest preferowane w nowszych wersjach PHP ze względu na czytelność i zwięzłość kodu. Takie podejście zgodne jest z dobrymi praktykami w programowaniu obiektowym oraz w przypadku tworzenia API gdzie struktury danych są często wykorzystywane w podobny sposób.

Pytanie 22

Jakie zadanie wykonuje funkcja agregująca AVG w poniższym zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. wyznaczyć największą cenę za usługi
B. sprawdzić, ile usług znajduje się w tabeli
C. obliczyć średnią arytmetyczną cen wszystkich usług
D. zsumować ceny wszystkich usług
Dobra robota z odpowiedzią! Funkcja AVG w SQL służy do obliczania średniej z wartości w danej kolumnie, tutaj mamy kolumnę 'cena' w tabeli 'uslugi'. Korzystając z AVG, możesz łatwo dowiedzieć się, jaki jest średni koszt usług, co jest mega pomocne w analizowaniu wydatków. Moim zdaniem, średnia arytmetyczna ma spore znaczenie w raportach finansowych, przy podejmowaniu decyzji w biznesie i śledzeniu trendów rynkowych. Fajnie jest też wiedzieć, że ta funkcja ignoruje wartości NULL, co sprawia, że wyniki są bardziej wiarygodne, kiedy nie wszystkie usługi mają podane ceny. Warto pamiętać, że najlepiej używać funkcji agregujących z klauzulami GROUP BY, żeby móc dokładniej analizować, na przykład średnie ceny w różnych kategoriach usług.

Pytanie 23

W języku SQL, aby wstawić wiersz danych do tabeli w bazie danych, należy zastosować polecenie

A. CREATE ROW
B. CREATE INTO
C. SELECT ROW
D. INSERT INTO
Poprawną składnią do wstawiania nowych wierszy w SQL jest polecenie INSERT INTO i to jest taki absolutny fundament pracy z bazą danych. Standard SQL (ANSI/ISO) definiuje właśnie tę komendę jako podstawowy mechanizm dodawania rekordów do tabeli. Typowy zapis wygląda na przykład tak: INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]');. Najpierw podajemy nazwę tabeli, potem listę kolumn, a następnie wartości w dokładnie tej samej kolejności. W praktyce, w aplikacjach webowych, to właśnie INSERT INTO stoi za dodawaniem nowych użytkowników, zamówień, wpisów na blogu czy logów systemowych. Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: zawsze jawnie wypisuj nazwy kolumn, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu, jeśli ktoś kiedyś doda nową kolumnę albo zmieni ich układ, Twoje zapytania dalej będą działały poprawnie. Jest też drugi, często używany wariant: INSERT INTO tabela VALUES (...), ale on jest bezpieczny tylko wtedy, gdy dokładnie kontrolujesz strukturę tabeli. INSERT INTO może też współpracować z SELECT, np. do masowego kopiowania danych: INSERT INTO archiwum_zamowien SELECT * FROM zamowienia WHERE data < '2023-01-01';. W systemach produkcyjnych łączy się tę komendę z transakcjami (BEGIN, COMMIT, ROLLBACK), żeby zapewnić spójność danych. Warto pamiętać, że różne silniki (MySQL, PostgreSQL, SQL Server) mają swoje rozszerzenia, ale sama idea INSERT INTO jest wspólna i zgodna ze standardem. To takie must-have dla każdego, kto poważnie myśli o pracy z bazami danych.

Pytanie 24

Jakie imiona spełniają warunki klauzuli LIKE w zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Arleta, Krzysztof, Krystyna, Tristan
B. Krzysztof, Krystyna, Romuald
C. Gerald, Jarosław, Marek, Tamara
D. Rafał, Rebeka, Renata, Roksana
Zapytanie SQL wykorzystuje klauzulę LIKE, która pozwala na wyszukiwanie wzorców w danych tekstowych. W tym przypadku wzór '_r%' oznacza, że szukamy imion, które mają na drugiej pozycji literę 'r' i mogą mieć dowolne znaki po tej literze. W analizowanych imionach, Arleta, Krzysztof, Krystyna oraz Tristan spełniają ten warunek, ponieważ: Arleta ma 'r' na drugiej pozycji, Krzysztof również, Krystyna także, a Tristan ma 'r' na drugiej pozycji. Przykład użycia klauzuli LIKE jest szczególnie przydatny w systemach, gdzie często zachodzi potrzeba filtrowania danych tekstowych na podstawie określonych wzorców. W praktyce, stosowanie klauzuli LIKE w zapytaniach SQL powinno być zgodne z najlepszymi praktykami, takimi jak optymalizacja indeksów i unikanie nadmiernego używania znaków wieloznacznych, które mogą prowadzić do spadku wydajności. Warto również pamiętać, że w wielu systemach baz danych klauzula LIKE jest czuła na wielkość liter, co może wpływać na wyniki zapytań.

Pytanie 25

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. dodatnich elementów tablicy
B. nieparzystych elementów tablicy
C. wszystkich elementów tablicy
D. parzystych elementów tablicy
Przedstawiony kod JavaScript oblicza sumę wszystkich parzystych elementów tablicy liczby. W języku JavaScript operator modulo (%) jest używany do obliczania reszty z dzielenia. W tym przypadku liczby[i] % 2 == 0 sprawdza, czy dany element tablicy liczby jest parzysty. Jeśli reszta z dzielenia przez 2 wynosi 0, oznacza to, że liczba jest parzysta. Dlatego każda parzysta liczba z tablicy jest dodawana do zmiennej wynik. Warto zauważyć, że pętla for przechodzi przez pierwsze 100 elementów tablicy, co sugeruje, że tablica liczby musi mieć co najmniej 100 elementów. Tego typu operacje są często wykorzystywane w praktycznych zastosowaniach, takich jak analiza danych, gdzie konieczne jest filtrowanie i przetwarzanie określonych wartości z dużych zbiorów danych. Dobre praktyki zalecają, aby zrozumieć zarówno składnię, jak i zastosowanie operacji warunkowych i pętli, co jest kluczowe w efektywnym programowaniu. Takie rozwiązania są fundamentem optymalnego przetwarzania danych, a ich zrozumienie umożliwia tworzenie bardziej złożonych algorytmów.

Pytanie 26

Jaką technologię zaleca się przy budowie witryn WWW, aby użytkownicy bez umiejętności programistycznych mogli samodzielnie wprowadzać zmiany w treści bez kodowania?

A. SEO
B. FTP
C. SSL
D. CMS
Odpowiedź dotycząca CMS-a, czyli Systemu Zarządzania Treścią, jest okej, bo dzięki niemu ludzie mogą samodzielnie zarządzać treściami na stronach internetowych, nawet jeśli nie znają się na programowaniu. Systemy CMS, jak WordPress, Joomla czy Drupal, mają łatwe w obsłudze interfejsy, co sprawia, że dodawanie, edytowanie i usuwanie treści jest mega proste. To bardzo ważne, bo każdy chce, żeby jego strona była na bieżąco i dobrze widoczna w wyszukiwarkach. Dodatkowo, CMS-y często pozwalają na instalowanie różnych dodatków i szablonów, co daje większe możliwości i sprawia, że strona wygląda lepiej. Z mojego doświadczenia, to podejście bardzo się sprawdza, bo pozwala skupić się na tworzeniu fajnej treści, a nie na technicznych zawirowaniach związanych z zarządzaniem stroną.

Pytanie 27

Arkusze stylów w formacie kaskadowym są tworzone w celu

A. ułatwienia formatowania strony
B. blokowania wszelkich zmian w wartościach znaczników już przypisanych w pliku CSS
C. nadpisywania wartości znaczników, które już zostały ustawione na stronie
D. połączenia struktury dokumentu strony z odpowiednią formą jej wizualizacji
Wybór błędnych odpowiedzi może wynikać z nieporozumienia dotyczącego funkcji kaskadowych arkuszy stylów i ich zastosowania w procesie tworzenia stron internetowych. Odpowiedzi sugerujące blokowanie jakichkolwiek zmian w wartościach znaczników w pliku CSS są mylące, ponieważ CSS zaprojektowane jest właśnie po to, aby umożliwiać modyfikacje stylów. Arkusze stylów nie blokują zmian, tylko lepiej organizują i strukturalizują kod, co sprzyja łatwiejszemu wprowadzaniu przyszłych poprawek. Z kolei połączenie struktury dokumentu strony z właściwą formą prezentacji jest bardziej związane z HTML, który odpowiada za strukturę treści strony. CSS natomiast odpowiada głównie za stylizację i nie ma na celu bezpośredniego łączenia tych aspektów, lecz oddzielenie ich. Warto również zauważyć, że nadpisywanie wartości znaczników na stronie to szczególna funkcjonalność CSS, ale nie jest to jej główny cel. Główna idea CSS polega na uproszczeniu procesu formatowania, co podkreśla znaczenie kaskadowości, gdzie reguły mogą być dziedziczone i nadpisywane w sposób przemyślany i kontrolowany. Typowymi błędami myślowymi w tym kontekście są zamiana celów CSS z HTML oraz brak zrozumienia mechanizmów kaskadowości, co prowadzi do nieprawidłowych wniosków na temat roli, jaką CSS odgrywa w projektowaniu stron internetowych.

Pytanie 28

Które z pól są umieszczone w formularzu?





Studia podyplomowe Kurs

A. Textarea, Option, Input(Checkbox), Input(Checkbox), Input (Submit), Input(Reset)
B. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
C. Input(Text), Select, Input(Radio), Input(Radio), Input (Submit), Input(Reset)
D. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)
Twoja odpowiedź sugeruje pewne nieporozumienia co do typów pól używanych w formularzach html. Przykładowo, Textarea to pole wieloliniowego tekstu, które nie zostało użyte w tym formularzu. Podobnie, Element Option jest zazwyczaj używany wewnątrz elementu Select i nie jest samodzielnym polem formularza. Co więcej, Input(Checkbox) to pole wyboru, które pozwala na zaznaczenie wielu opcji. W tym formularzu, używane są przyciski wyboru (Input(Radio)), które są podobne, ale pozwalają tylko na wybór jednej opcji. Wreszcie, należy pamiętać, że nie wszystkie formularze muszą zawierać wszystkie typy pól. Różne typy pól są używane w zależności od tego, jakiego rodzaju informacje chcemy zebrać. Ważne jest, aby zrozumieć różnice między nimi i kiedy ich używać, aby stworzyć skuteczny formularz, który będzie łatwy do wypełnienia dla użytkowników i będzie zbierał potrzebne informacje.

Pytanie 29

Rekordy do raportu mogą pochodzić z

A. zapytania INSERT INTO
B. makropolecenia
C. innego raportu
D. tabeli
Tabela stanowi fundamentalne źródło danych w kontekście raportowania, ponieważ przechowuje zorganizowane informacje w formie wierszy i kolumn. W praktyce, raporty często opierają się na danych zgromadzonych w tabelach, które są częścią bazy danych. Dzięki strukturze tabeli, możliwe jest łatwe filtrowanie, sortowanie i agregowanie danych, co jest kluczowe w procesie tworzenia raportów. Na przykład, w systemach CRM, dane o klientach są przechowywane w tabeli, co pozwala na wygenerowanie raportów dotyczących sprzedaży, aktywności klientów czy trendów rynkowych. W kontekście standardów branżowych, stosowanie tabel w relacyjnych bazach danych jest nie tylko powszechne, ale również zgodne z najlepszymi praktykami, które zalecają utrzymywanie danych w znormalizowanej formie, aby minimalizować redundancję i ułatwiać zarządzanie danymi. Dodatkowo, w przypadku tworzenia raportów, można korzystać z języka SQL, aby dynamicznie wydobywać dane z tabel, co zwiększa elastyczność i precyzję raportowania.

Pytanie 30

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 3
B. Skrypt 1
C. Skrypt 2
D. Skrypt 4
W formularzu HTML do wysłania danych do określonego skryptu należy użyć atrybutu action w znaczniku form co określa adres URL do którego zostaną przesłane dane. Ponadto kluczowy jest atrybut type elementu input który powinien być ustawiony na submit aby umożliwić wysłanie danych po naciśnięciu przycisku. Skrypt 4 jest poprawny ponieważ zawiera zarówno poprawną definicję action="skrypt.php" jak i właściwe określenie typu przycisku jako submit. Taka konstrukcja jest zgodna ze standardami HTML5 i jest powszechnie stosowana w tworzeniu interaktywnych formularzy internetowych. Poprawne wysyłanie formularzy jest kluczowe w wielu aplikacjach webowych szczególnie w kontekście przesyłania danych użytkownika do serwera gdzie mogą być one przetwarzane lub przechowywane. Przy projektowaniu formularza ważne jest również uwzględnienie bezpieczeństwa danych używając metod takich jak POST zamiast GET co zapobiega wyciekom danych w adresie URL. Dobre praktyki obejmują także walidację po stronie klienta oraz serwera aby upewnić się że przesyłane informacje spełniają wymagane kryteria co minimalizuje ryzyko błędów i potencjalnych ataków."

Pytanie 31

Jakie polecenie wydane w terminalu systemu operacyjnego, które zawiera w swojej składni opcję --repair, pozwala na naprawę bazy danych?

A. mysqldump
B. mysqlcheck
C. create
D. truncate
Odpowiedź "mysqlcheck" jest prawidłowa, ponieważ polecenie to jest częścią systemu zarządzania bazą danych MySQL i służy do sprawdzania oraz naprawy tabel w bazach danych. Użycie opcji <b>--repair</b> pozwala na automatyczne naprawienie uszkodzonych tabel, co jest kluczowe w przypadku wystąpienia błędów spowodowanych awarią systemu czy błędami w aplikacjach. Przykładowe użycie polecenia: "mysqlcheck --repair --databases nazwa_bazy". Warto podkreślić, że regularne sprawdzanie i naprawa tabel są elementami dobrych praktyk zarządzania bazą danych, które pomagają w utrzymaniu integralności danych i dostępności systemu. Oprócz opcji naprawy, mysqlcheck oferuje także inne funkcje, takie jak optymalizacja tabel, co przyczynia się do poprawy wydajności bazy. W przypadku dużych baz danych, efektywne zarządzanie i konserwacja są kluczowe dla zapewnienia wysokiej dostępności oraz niezawodności systemu. Używanie mysqlcheck zgodnie z dokumentacją MySQL pozwala na skuteczne zajmowanie się problemami, które mogą się pojawić.

Pytanie 32

W SQL warunek ten odpowiada warunkowi liczba >= 10 AND liczba <= 100?

A. liczba BETWEEN 10 AND 100
B. liczba LIKE '10%'
C. NOT (liczba < 10 AND liczba > 100)
D. liczba IN (10, 100)
Odpowiedź 'liczba BETWEEN 10 AND 100' jest prawidłowa, ponieważ odpowiada warunkowi, który sprawdza, czy wartość zmiennej 'liczba' mieści się w przedziale od 10 do 100, włączając oba końce. W SQL konstrukcja 'BETWEEN' jest preferowana, ponieważ jest bardziej czytelna i zrozumiała dla programistów, co sprzyja utrzymaniu kodu. Przykładowe zapytanie SQL używające tego warunku mogłoby wyglądać tak: 'SELECT * FROM tabela WHERE liczba BETWEEN 10 AND 100;'. Zastosowanie 'BETWEEN' unika potencjalnych błędów związanych z używaniem operatorów porównawczych i zapewnia, że obie granice przedziału są respektowane. W praktyce, korzystanie z 'BETWEEN' w zapytaniach SQL jest zgodne z dobrymi praktykami programowania, gdyż poprawia czytelność i ułatwia analizę kodu. Dodatkowo, warto zauważyć, że 'BETWEEN' działa również z datami, co czyni go uniwersalnym narzędziem w SQL.

Pytanie 33

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. napisowego.
B. liczbowe, całkowite.
C. NaN
D. zmiennoprzecinkowego.
Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja <span>parseInt()</span> w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna <span>a</span> zawiera wartość z pola <span>input</span> o typie <span>number</span>, to ta wartość jest już reprezentacją liczby, co oznacza, że <span>parseInt()</span> przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to <span>parseInt(42)</span> zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie <span>parseInt()</span> z drugim argumentem, który określa system liczbowy (np. <span>parseInt(a, 10)</span>), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do <span>a</span> nie jest liczbą całkowitą, <span>parseInt()</span> nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. <span>parseInt(4.9)</span> zwróci 4). Dlatego w kontekście powyższego pytania, zmienna <span>x</span> przyjmuje typ liczbowy, całkowity.

Pytanie 34

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. name
B. alt
C. dfn
D. title
Gratulacje, to jest prawidłowa odpowiedź. Znacznik &lt;abbr&gt; w HTML jest używany do określenia skrótu lub akronimu. Atrybut 'title' jest używany w połączeniu z tym znacznikiem, aby dostarczyć pełną formę skrótu, która jest wyświetlana, gdy użytkownik najedzie na skrót. Jest to zgodne ze standardami i dobrymi praktykami branżowymi, które zalecają ułatwianie zrozumienia treści dla wszystkich użytkowników, w tym tych z dysfunkcjami. Atrybut 'title' jest zatem przydatny, gdy skrót jest ryzykowny lub ma wiele znaczeń. Na przykład, skrót 'WHO' może oznaczać 'World Health Organization' lub 'Whois protocol' w zależności od kontekstu. Dlatego atrybut 'title' pomaga wyjaśnić zamierzone znaczenie.

Pytanie 35

Wskaż, który z poniższych jest poprawnym zapisem zmiennej w języku JavaScript.

A. let variableName = 10;
B. var 2nameVar = 10;
C. var $name@ = 10;
D. const var-name = 10;
W języku JavaScript deklaracja zmiennej przy użyciu słowa kluczowego <code>let</code> jest obecnie jedną z najczęściej stosowanych praktyk. Ma ona na celu stworzenie zmiennej o zasięgu blokowym, co oznacza, że zmienna jest dostępna tylko w obrębie bloku kodu, w którym została zadeklarowana. To podejście pozwala na bardziej elastyczne i bezpieczne zarządzanie zmiennymi w kodzie, minimalizując ryzyko błędów związanych z niezamierzonym nadpisywaniem wartości. Zmienna <code>variableName</code> jest poprawnie zapisana zgodnie z konwencjami JavaScript: zaczyna się od litery i składa się wyłącznie z liter oraz cyfr. Wartość 10 przypisana do tej zmiennej to liczba całkowita. Deklaracja <code>let</code> jest preferowana w stosunku do <code>var</code> z uwagi na lepsze zarządzanie zasięgiem i uniknięcie problemów związanych z hoistingiem. Ponadto, stosowanie jasnych i opisowych nazw zmiennych, jak <code>variableName</code>, jest dobrą praktyką programistyczną, ułatwiającą zrozumienie i utrzymanie kodu.

Pytanie 36

W SQL, po wykonaniu przedstawionych poleceń GRANT, prawo do edytowania struktury tabeli oraz jej usunięcia zostanie przyznane

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Adamowi i Annie
B. Tomaszowi i Adamowi
C. Tomaszowi i Annie
D. tylko Annie
Odpowiedź Adamowi i Annie jest poprawna ponieważ polecenie GRANT w SQL służy do przydzielania określonych uprawnień użytkownikom. W zapytaniu GRANT ALL ON firmy TO 'adam'@'localhost' Adam otrzymuje wszystkie możliwe uprawnienia do tabeli co obejmuje również możliwość zmiany struktury tabeli poprzez ALTER oraz jej usuwania poprzez DROP. Z kolei Anna dzięki poleceniu GRANT ALTER CREATE DROP również uzyskuje te same dwa kluczowe uprawnienia dotyczące zmiany struktury i usuwania tabeli. Takie przydzielanie uprawnień jest zgodne z branżowymi standardami zapewniającymi elastyczność i bezpieczeństwo w zarządzaniu bazami danych. Praktyczne zastosowanie tych uprawnień umożliwia administratorom bazy danych delegowanie odpowiedzialności za różne aspekty zarządzania bazą innym użytkownikom co jest szczególnie przydatne w dużych zespołach. Ważne jest również aby zawsze monitorować i regularnie audytować przydzielone uprawnienia aby zapewnić że użytkownicy posiadają tylko te uprawnienia które są niezbędne do wykonywania ich zadań co jest zgodne z zasadą najmniejszych uprawnień w bezpieczeństwie IT.

Pytanie 37

Określ na podstawie diagramu, jaką liczebność należy zdefiniować przy związku pomiędzy encjami Podręcznik i Wydawnictwo zakładając, że dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu.

Ilustracja do pytania
A. 1-N (1 przy encji Podręcznik, N przy encji Wydawnictwo)
B. 1-1 (1 przy encji Podręcznik, 1 przy encji Wydawnictwo)
C. N-1 (N przy encji Podręcznik, 1 przy encji Wydawnictwo)
D. M-N (M przy encji Podręcznik, N przy encji Wydawnictwo)
Poprawnie wskazana krotność N–1 oznacza, że wiele podręczników może być powiązanych z jednym wydawnictwem, natomiast każdy pojedynczy podręcznik ma dokładnie jedno wydawnictwo. Dokładnie to wynika z treści: „dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu”. W notacji związków encji mówimy więc o relacji wiele‑do‑jednego z punktu widzenia encji Podręcznik. W praktycznym modelu relacyjnej bazy danych przekłada się to na klucz obcy w tabeli PODRĘCZNIK, który wskazuje na klucz główny (np. id_wydawnictwa) w tabeli WYDAWNICTWO. Dzięki temu nie powielamy danych o wydawnictwie przy każdym rekordzie, tylko przechowujemy je w jednym miejscu, zgodnie z zasadą normalizacji (co najmniej 2. i 3. postać normalna). Moim zdaniem to jest jedno z podstawowych i najczęściej wykorzystywanych powiązań: podobny schemat mamy przy relacji Produkt–Producent, Samochód–Marka, Student–Grupa itp. W takich przypadkach w tabeli „wiele” zawsze ląduje kolumna z kluczem obcym do tabeli „jeden”. Dodatkowo warto zauważyć, że gdybyśmy kiedyś chcieli pozwolić na zmianę nazwy wydawnictwa, to dzięki takiemu modelowi robimy to tylko w jednym wierszu tabeli WYDAWNICTWO, a wszystkie powiązane podręczniki automatycznie „widzą” zaktualizowaną wartość. To jest dokładnie ta dobra praktyka projektowania: minimalizacja redundancji i łatwiejsze utrzymanie spójności danych (integralność referencyjna, klucze obce z ON UPDATE/DELETE). W dobrze zaprojektowanych systemach bibliotecznych czy księgarni internetowych ta relacja N–1 między książką/podręcznikiem a wydawnictwem jest standardem branżowym i praktycznie normą w modelach ER.

Pytanie 38

Jakiej właściwości CSS należy użyć, aby ustalić marginesy wewnętrzne dla danego elementu?

A. padding
B. hight
C. width
D. margin
Odpowiedź 'padding' jest prawidłowa, ponieważ właściwość CSS 'padding' służy do definiowania marginesów wewnętrznych dla elementu. Padding to przestrzeń między zawartością a krawędzią elementu, co pozwala na lepsze dostosowanie układu i prezentacji treści. Stosowanie paddingu jest kluczowe w tworzeniu responsywnych projektów, ponieważ umożliwia zachowanie odpowiednich odstępów niezależnie od rozmiaru wyświetlacza. Na przykład, aby zastosować padding do elementu div, można użyć następującej reguły CSS: 'div { padding: 20px; }', co doda 20 pikseli przestrzeni wewnętrznej ze wszystkich stron. Ponadto, dobrym zwyczajem jest stosowanie jednostek względnych, takich jak 'em' lub 'rem', aby zapewnić lepszą elastyczność i skalowalność w różnych kontekstach. To podejście sprzyja również utrzymaniu spójności w całym projekcie, co jest zgodne z najlepszymi praktykami w branży web designu.

Pytanie 39

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. '1' lub "1"
B. 1 lub '1'
C. *1
D. '1'
Zmienna $a, zainicjowana wartością 1, jest typu integer i porównując ją z inną zmienną $b za pomocą operatora identyczności (===), należy zwrócić szczególną uwagę na typ i wartość obu zmiennych. Wiele osób myli operator porównania identyczności z operatorem równości (==), który nie wymaga, aby typy były zgodne. Z tego powodu odpowiedzi takie jak 1 lub '1' mogą wydawać się poprawne, jednak w przypadku porównania identyczności, istotne jest, aby zmienne były tego samego typu. Odpowiedź, która sugeruje wartość 1, jest błędna, ponieważ porównuje wartość integer z potencjalnie innym typem bez uwzględnienia konwersji typów, co prowadzi do niejednoznaczności. Z kolei odpowiedź sugerująca wartość '1' nie do końca zdaje sobie sprawę, że chociaż string '1' jest zgodny w kontekście równości, nie spełnia warunków identyczności w dosłownym sensie, gdyż typy są różne. Typowe błędy myślowe prowadzące do takich nieprawidłowych wniosków często wynikają z założenia, że PHP automatycznie wykonuje konwersje typów, co nie zawsze jest pożądane. Dla programistów istotne jest zrozumienie różnic między typami oraz kiedy stosować odpowiednie operatory, aby zapewnić poprawność logiki aplikacji i uniknąć potencjalnych błędów, które mogą prowadzić do trudnych do zdiagnozowania problemów w przyszłości.

Pytanie 40

Skrypt na stronę WWW stworzony w języku PHP

A. jest przetwarzany w taki sam sposób jak JavaScript
B. jest realizowany po stronie klienta
C. może działać bez wsparcia serwera WWW
D. jest wykonywany po stronie serwera
Kod PHP jest przetwarzany po stronie serwera, co oznacza, że wszystkie instrukcje napisane w tym języku są wykonywane na serwerze, a nie na komputerze klienta. Kiedy użytkownik żąda strony internetowej, serwer WWW interpretuje kod PHP, generuje odpowiedni HTML i wysyła go do przeglądarki. Dzięki temu możliwe jest dynamiczne tworzenie treści, uzależnionej od danych wejściowych użytkownika czy zawartości bazy danych. Przykładowo, w aplikacjach internetowych takich jak systemy zarządzania treścią (CMS) czy platformy e-commerce, PHP pozwala na generowanie różnorodnych widoków i interakcji w oparciu o aktualne informacje. Kluczowym aspektem dobrej praktyki w programowaniu w PHP jest separacja logiki aplikacji od warstwy prezentacji, co wspiera łatwiejsze zarządzanie kodem i jego utrzymanie. Warto również zaznaczyć, że PHP współpracuje z różnymi systemami baz danych, co umożliwia przechowywanie i przetwarzanie dużych ilości danych. Na przykład, w typowej aplikacji webowej można wykorzystać PHP do komunikacji z bazą MySQL, co pozwala na dynamiczne ładowanie treści w odpowiedzi na interakcje użytkownika.