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: 13 kwietnia 2026 15:25
  • Data zakończenia: 13 kwietnia 2026 15:36

Egzamin zdany!

Wynik: 22/40 punktów (55,0%)

Wymagane minimum: 20 punktów (50%)

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

Które z poniższych zapytań SQL zwróci wszystkie kolumny z tabeli 'produkty'?

A. SELECT * FROM produkty;
B. SELECT produkty FROM *;
C. GET * FROM produkty;
D. FETCH * FROM produkty;
Zapytanie SQL, które zwraca wszystkie kolumny z tabeli, wykorzystuje składnię SELECT * FROM nazwa_tabeli. Gwiazdka (*) jest symbolem, który oznacza, że chcemy pobrać wszystkie kolumny z danej tabeli. Jest to bardzo przydatne, gdy chcemy szybko uzyskać pełne dane z tabeli bez konieczności wymieniania każdej kolumny z osobna. W praktyce często używa się tej składni w sytuacjach, gdy chcemy wykonać operacje diagnostyczne lub szybkie przeglądanie zawartości tabeli. Jednakże, w środowiskach produkcyjnych, zaleca się raczej precyzyjne określanie potrzebnych kolumn zamiast używania "*", ponieważ pozwala to na optymalizację zapytań i może zmniejszyć obciążenie bazy danych. Niemniej jednak, zapytanie SELECT * FROM produkty; jest poprawne i zgodne z SQL-owym standardem, co czyni je prawidłowym wyborem w tym kontekście.

Pytanie 2

Aby uniknąć występowania zduplikowanych wierszy w wyniku zapytania, należy zastosować klauzulę

A. UNIQUE
B. ORDER BY
C. LIMIT
D. DISTINCT
Klauzula DISTINCT w języku SQL służy do eliminacji zduplikowanych wierszy w wynikach zapytania. Umożliwia to uzyskanie unikalnych wartości z określonej kolumny lub zestawu kolumn, co jest niezwykle przydatne, gdy chcemy analizować dane, unikając powtórzeń, które mogą zniekształcić wyniki. Na przykład, jeżeli posiadamy tabelę 'Pracownicy' z kolumną 'Miasto', a chcemy otrzymać listę unikalnych miast, w których pracownicy są zatrudnieni, możemy użyć zapytania: SELECT DISTINCT Miasto FROM Pracownicy. Warto zaznaczyć, że stosowanie DISTINCT może wpływać na wydajność zapytania, szczególnie w przypadku dużych zbiorów danych, dlatego należy używać tej klauzuli z rozwagą. Dobrą praktyką jest również łączenie DISTINCT z innymi klauzulami, takimi jak WHERE, aby jeszcze bardziej precyzyjnie określić kryteria wyszukiwania. Używanie DISTINCT pomaga utrzymać integralność danych oraz poprawia jakość analiz, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi.

Pytanie 3

W HTML wprowadzono tag a. Co oznacza wartość nofollow w atrybucie rel?

<a href="http://website.com" rel="nofollow">link</a>
A. oznacza, że kliknięcie na link nie przekieruje do strony website.com
B. jest komunikatem dla robota wyszukiwarki Google, by nie śledził tego linku
C. oznacza, że naciśnięcie na link spowoduje jego otwarcie w nowej karcie przeglądarki
D. jest wskazówką dla przeglądarki internetowej, aby nie interpretowała słowa 'link' jako hiperłącza
Nofollow to nie jest informacja dla przeglądarki, żeby nie pokazywała linka jak normalnego odnośnika. Linki wciąż będą wyglądały jak zwykłe linki HTML. Atrybut nofollow dotyczy tylko tego, jak roboty wyszukiwarek traktują ten link, a nie jak wygląda on na stronie. Jak chcesz, żeby link otwierał się w nowej karcie, to musisz użyć atrybutu target z _blank. Nofollow nie ma wpływu na to, gdzie prowadzi link, więc kliknięcie w niego zawsze przeniesie cię na daną stronę, niezależnie od tego, czy jest tam nofollow czy nie. Jego rola jest tylko w SEO i w tym, jak wpływa na PageRank, a nie w tym, co widzą użytkownicy.

Pytanie 4

Aby na witrynie internetowej pokazać logo z przezroczystym tłem, należy użyć formatu

A. BMP
B. PNG
C. JPG
D. CDR
Wybór nieodpowiedniego formatu pliku do wyświetlania logo na stronie internetowej może prowadzić do wielu problemów wizualnych i technicznych. Format JPG (JPEG) jest popularnym wyborem dla zdjęć, jednak nie obsługuje przezroczystości. Użycie JPG do logo z przezroczystym tłem skutkuje tym, że tło zostanie zamienione na białe lub inny kolor, co może zakłócać harmonię wizualną strony. Z kolei format CDR (CorelDRAW) jest formatem wektorowym używanym głównie w profesjonalnym oprogramowaniu graficznym. Choć CDR świetnie nadaje się do projektowania, nie jest odpowiedni do użycia na stronie WWW, ponieważ przeglądarki internetowe nie obsługują tego formatu bezpośrednio. Ostatecznie, BMP (Bitmap) to format używany do przechowywania bitmap, ale charakteryzuje się dużymi rozmiarami plików i brakiem obsługi przezroczystości. Pliki BMP są mniej efektywne w sieci, ponieważ zajmują więcej miejsca, co spowalnia ładowanie strony. Wybór odpowiedniego formatu jest kluczowy dla zapewnienia estetyki i funkcjonalności witryny, więc ważne jest, aby zrozumieć różnice między formatami i ich zastosowania w praktyce. Prawidłowe podejście do wyboru formatu pliku umożliwia nie tylko zachowanie jakości grafiki, ale również poprawia doświadczenia użytkowników, co jest istotnym elementem każdej strategii projektowania stron internetowych.

Pytanie 5

Kwerenda

ALTER TABLE artykuly MODIFY cena float;
ma na celu dokonanie zmian w tabeli artykuly.
A. zmienić typ kolumny cena na float
B. usunąć kolumnę o nazwie cena typu float
C. zmienić nazwę kolumny cena na float
D. dodać kolumnę o nazwie cena z typem float, jeżeli jeszcze nie istnieje
Twoja odpowiedź o zmianie typu na float dla kolumny cena jest całkiem na miejscu! W pracy z bazami danych ważne jest, żeby odpowiednio zarządzać typami danych w tabelach. Typ float to coś, co często wykorzystuje się do przechowywania wartości liczbowych, które mają część dziesiętną. To istotne przy cenach, które często muszą być dokładnie przedstawione, na przykład do dwóch miejsc po przecinku. Wspomniana kwerenda ALTER TABLE to świetne narzędzie do zmiany struktury tabeli, i to jest zgodne z dobrymi praktykami zarządzania bazami, zwłaszcza z zasadą elastyczności. Dzięki temu można dostosować tabelę do zmieniających się potrzeb bez potrzeby przebudowy całej bazy. Wiesz, takie operacje są dość typowe, ale trzeba uważać, by nie stracić danych czy mieć jakieś niezgodności. Dlatego zawsze warto zrobić kopię zapasową i testować zmiany w środowisku testowym. Zrozumienie takich operacji pomoże ci w lepszym zarządzaniu bazami danych i ich optymalizacji.

Pytanie 6

CMYK to kombinacja czterech podstawowych kolorów stosowanych w druku:

A. czerwonego, purpurowego, żółtego, szarego
B. turkusowego, purpurowego, żółtego, czarnego
C. turkusowego, purpurowego, białego, czarnego
D. turkusowego, błękitnego, białego, różowego
Wszystkie podane odpowiedzi zawierające inne kolory niż cyjan, magenta, żółty i czarny są niepoprawne, ponieważ nie odnoszą się do uznawanego modelu kolorów CMYK. Na przykład, zestaw kolorów turkusowy, błękitny, biały, różowy nie zawiera kluczowych składników, które definiują CMYK. Błękit, choć podobny do cyjanu, nie jest uznawany za jego zamiennik w kontekście druku. Ponadto, biały kolor nie jest używany w modelu CMYK, ponieważ jest reprezentowany jako brak pigmentu, a nie jako osobny kolor. Kolejny przykład - czerwony, purpurowy, żółty i szary - również nie oddaje prawdziwego modelu CMYK, ponieważ czerwony nie jest jednym z kolorów podstawowych w tym systemie. Zamiast tego, w modelu CMYK używa się magenty, która jest intensywnym odcieniem różowoczerwonym. Warto zauważyć, że niektóre osoby mogą mylić różowe odcienie z magentą, co prowadzi do błędów w projektowaniu, szczególnie w kontekście druku. Również zestaw kolorów turkusowy, purpurowy, białe i czarny nie oddaje zasadności stosowania czarnego jako 'kluczowego' koloru w modelu CMYK. Często w druku czarny jest dodawany, aby zwiększyć głębokość i kontrast kolorów. W zrozumieniu tych zasad kluczowe jest odniesienie się do praktyk druku oraz standardów branżowych, które jasno określają, jak kolory powinny być łączone i drukowane. Dlatego zrozumienie podstawowych kolorów w modelu CMYK ma fundamentalne znaczenie dla każdego, kto zajmuje się grafiką i drukiem.

Pytanie 7

Fragment dokumentu HTML sugeruje, że

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
A. kod HTML zapisano w wersji 4 języka.
B. kod HTML zapisano w wersji 5 języka.
C. znaczniki końcowe są wymagane w kodzie HTML, także dla znaczników samozamykających się.
D. wszystkie znaczniki w kodzie HTML powinny być zapisywane wielkimi literami.
Deklaracja DOCTYPE wskazuje na to że dokument HTML wykorzystuje standard HTML 4.01 w trybie ścisłym. HTML 4.01 jest jedną z wersji języka HTML wprowadzoną przez World Wide Web Consortium w 1999 roku i zawiera trzy warianty: Strict Transitional i Frameset. Tryb Strict oznacza ścisłe przestrzeganie zasad standardu bez użycia przestarzałych elementów i atrybutów takich jak tagi związane z formatowaniem stron które stały się przestarzałe w miarę rozwoju kaskadowych arkuszy stylów CSS. W kontekście praktycznym oznacza to że projektując stronę zgodną z tą specyfikacją należy unikać znaczników odpowiedzialnych za prezentację które były powszechnie stosowane w poprzednich wersjach HTML. Zamiast tego zaleca się korzystanie z CSS do określania wyglądu strony co nie tylko wspiera separację struktury treści od jej wyglądu ale także ułatwia przenoszenie i aktualizację stylów. Używając deklaracji DOCTYPE HTML 4.01 Strict można zapewnić lepszą zgodność z najnowszymi wersjami przeglądarek oraz ułatwić przyszłe aktualizacje kodu do nowoczesnych standardów takich jak HTML5 który wprowadza dodatkowe funkcjonalności i uproszczenia mające na celu poprawę semantyki i użyteczności stron WWW

Pytanie 8

Jakie prawa: CREATE, ALTER, DROP zostały użyte w poleceniu GRANT?

A. pracy z danymi
B. przyznawania uprawnień innym użytkownikom
C. pobierania danych z bazy
D. pracy ze strukturą
Odpowiedź dotycząca manipulowania strukturą jest poprawna, ponieważ polecenia GRANT z zestawem praw CREATE, ALTER i DROP koncentrują się na zmianie i zarządzaniu strukturą bazy danych. CREATE pozwala na tworzenie nowych obiektów w bazie danych, takich jak tabele czy widoki. ALTER umożliwia modyfikację istniejących obiektów, na przykład dodawanie kolumn do tabeli. DROP służy do usuwania obiektów z bazy danych. Przykładowo, po nadaniu uprawnień CREATE, użytkownik może utworzyć nową tabelę, co jest kluczowe w procesie projektowania bazy danych. W praktyce, odpowiednie zarządzanie tymi uprawnieniami jest istotne w kontekście bezpieczeństwa i organizacji danych. Standardy branżowe, takie jak te określone przez SQL ANSI, zalecają precyzyjne zarządzanie uprawnieniami, aby uniknąć nieautoryzowanych zmian w strukturze bazy danych, co może prowadzić do utraty danych lub naruszeń bezpieczeństwa.

Pytanie 9

Zdefiniowano bazę danych z tabelą sklepy, która zawiera pola: nazwa, ulica, miasto, branza. W celu zlokalizowania wszystkich nazw sklepów spożywczych, które znajdują się tylko we Wrocławiu, należy wykorzystać kwerendę:

A. SELECT sklepy FROM branza="spożywczy" WHERE miasto="Wrocław"
B. SELECT nazwa FROM sklepy WHERE branza="spozywczy" OR miasto="Wrocław"
C. SELECT sklepy FROM nazwa WHERE branza="spożywczy" BETWEEN miasto="Wrocław"
D. SELECT nazwa FROM sklepy WHERE branza="spozywczy" AND miasto="Wrocław"
Odpowiedź 'SELECT nazwa FROM sklepy WHERE branza="spozywczy" AND miasto="Wrocław";' jest poprawna, ponieważ wykorzystuje właściwą składnię SQL do pobrania danych. W tym przypadku chcemy wybrać nazwy sklepów z tabeli 'sklepy', które spełniają dwa warunki: branża musi być równa 'spozywczy', a miasto musi być równe 'Wrocław'. Użycie operatora AND zapewnia, że oba kryteria muszą być spełnione jednocześnie, co jest kluczowe w tym zadaniu. Ponadto, dobrym zwyczajem jest stosowanie podwójnych cudzysłowów dla nazw kolumn i wartości tekstowych. Przykładowo, w praktyce taka kwerenda może być użyta do analizy lokalizacji sklepów spożywczych w danym mieście, co może być istotne dla strategii marketingowej lub planowania rozwoju sieci handlowej. Zrozumienie struktury SQL oraz sposób formułowania zapytań jest fundamentem efektywnego zarządzania danymi w relacyjnych bazach danych.

Pytanie 10

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

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

Pytanie 11

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

A. wykluczenia.
B. części wspólnej.
C. grupowania.
D. sumy.
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 12

Aby odzyskać bazę danych z kopii zapasowej na serwerze MSSQL, należy użyć polecenia

A. EXPORT DATABASE
B. BACKUP DATABASE
C. UNBACKUP DATABASE
D. RESTORE DATABASE
Jakbyśmy spojrzeli na inne odpowiedzi, to każda z nich ma jakieś wady, przez które nie nadają się do przywracania bazy danych w MSSQL. Na przykład polecenie EXPORT DATABASE jest błędne, bo w MSSQL nie ma takiej komendy do eksportu całej bazy. Można to robić innymi narzędziami, jak SQL Server Integration Services (SSIS), ale to nie jest metoda przywracania. Z kolei BACKUP DATABASE, mimo że służy do robienia kopii zapasowych, nie nadaje się do przywracania. Ten komendę robimy wręcz odwrotnie — zapisuje obecny stan na dysku, a nie przywraca go. No i ostatnia opcja, UNBACKUP DATABASE, w ogóle nie istnieje w MSSQL. To brzmi jak coś, co mogłoby odwracać kopię zapasową, ale to wcale nie jest dostępne w tym systemie. Więc wybór złych komend może prowadzić do nieefektywnego zarządzania danymi i strat, jakby coś się stało.

Pytanie 13

Dostępna jest tabela uczniowie, która zawiera pól id, imie, nazwisko, data_ur (format rrrr-mm-dd). Które zapytanie w SQL wyświetli tylko imiona oraz nazwiska uczniów urodzonych w roku 2001?

A. SELECT id, imie, nazwisko, data_ur FROM uczniowie WHERE data_ur like "2001-*-*"
B. SELECT imie, nazwisko FROM uczniowie WHERE data_ur like "2001-%-%"
C. SELECT * FROM uczniowie WHERE data_ur like "2001"
D. SELECT * FROM uczniowie WHERE data_ur == 2001-%-%
Wybrana odpowiedź jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do wyszukania imion i nazwisk uczniów, których data urodzenia przypada na rok 2001. Użycie klauzuli 'LIKE' wraz z wzorcem '2001-%-%' jest kluczowe – znak '%' w SQL reprezentuje dowolny ciąg znaków (w tym również brak znaków). Oznacza to, że jakiekolwiek miesiące i dni mogą występować po roku '2001', co jest zgodne z formatem daty 'rrrr-mm-dd'. Tego typu zapytania są używane w praktycznych zastosowaniach w bazach danych, na przykład przy tworzeniu raportów dotyczących uczniów, którzy urodzili się w określonym roku. Umożliwia to efektywne zarządzanie danymi i przyspiesza proces analizy, co jest zgodne z dobrymi praktykami w zakresie przetwarzania danych. W kontekście SQL, selekcja konkretnych kolumn, takich jak 'imie' i 'nazwisko', jest bardziej efektywna niż pobieranie wszystkich danych, co może być istotne w przypadku większych zestawów danych. Warto również zwrócić uwagę na znaczenie odpowiedniego formatowania dat, co jest kluczowe dla poprawności zapytań do baz danych.

Pytanie 14

W formularzu HTML wykorzystano znacznik <input>. Wyświetlane pole będzie przeznaczone do wprowadzania maksymalnie

Ilustracja do pytania
A. 20 znaków, które są widoczne podczas wpisywania
B. 30 znaków, które są widoczne podczas wpisywania
C. 30 znaków, które nie są widoczne w polu tekstowym
D. 20 znaków, które nie są widoczne w polu tekstowym
Zrozumienie działania atrybutów size i maxlength w znaczniku <input> jest kluczowe dla prawidłowego projektowania formularzy HTML. Atrybut size określa, ile znaków będzie widocznych w polu tekstowym, jednak to nie ogranicza faktycznej liczby znaków, które można wprowadzić. Działa to bardziej jako wskazówka dla użytkownika, jak szerokie może być pole, aby pomieścić określoną liczbę widocznych znaków. Dlatego odpowiedź, że size determinuje maksymalną ilość wprowadzanych znaków, jest błędna. Natomiast atrybut maxlength rzeczywiście ogranicza liczbę znaków, które można wprowadzić. Dzięki temu atrybutowi możemy kontrolować długość danych wejściowych, co jest często wykorzystywane w aplikacjach wymagających wprowadzania haseł lub innych danych tekstowych o określonej długości. W przypadku inputów typu password, wprowadzone znaki są maskowane, co oznacza, że użytkownik nie widzi tego, co wpisuje, a jego odpowiednik wprowadzenia tekstu typu tekstowego nie działa w ten sam sposób. Odpowiedzi zakładające, że dane są widoczne lub że size wpływa na długość wprowadzanych znaków, wynikają z niepełnego zrozumienia działania poszczególnych atrybutów HTML i ich roli w projektowaniu interfejsów użytkownika. Dobre praktyki projektowania formularzy wymagają jasnego rozróżnienia tych dwóch funkcji, co znacznie zwiększa użyteczność i dostępność aplikacji webowych oraz ułatwia użytkownikom korzystanie z formularzy zgodnie z ich przeznaczeniem.

Pytanie 15

W języku SQL, aby usunąć wszystkie rekordy z tabeli, nie eliminując jej samej, można skorzystać z polecenia

A. TRUNCATE
B. DROP
C. ALTER
D. UPDATE
Polecenie TRUNCATE w języku SQL jest używane do usunięcia wszystkich danych z tabeli w sposób szybki i efektywny, bez potrzeby usuwania samej tabeli. TRUNCATE działa na poziomie struktury bazy danych, co oznacza, że nie zapisuje informacji o usuniętych rekordach w dzienniku transakcji, co czyni operację znacznie szybszą w porównaniu do innych metod, takich jak DELETE. W praktyce, gdy chcesz zresetować tabelę do stanu pustego, TRUNCATE jest najlepszym wyborem. Przykładem zastosowania może być sytuacja, gdy tabela tymczasowa zawiera dane, które nie są już potrzebne po zakończeniu procesu przetwarzania. W takim przypadku użycie polecenia TRUNCATE pozwala na szybkie usunięcie wszystkich rekordów, a sama struktura tabeli pozostaje nienaruszona do przyszłego użycia. Dobrą praktyką jest również stosowanie TRUNCATE w sytuacjach, gdzie nie potrzebujemy zachować historii operacji na danych, co zwiększa wydajność bazy danych. Zgodnie z zaleceniami standardów SQL, TRUNCATE jest bardziej odpowiednie do operacji na dużych zbiorach danych, gdyż minimalizuje czas operacji i obciążenie systemu.

Pytanie 16

Elementarna animacja może być zapisana w formacie

A. PSD
B. GIF
C. TIFF
D. BMP
Format GIF (Graphics Interchange Format) jest powszechnie stosowany do tworzenia prostych animacji ze względu na swoją zdolność do kompresji obrazów i obsługi przez większość przeglądarek internetowych. GIF pozwala na zapisanie sekwencji obrazów w jednej pliku, co umożliwia ich wyświetlanie jako animacji. Standard GIF obsługuje maksymalnie 256 kolorów z palety, co czyni go idealnym do prostych grafik, takich jak ikony czy animacje internetowe. Dzięki metodzie kompresji Lempel-Ziv-Welch (LZW) możliwe jest zmniejszenie rozmiaru pliku bez utraty jakości, co jest kluczowe w kontekście transferu danych przez sieć. Przykłady zastosowania formatu GIF obejmują animowane banery reklamowe, emotikony oraz krótkie klipy wideo w formie GIF, które stały się popularne na platformach społecznościowych. Ponadto GIF wspiera przezroczystość i animacje w cyklu, co podnosi jego użyteczność w wielu aplikacjach multimedialnych. Z tego powodu GIF jest formatem, który oferuje zarówno funkcjonalność, jak i kompatybilność, co czyni go najlepszym wyborem dla prostych animacji.

Pytanie 17

Jaką wartość będzie mieć zmienna str2 po wykonaniu poniższego fragmentu kodu JavaScript?

var str1 = "JavaScript"; var str2 = str1.substring(2, 6);
A. avaScr
B. vaScri
C. avaS
D. vaSc
Metoda substring w JavaScript służy do wycinania fragmentów łańcucha znaków na podstawie podanych indeksów. W przypadku kodu str1.substring(2 6) metoda pobiera znaki zaczynając od indeksu 2 do indeksu 6 wyłącznie. Indeksowanie w JavaScript jest zerowe oznacza to że pierwszy znak ma indeks 0 drugi indeks 1 itd. Dlatego dla łańcucha JavaScript indeks 2 odpowiada trzeciemu znakowi a jest to literka v. Idąc dalej indeks 3 to a indeks 4 to S i indeks 5 to c. Indeks 6 jest wyłączny co oznacza że znak na tym miejscu nie jest uwzględniany w wyniku końcowym. Dlatego też wynikiem wywołania substring(2 6) jest ciąg znaków vaSc. Metoda substring jest przydatna w sytuacjach gdzie potrzebujemy wyodrębnić fragment ciągu znaków na przykład przy przetwarzaniu tekstów czy danych wejściowych z formularzy. Dobra praktyka przy używaniu tej metody to zawsze uwzględnianie indeksów początkowego i końcowego w celu uniknięcia błędów logicznych w kodzie oraz zapewnienie czytelności i zrozumiałości kodu dla innych programistów.

Pytanie 18

W języku PHP tablice asocjacyjne to tablice, w których

A. w każdej komórce tablicy przechowywana jest inna tablica.
B. indeks jest dowolnym napisem.
C. istnieją przynajmniej dwa wymiary.
D. elementy tablicy są zawsze indeksowane od liczby równej 0.
W PHP pojęcie tablicy asocjacyjnej bywa mylone z kilkoma innymi konstrukcjami, dlatego łatwo wpaść w pułapkę skojarzeń. Tablica asocjacyjna nie ma nic wspólnego z liczbą wymiarów – fakt, że jakaś tablica jest wielowymiarowa (np. tablica tablic), wcale nie oznacza, że jest asocjacyjna. Możesz mieć tablicę dwuwymiarową z indeksami czysto numerycznymi i będzie to po prostu zwykła tablica indeksowana liczbami, tylko zagnieżdżona. Sam „wymiar” dotyczy struktury zagnieżdżenia, a nie sposobu adresowania elementów. Podobnie nie jest prawdą, że w tablicy asocjacyjnej w każdej komórce musi być inna tablica. To jest raczej opis tablicy zagnieżdżonej (np. do reprezentowania wierszy i kolumn), a nie definicja tablicy asocjacyjnej. Elementem tablicy asocjacyjnej może być cokolwiek: liczba, string, obiekt, null, inna tablica – ale to, co ją wyróżnia, to klucze tekstowe, a nie typ przechowywanych wartości. Kolejne typowe nieporozumienie to przekonanie, że elementy w tablicy zawsze są indeksowane od zera. W wielu językach (np. w C, Javie) rzeczywiście tablice „klasyczne” startują od indeksu 0, więc łatwo to nawykowo przenieść do PHP. Natomiast PHP jest pod tym względem bardziej elastyczny: możesz mieć tablicę z kluczami 0, 1, 2, ale możesz też mieć klucze 'imie', 'email' albo nawet mieszane – częściowo numeryczne, częściowo tekstowe. W tablicy asocjacyjnej klucz jest wartością logicznie opisującą dany element, a nie tylko kolejnym numerem pozycji. Z mojego doświadczenia wynika, że wiele błędów w kodzie bierze się z tego, że ktoś traktuje tablicę asocjacyjną jak „zwykłą tablicę od zera”, a potem odwołuje się do nieistniejących indeksów numerycznych. Dobra praktyka to świadome korzystanie z kluczy, nadawanie im sensownych nazw i pamiętanie, że w PHP tablica asocjacyjna to po prostu struktura klucz → wartość, gdzie kluczem bardzo często jest właśnie napis, a nie liczba.

Pytanie 19

Jakie działania należy podjąć, aby stworzyć stronę internetową dostosowaną do potrzeb osób z niepełnosprawnościami, zgodnie z wytycznymi WCAG 2.x?

A. używać jedynie jednej palety barw z jednym głównym kolorem oraz jego różnymi odcieniami
B. wybrać najczęściej stosowaną przeglądarkę i na niej przeprowadzać testy tworzonej strony
C. używać jedynie paragrafów, nie wykorzystywać nagłówków h1 – h6
D. podpisywać wszystkie obrazy tekstem alternatywnym oraz kontrolki etykietami
Stosowanie tylko paragrafów bez nagłówków ogranicza strukturę i hierarchię informacji na stronie, co jest sprzeczne z zasadami dostępności. Nagłówki h1-h6 są kluczowymi elementami struktury dokumentu, które pomagają w organizacji treści i umożliwiają użytkownikom oraz technologiom asystującym, takim jak czytniki ekranu, szybkie zrozumienie układu informacji. Użytkownicy z niepełnosprawnościami często polegają na nawigacji opartej na strukturze nagłówków, aby efektywnie przemieszczać się po stronie. Wybór najpopularniejszej przeglądarki do testów nie zapewnia rzetelnej weryfikacji dostępności, ponieważ różne przeglądarki mogą różnie interpretować właściwości dostępności. Ponadto, ograniczenie się do jednej palety barw z tylko jednym głównym kolorem może prowadzić do problemów z kontrastem, co jest istotnym aspektem dostępności. Zgodnie z standardami WCAG, dobrze zaprojektowana paleta powinna zapewniać wystarczający kontrast między tekstem a tłem, aby umożliwić osobom z niepełnosprawnościami wzrokowymi łatwe odczytanie treści. Podsumowując, każde z tych podejść pomija kluczowe zasady, które są niezbędne do zapewnienia faktycznej dostępności stron internetowych.

Pytanie 20

Które z wymienionych rozszerzeń NIE JEST związane z plikiem wideo?

A. MP4
B. AVI
C. MOV
D. GIF
Wybierając inne odpowiedzi, można popełnić kilka typowych błędów myślowych. AVI, MP4 oraz MOV to uznawane standardy dla plików wideo, co może prowadzić do mylnego wrażenia, że wszystkie wymienione rozszerzenia dotyczą wideo. AVI (Audio Video Interleave) to format opracowany przez Microsoft, który integruje dźwięk i obraz w jeden plik. Jest to format bezstratny, co oznacza, że jakość wideo pozostaje wysoka, ale pliki te mogą być znacznie większe. MP4 (MPEG-4 Part 14) to bardziej nowoczesny format, który łączy wysoką jakość z efektywnym kompresowaniem, co czyni go bardzo popularnym w transmisji strumieniowej i przechowywaniu wideo na różnych urządzeniach. MOV to natomiast format związany z ekosystemem Apple, znany z wysokiej jakości wideo, który jest idealny do edycji w oprogramowaniu takim jak Final Cut Pro. Wybierając odpowiedzi, które są faktycznie formatami wideo, można nie docenić unikalnych właściwości GIF-a, co prowadzi do pomyłki oraz niezrozumienia różnicy między tymi formatami. Ważne jest zrozumienie, że wybór formatu pliku powinien opierać się na specyficznych potrzebach projektu, a także na wymaganiach dotyczących jakości, rozmiaru pliku i wsparcia dla dźwięku, co substancjalnie różni różne formaty plików.

Pytanie 21

Jak brzmi nazwa metody sortowania, która polega na wielokrotnym analizowaniu kolejnych elementów tablicy oraz zamianie miejscami sąsiadujących elementów, aby utrzymać porządek według ustalonej reguły?

A. Sortowanie przez wybór
B. Sortowanie kubełkowe
C. Sortowanie bąbelkowe
D. Sortowanie szybkie
Sortowanie bąbelkowe, znane także jako Bubble Sort, to jedna z najprostszych metod sortowania, która polega na wielokrotnym przechodzeniu przez tablicę i porównywaniu par sąsiadujących elementów. Jeśli dany element jest większy od swojego sąsiada, następuje ich zamiana miejscami. Ta metoda sprawdza tablicę wielokrotnie, aż do momentu, gdy nie są już potrzebne żadne zamiany, co oznacza, że tablica jest posortowana. Przykładem zastosowania sortowania bąbelkowego mogą być sytuacje, gdy mamy do czynienia z niewielkimi zbiorami danych, na przykład w aplikacjach edukacyjnych, które mają na celu naukę podstaw algorytmiki. Warto pamiętać, że mimo swojej prostoty, sortowanie bąbelkowe ma złożoność czasową O(n²), co sprawia, że nie jest efektywne dla dużych zbiorów danych. Mimo to, jego zrozumienie stanowi dobry punkt wyjścia do nauki bardziej zaawansowanych algorytmów sortujących."

Pytanie 22

W języku PHP, aby wyeliminować białe znaki na początku i końcu łańcucha znaków, należy zastosować funkcję

A. trim( )
B. sort( )
C. strlen( )
D. time( )
Funkcja trim() w języku PHP jest kluczowym narzędziem do usuwania zbędnych spacji oraz innych białych znaków z początku i końca ciągu znaków. Jest to istotne, gdyż nieprawidłowe białe znaki mogą prowadzić do błędów w przetwarzaniu danych wejściowych, np. przy porównywaniu czy zapisywaniu do bazy danych. Przykład użycia funkcji trim() może wyglądać następująco: $str = ' Hello World! '; $result = trim($str); echo $result; // Wyświetli 'Hello World!'. Warto zauważyć, że funkcja trim() działa nie tylko na spacji, ale również na tabulatorach i innych znakach białych. Z perspektywy dobrych praktyk, warto stosować trim() przed zapisem danych użytkownika w celu uniknięcia nieprzewidzianych błędów w aplikacji. W kontekście bezpieczeństwa, usuwanie niepotrzebnych spacji pomoże również w walidacji i sanitizacji danych, co jest kluczowe w kontekście ochrony przed atakami typu injection.

Pytanie 23

Podczas wykonywania zapytania można skorzystać z klauzuli DROP COLUMN

A. ALTER TABLE
B. DROP TABLE
C. ALTER COLUMN
D. CREATE TABLE
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ klauzula DROP COLUMN jest używana w kontekście zmiany struktury tabeli w bazach danych. Polecenie ALTER TABLE pozwala na modyfikację istniejącej tabeli, w tym dodawanie, usuwanie lub modyfikowanie kolumn. Użycie klauzuli DROP COLUMN umożliwia usunięcie określonej kolumny z tabeli, co jest przydatne, gdy kolumna nie jest już potrzebna, zawiera nieaktualne dane lub w celu optymalizacji struktury bazy danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'wiek', której chcemy się pozbyć, możemy użyć polecenia: 'ALTER TABLE Użytkownicy DROP COLUMN wiek;'. Ważne jest, aby przed wykonaniem tej operacji upewnić się, że usunięcie kolumny nie wpłynie negatywnie na integralność danych lub logikę aplikacji. Praktyki dotyczące zarządzania bazami danych zalecają również wykonanie kopii zapasowej danych przed takimi operacjami, aby zminimalizować ryzyko utraty danych.

Pytanie 24

W CSS zapisano stylizację ```css p > i {color: blue} ``` oznacza to, że kolorem niebieskim zostanie wyświetlony

A. pogrubiony tekst akapitu
B. cały tekst akapitu, niezależnie od jego stylizacji
C. wszystkie teksty nagłówków, niezależnie od formatowania
D. pochylony tekst akapitu
W definicji CSS `p > i {color: blue}`, mamy do czynienia z selektorem, który odnosi się do elementów typu <i> znajdujących się bezpośrednio wewnątrz elementu <p>. Oznacza to, że wszystkie elementy <i>, które są bezpośrednimi dziećmi elementu <p>, będą miały kolor tekstu ustawiony na niebieski. Element <i> w HTML jest często używany do oznaczania tekstu kursywą, co jest zgodne z semantyką dokumentu. Użycie koloru w tym kontekście podkreśla, że zmiana koloru dotyczy tylko tych fragmentów tekstu, które są specyficznie oznaczone jako kursywa. W praktyce, jeżeli mamy paragraf zawierający tekst oraz fragmenty w kursywie, to tylko te kursywne fragmenty będą przyjmować niebieski kolor. Przykładowo, w poniższym kodzie HTML: <p>To jest <i>kursywa</i> oraz <b>pogrubienie</b>.</p>, tylko słowo 'kursywa' będzie miało kolor niebieski. Zgodność z W3C i standardami CSS zapewnia, że taki zapis będzie działał na większości przeglądarek. Warto zwrócić uwagę na hierarchię selektorów, która pozwala na precyzyjne określenie, które elementy mają być stylizowane w określony sposób.

Pytanie 25

W algebrze relacji działanie selekcji polega na

A. usunięciu krotek z powtórzonymi polami
B. wybór krotek, które spełniają określone warunki
C. wybór krotek, które nie zawierają wartości NULL
D. usunięciu pustych wierszy
W algebrze relacji operacja selekcji, określana również jako filtracja, polega na wydobywaniu krotek z relacji (tabel), które spełniają określone warunki. Selekcja jest kluczowym narzędziem w zarządzaniu bazami danych, ponieważ umożliwia przetwarzanie i analizowanie dużych zbiorów danych poprzez skupienie się tylko na istotnych informacjach. Na przykład, w bazie danych zawierającej informacje o pracownikach, można zastosować selekcję, aby wyodrębnić jedynie tych pracowników, którzy mają wynagrodzenie powyżej określonej kwoty. W praktyce, operator selekcji jest często reprezentowany przez symbol sigma (σ) w notacji algebry relacji. Zgodnie z normami SQL, operacja ta odpowiada klauzuli WHERE, co pozwala na precyzyjne określenie kryteriów, według których krotki są wybierane. Selekcja nie zmienia struktury tabeli, lecz tworzy nową relację, która zawiera jedynie te krotki, które spełniają dane warunki. Przykładem może być zapytanie SQL, które zwraca dane o studentach, którzy uzyskali ocenę powyżej 4.0. Selekcja jest fundamentalnym elementem w projektowaniu baz danych, umożliwiającym efektywne przetwarzanie danych oraz wsparcie dla analizy danych w różnych aplikacjach biznesowych.

Pytanie 26

Którego znacznika nie powinno się umieszczać w nagłówku dokumentu HTML?

A. <meta>
B. <h2>
C. <title>
D. <link>
Znacznik <link> jest używany do definiowania relacji między dokumentem HTML a innymi zasobami, takimi jak style CSS, co czyni go istotnym elementem w nagłówku dokumentu. Umożliwia on m.in. podpięcie zewnętrznego arkusza stylów, który może znacząco wpłynąć na wygląd strony. Umieszczenie tego znacznika w nagłówku jest zgodne z dobrymi praktykami webowymi, a jego brak może prowadzić do niepoprawnego renderowania strony. Z kolei znacznik <title> jest kluczowy dla SEO, ponieważ określa tytuł strony, który jest wyświetlany w wynikach wyszukiwania oraz w zakładkach przeglądarek. <meta> z kolei dostarcza dodatkowych informacji o dokumencie, takich jak opis, słowa kluczowe czy dane o kodowaniu, co wpływa na sposób, w jaki strona jest interpretowana przez różne systemy. Rozumienie roli tych znaczników jest kluczowe dla każdego, kto zajmuje się tworzeniem stron internetowych. Często popełnianym błędem jest mylenie znaczenia poszczególnych znaczników i umieszczanie ich w niewłaściwych częściach dokumentu, co może prowadzić do problemów z dostępnością, SEO oraz renderowaniem zawartości. Właściwe użycie znaczników HTML w odpowiednich miejscach jest kluczowe dla zapewnienia optymalnej struktury i funkcjonalności strony.

Pytanie 27

W systemie bazy danych dotyczącej pojazdów, pole kolor w tabeli samochody może przyjmować wartości tylko z listy lakier. Aby zrealizować połączenie między tabelami samochody a lakier przez relację, należy użyć kwerendy

A. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY kolor REFERENCES lakier;
B. <br>ALTER TABLE lakier<br> ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
C. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
D. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
Wszystkie błędne odpowiedzi opierają się na nieprawidłowym przypisaniu kluczy obcych lub niewłaściwych odniesieniach między tabelami. Przykładowo, pierwsza z odpowiedzi próbuje dodać klucz obcy do tabeli lakier, co jest niezgodne z zasadami relacyjnych baz danych, gdzie klucze obce powinny być definiowane w tabeli, która zawiera pole odnoszące się do innej tabeli. Klucz obcy powinien zawsze znajdować się w tabeli, która zawiera dane odnoszące się do innej tabeli, a nie w tabeli, z której te dane pochodzą. Druga odpowiedź sugeruje, że można dodać klucz obcy do kolumny kolor bez wskazania tabeli docelowej oraz właściwego klucza, co czyni tę odpowiedź niekompletną i błędną. Odpowiedź trzecia z kolei próbuje powiązać kolumnę barwa z tabelą samochody, co nie ma sensu w kontekście relacji; klucz obcy w tabeli samochody powinien odnosić się do klucza głównego w tabeli lakier, a nie do innej kolumny w tej samej tabeli. Typowym błędem jest także nieznajomość zasad normalizacji baz danych, co prowadzi do błędnych wniosków na temat relacji między tabelami. Zrozumienie tych zasad jest kluczowe dla właściwego projektowania struktury bazy danych oraz zapewnienia jej efektywności i integralności.

Pytanie 28

Którego atrybutu należy użyć w miejscu trzech kropek w znaczniku HTML5 <blockquote>, aby zdefiniować źródło cytatu?

<blockquote ...="https://pl.wikipedia.org">
Pokojowa Nagroda Nobla jest przyznawana kandydatom, którzy wykonali największą lub najlepszą
pracę na rzecz braterstwa między narodami
</blockquote>
A. alt
B. href
C. src
D. cite
Niestety, twoja odpowiedź nie jest poprawna. Atrybut 'cite' w znaczniku <blockquote> jest używany do definiowania źródła cytatu, a nie 'alt', 'src' ani 'href'. Atrybut 'alt' jest używany w obrazach jako tekst alternatywny, który jest wyświetlany, gdy obraz nie może być ładowany lub jest odczytywany przez czytniki ekranowe. Z kolei 'src' jest atrybutem, który określa ścieżkę do obrazu lub innego zasobu multimedialnego. 'href' jest używany w znacznikach 'a' i 'link' do określenia URL strony lub innego zasobu, do którego prowadzi link. Pomyłka ta może wynikać z braku zrozumienia różnych zastosowań atrybutów w HTML. Pamiętaj, że każdy atrybut ma swoje specyficzne zastosowanie i nie są one zamienne.

Pytanie 29

Który z poniższych sposobów wyświetlania tekstu nie jest określony w języku JavaScript?

A. Funkcja MessageBox()
B. Metoda document.write()
C. Funkcja window.alert()
D. Właściwość innerHTML
Niestety, wszystkie trzy odpowiedzi, które zaznaczyłeś, są poprawne w JavaScript i mają swoje własne zastosowania. Własność innerHTML to jedna z najpopularniejszych metod do modyfikacji zawartości HTML. Umożliwia ona dodawanie nowych wartości do elementów, co pozwala na dynamiczne zmienianie treści strony bez przeładowania jej. Technicznie, innerHTML można używać w każdym elemencie HTML i akceptuje zarówno tekst, jak i poprawny kod HTML. Metoda window.alert() to prosta funkcja, dzięki której można pokazać komunikat w oknie przeglądarki, co bywa przydatne w różnych sytuacjach, na przykład do potwierdzania działań lub informowania o błędach. Te metody są dość podstawowe, ale ich wykorzystanie w aplikacjach webowych może być ograniczone przez kwestie estetyki oraz doświadczenia użytkownika. Natomiast document.write() to starsza technika, która pozwala na wypisywanie treści w trakcie ładowania strony. Choć dziś nie jest zbyt często używana w nowoczesnych praktykach, można ją jeszcze spotkać w prostych skryptach czy materiałach edukacyjnych. Warto jednak wiedzieć, że w dzisiejszym programowaniu lepiej korzystać z metod manipulacji DOM, jak document.createElement(), czy używać frameworków jak React czy Vue.js, które oferują bardziej rozbudowane podejście do zarządzania zawartością stron.

Pytanie 30

W języku HTML zdefiniowano znacznik ```link``` Wartość nofollow atrybutu rel

A. oznacza, że kliknięcie na link otworzy go w osobnej karcie przeglądarki.
B. jest informacją dla robota wyszukiwarki Google, aby nie podążał za tym linkiem.
C. jest informacją dla przeglądarki internetowej, aby nie formatowała słowa "link" jako odnośnika.
D. oznacza, że kliknięcie na link nie przeniesie do strony website.com.
Niestety, to nie tak. Atrybut rel='nofollow' w tagu <a> nie mówi przeglądarkom, żeby otworzyły link w nowej karcie ani nie mówi użytkownikowi, że kliknięcie na link nie przeniesie go do strony website.com. Ten atrybut jest dla robotów wyszukiwarek. Możliwe, że wybrałeś tę odpowiedź, bo nie do końca rozumiesz, jak działają atrybuty w HTML. W HTML atrybuty to dodatkowe informacje o elemencie, które są w tagu otwierającym. W przypadku 'rel', chodzi o wskazówki dla robotów wyszukiwarek, jak powinny traktować dany link. Z mojego doświadczenia, zrozumienie roli różnych atrybutów w HTML jest kluczowe, jeśli chcesz robić dobre strony internetowe.

Pytanie 31

Tabele: Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę

Ilustracja do pytania
A. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE grupa = 15;
B. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa= 15;
C. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
D. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;
Wśród proponowanych rozwiązań pojawiają się charakterystyczne błędy, często spotykane przy pierwszych próbach pracy z relacyjnymi bazami danych. Bardzo łatwo jest pomylić się na etapie łączenia tabel, zwłaszcza gdy nie do końca rozumie się, jak działa klucz główny i obcy w praktyce. Jeden z typowych problemów polega na pominięciu warunku określającego, w jaki sposób tabele mają być połączone – wtedy system bazodanowy tworzy tzw. iloczyn kartezjański, czyli paruje każdy rekord z jednej tabeli z każdym z drugiej, co zwykle daje absurdalnie dużo wyników i nie ma nic wspólnego z rzeczywistością. Popularny błąd to też użycie niewłaściwych pól do łączenia – np. próba połączenia idStudenta z idZajecia, które są ze sobą kompletnie niepowiązane, bo reprezentują dwa różne byty. Z mojego doświadczenia wynika, że często myli się pole id w tabeli Studenci z polem idZajecia w tabeli Zapisy – to są zupełnie inne klucze i nie mają prawa się zgadzać. Inna pułapka pojawia się, gdy zapomni się o warunku WHERE filtrującym po konkretnej grupie, przez co wynik zawiera dane wszystkich studentów, a nie tylko tych z interesującej nas grupy. Trzeba też pamiętać, że poprawna kolejność oraz jawne stosowanie JOIN z warunkiem ON to nie tylko kwestia składni, ale i wydajności oraz czytelności kodu. Warto mocno utrwalić sobie, że łączenie przez JOIN i jasno określony warunek ON to podstawa dobrej praktyki i niemal zawsze sprawdza się przy pracy z większymi, złożonymi bazami danych – zupełnie inaczej niż domyślne, niejawne łączenia czy łączenie po złych polach.

Pytanie 32

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje polecenie SQL w odpowiedni sposób, aby wybrać nazwy artykułów, które spełniają określone kryteria. Słowo kluczowe 'BETWEEN' jest używane do określenia wartości w przedziale, co w tym przypadku oznacza, że cena artykułów musi mieścić się między 1000 a 1500 PLN. W połączeniu z warunkiem 'AND' zapewnia, że tylko te artykuły, które są typu 'pralka' i mają cenę w podanym przedziale, zostaną wyświetlone. W praktyce takie zapytanie jest niezwykle użyteczne w kontekście e-commerce, gdzie często przeprowadza się filtrowanie produktów według określonych parametrów. Dobrą praktyką w programowaniu SQL jest również używanie podwójnych cudzysłowów dla wartości tekstowych, co jest zgodne z niektórymi standardami SQL, chociaż w wielu systemach baz danych akceptowane są również pojedyncze cudzysłowy. Przykłady zastosowania tego zapytania można znaleźć w systemach zarządzania zapasami, gdzie potrzebne jest szybkie generowanie list produktów spełniających specyficzne wymagania klientów.

Pytanie 33

Jakie oprogramowanie NIE JEST systemem do zarządzania treścią (CMS)?

A. Mambo
B. WordPress
C. Joomla
D. Apache
Apache to serwer HTTP, który jest wykorzystywany do hostowania stron internetowych. Nie jest to system zarządzania treścią (CMS), ponieważ jego głównym zadaniem jest obsługa żądań HTTP i dostarczanie plików do przeglądarek internetowych. Systemy zarządzania treścią, takie jak Joomla, WordPress czy Mambo, to aplikacje, które umożliwiają użytkownikom łatwe tworzenie, edytowanie i zarządzanie treściami na stronach internetowych bez konieczności posiadania zaawansowanej wiedzy technicznej. Przykładem zastosowania Apache może być hostowanie strony internetowej stworzonej w jednym z wymienionych CMS, gdzie Apache dostarcza zasoby, a CMS zarządza treścią i logiką aplikacji. Dobrą praktyką w branży jest oddzielanie warstwy serwera od warstwy aplikacji, co pozwala na lepszą skalowalność i utrzymanie, a także na łatwiejszą aktualizację i zarządzanie bezpieczeństwem.

Pytanie 34

Przedstawiona jest tabela pracownicy, w której umieszczono rekordy widoczne obok. Jaką wartość zwróci wykonanie umieszczonej w ramce kwerendy SQL?

SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
A. 1300
B. 5400
C. 2200
D. 2600
Kwerenda SQL SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000; służy do znalezienia maksymalnej wartości w kolumnie pensja z rekordów spełniających warunek pensja mniejsza niż 3000. Przeszukując tabelę pracownicy widzimy że wartości spełniające ten warunek to 1300 2600 i 2200. Najwyższą z tych wartości jest 2600 co czyni tę odpowiedź poprawną. Zrozumienie tego typu kwerend SQL jest kluczowe w pracy z bazami danych ponieważ pozwala na wyciąganie konkretnych informacji z dużych zbiorów danych. W praktyce takie zapytania mogą być używane do analizowania danych pracowniczych w firmach gdzie na przykład chcemy zidentyfikować pracowników z wynagrodzeniem poniżej określonego progu. Jest to zgodne z dobrymi praktykami w branży gdzie używa się agregacji danych do celów analitycznych. Zrozumienie jak działa funkcja MAX() w połączeniu z klauzulą WHERE umożliwia efektywne filtrowanie i przetwarzanie danych co jest niezbędne w wielu aplikacjach biznesowych.

Pytanie 35

Aby stworzyć relację jeden do wielu, w tabeli po stronie wiele, co należy zdefiniować?

A. klucz obcy wskazujący na klucz podstawowy tabeli po stronie jeden
B. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel
C. klucz obcy wskazujący na klucz obcy tabeli po stronie jeden
D. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden
W relacji jeden do wielu, klucz obcy w tabeli po stronie wiele jest kluczowym elementem, który wskazuje na klucz podstawowy tabeli po stronie jeden. Dzięki temu możliwe jest powiązanie wielu rekordów w tabeli 'wiele' z jednym rekordem w tabeli 'jeden', co jest fundamentalnym aspektem modelowania relacyjnych baz danych. Klucz obcy zapewnia integralność referencyjną, co oznacza, że każda wartość klucza obcego w tabeli 'wiele' musi odpowiadać istniejącemu kluczowi podstawowemu w tabeli 'jeden'. Przykładem może być sytuacja, w której mamy tabelę 'Klienci' i tabelę 'Zamówienia'. W tabeli 'Zamówienia' klucz obcy 'ID_Klienta' wskazuje na 'ID' w tabeli 'Klienci', co pozwala na przypisanie wielu zamówień do jednego klienta. Zgodnie z dobrymi praktykami branżowymi, klucze obce powinny być odpowiednio zindeksowane, co pozwala na szybsze zapytania oraz efektywniejsze przetwarzanie danych.

Pytanie 36

W języku PHP należy stworzyć warunek, który będzie prawdziwy, gdy zmienna $a będzie dowolną liczbą całkowitą mniejszą niż -10 lub gdy zmienna $b będzie jakąkolwiek liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku przyjmuje postać

A. ($a < -10) and (($b > 25) and ($b < 75))
B. ($a < -10) or (($b > 25) and ($b < 75))
C. ($a < -10) and (($b > 25) or ($b < 75))
D. ($a < -10) or (($b > 25) or ($b < 75))
Wyrażenie logiczne ($a < -10) or (($b > 25) and ($b < 75)) jest poprawne, ponieważ spełnia przedstawione w pytaniu warunki. Wszelka liczba całkowita mniejsza od -10 dla zmiennej $a spełnia pierwszy warunek. Drugi warunek definiuje, że zmienna $b musi należeć do przedziału (25, 75), co oznacza, że $b musi być większe niż 25 i mniejsze niż 75. Użycie operatora 'or' jest kluczowe, ponieważ oznacza, że przynajmniej jedno z warunków musi być prawdziwe, aby całe wyrażenie zwróciło wartość prawda. Takie podejście jest zgodne z zasadami programowania, które preferują jednoznaczne i klarowne definiowanie warunków. Przykład użycia takiego wyrażenia mógłby być w kontekście walidacji danych wejściowych w formularzu, gdzie chcemy sprawdzić, czy użytkownik wprowadza poprawne wartości. Dobre praktyki programistyczne zalecają testowanie każdego warunku oddzielnie oraz czytelne komentowanie kodu, aby późniejsza analiza była łatwiejsza dla innych programistów.

Pytanie 37

Jaką wartość zwróci funkcja ```empty($a);``` w języku PHP, gdy zmienna ```$a``` będzie miała wartość liczbową równą 0?

A. TRUE
B. 0
C. FALSE
D. NULL
Odpowiedzi, które wskazują, że funkcja empty() zwraca 0, FALSE lub NULL, są mylne z kilku powodów. Po pierwsze, wartość 0 w PHP to po prostu liczba i nie jest interpretowana jako pusta. Zmienne, które mają wartość 0 są traktowane jako fałszywe w kontekście logicznym, ale nie są uznawane za puste zgodnie z definicją funkcji empty(). Kiedy przyjmujemy, że empty($a) zwraca 0, w rzeczywistości mylimy funkcję empty() z innymi, które operują na wartościach liczbowych. Podobnie, FALSE jako wynik również nie jest poprawny; chociaż 0 jest uważane za fałszywe, empty() zwraca TRUE, a nie FALSE, gdy zmienna jest pusta. Także NULL to typ danych, a w kontekście empty() jest uznawany za pusty, ale nie jest to wynik, jaki uzyskalibyśmy dla zmiennej $a = 0. Właściwe zrozumienie zwrotów z funkcji PHP oraz typów danych jest kluczowe dla skutecznego programowania. Pomocne jest, aby programiści upewniali się, że korzystają z odpowiednich funkcji do określenia pustych wartości, a w przypadku empty() nie mogą pomylić jej działania z innymi funkcjami, które operują na wartościach logicznych lub liczbowych.

Pytanie 38

W bazie danych dotyczącej sklepu znajduje się tabela artykuły, która posiada pole o nazwie nowy. Jak można zaktualizować to pole, aby dla każdego rekordu wprowadzić wartość TRUE, stosując odpowiednią kwerendę?

A. UPDATE nowy FROM artykuły VALUE TRUE
B. UPDATE artykuły SET nowy=TRUE
C. INSERT INTO nowy FROM artykuły SET TRUE
D. INSERT INTO artykuły VALUE nowy=TRUE
Zastosowane w niepoprawnych odpowiedziach metody są błędne z kilku powodów, które warto przeanalizować. W pierwszym przypadku, INSERT INTO artykuły VALUE nowy=TRUE; próbuje wykorzystać instrukcję INSERT do wstawienia nowych danych, co jest nieodpowiednie w kontekście aktualizacji istniejących rekordów. INSERT służy do dodawania nowych wierszy, a nie do modyfikacji istniejących, co skutkuje nieadekwatnością do przedstawionego problemu. W drugim przykładzie, UPDATE nowy FROM artykuły VALUE TRUE; nie ma poprawnej składni SQL. Konstrukcja ta nie uwzględnia prawidłowego użycia klauzuli SET, co powoduje, że kwerenda byłaby nieefektywna. Trzeci wariant, INSERT INTO nowy FROM artykuły SET TRUE;, nie ma też sensu, ponieważ pole 'nowy' nie powinno być wstawiane jako nowy rekord. Tego typu błędy często wynikają z nieznajomości i źle zrozumianej składni SQL. Ponadto, nieodpowiednie użycie instrukcji INSERT oraz błędne koncepcje dotyczące aktualizacji danych w bazie mogą prowadzić do poważnych zniekształceń danych. W kontekście dobrych praktyk, kluczowe jest zrozumienie różnicy między operacjami INSERT i UPDATE oraz ich właściwym zastosowaniem w praktyce dla zapewnienia spójności oraz prawidłowego zarządzania danymi.

Pytanie 39

Jakie zadanie wykonuje funkcja COUNT w języku SQL?

A. wyliczenie średniej wartości w danej kolumnie
B. zliczanie rekordów uzyskanych z kwerendy
C. obliczenie wartości bezwzględnej w polu liczbowym
D. liczenie znaków w polu tekstowym
Funkcja COUNT w języku SQL jest jedną z najbardziej fundamentalnych funkcji agregujących, która służy do zliczania liczby rekordów w zestawie danych. Użycie tej funkcji jest kluczowe w kontekście analizy danych, ponieważ pozwala na szybkie uzyskanie informacji o ilości danych, które spełniają określone kryteria. Przykład użycia COUNT może wyglądać następująco: SELECT COUNT(*) FROM klienci WHERE kraj = 'Polska'; Taki zapytanie zwróci liczbę wszystkich klientów z Polski. Funkcja COUNT jest również używana w połączeniu z klauzulą GROUP BY, co umożliwia zliczanie rekordów w podgrupach. Na przykład, SELECT kraj, COUNT(*) FROM klienci GROUP BY kraj; zliczy wszystkich klientów w każdym kraju. Warto podkreślić, że COUNT różni się od innych funkcji agregujących, takich jak AVG czy SUM, które obliczają wartości na podstawie danych, a nie zliczają ich. Funkcja COUNT jest zgodna z normami SQL-92 i jest wspierana przez wszystkie popularne systemy zarządzania bazami danych, co czyni ją uniwersalnym narzędziem w pracy z danymi.

Pytanie 40

Który z podanych znaczników HTML nie jest używany do formatowania tekstu?

A. <strong>
B. <div>
C. <em>
D. <sub>
<div> jest znacznikiem HTML, który służy do grupowania elementów na stronie, co ułatwia ich stylizację i manipulację w CSS oraz JavaScript. W przeciwieństwie do znaczników takich jak <em>, <sub> i <strong>, które mają konkretne zastosowania związane z formatowaniem tekstu, <div> pełni rolę kontenera, co czyni go bardziej uniwersalnym narzędziem do strukturyzacji treści. Przykładowo, można użyć <div> do utworzenia sekcji nagłówka, stopki lub bocznego panelu na stronie. Zgodnie z standardami W3C, <div> jest elementem blokowym, co oznacza, że zajmuje całą szerokość dostępną w swoim rodzicu. W praktyce, <div> pozwala na efektywne zarządzanie układem strony i jest często stosowany w połączeniu z CSS w celu uzyskania pożądanej prezentacji wizualnej. Przykład zastosowania: <div class='container'>...</div> może być użyty do zawarcia innych elementów jak <h1>, <p> czy <img>. Dzięki temu można łatwo manipulować stylem i zachowaniem tych elementów, co czyni <div> kluczowym narzędziem w nowoczesnym web designie.