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: 20 kwietnia 2026 13:30
  • Data zakończenia: 20 kwietnia 2026 14:00

Egzamin niezdany

Wynik: 11/40 punktów (27,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

W bazie danych MySQL znajduje się tabela z programami komputerowymi, posiadająca kolumny: nazwa, producent, rokWydania. Jaką kwerendę SELECT należy zastosować, aby uzyskać listę wszystkich producentów, unikając powtórzeń?

A. SELECT producent FROM programy WHERE UNIQUE
B. SELECT DISTINCT producent FROM programy
C. SELECT producent FROM programy WHERE producent NOT DUPLICATE
D. SELECT UNIQUE producent FROM programy
Wybór pierwszej odpowiedzi, która sugeruje użycie słowa kluczowego UNIQUE, jest błędny. W MySQL, UNIQUE nie jest słowem kluczowym stosowanym do eliminacji duplikatów w kwerendzie SELECT; zamiast tego jest używane w kontekście definiowania unikalnych kluczy w tabelach. Również, odpowiedź zawierająca WHERE UNIQUE jest niepoprawna, ponieważ kombinacja WHERE z UNIQUE jest syntaktycznie niepoprawna w SQL. WHERE służy do filtrowania wyników, ale UNIQUE nie jest używane w tej konstrukcji. Kolejną nieprawidłową odpowiedzią jest użycie WHERE producent NOT DUPLICATE; termin 'NOT DUPLICATE' jest również nieznany w kontekście SQL. Takie frazy nie są uznawane przez silnik baz danych MySQL. W praktyce, aby wykluczyć duplikaty, niezbędne jest zastosowanie słowa kluczowego DISTINCT, które jest standardowym podejściem i zapewnia prawidłowe wyniki. Ostatecznie, wszystkie te niepoprawne odpowiedzi wskazują na brak zrozumienia podstawowych zasad działania języka SQL oraz funkcji przeznaczonych do manipulacji danymi w bazach danych.

Pytanie 2

W jakiej technologii nie zachodzi możliwość przetwarzania danych wprowadzanych przez użytkowników na stronach internetowych?

A. AJAX
B. JavaScript
C. CSS
D. PHP
AJAX, PHP i JavaScript to języki oraz technologie, które umożliwiają przetwarzanie danych użytkownika wprowadzanych na stronach internetowych. AJAX (Asynchronous JavaScript and XML) pozwala na asynchroniczną komunikację z serwerem, co oznacza, że użytkownik może przesyłać dane, np. z formularza, bez konieczności przeładowania całej strony. Dzięki temu doświadczenie użytkownika jest bardziej płynne i interaktywne. PHP to język skryptowy po stronie serwera, który jest często używany do przetwarzania danych, takich jak zapisywanie informacji do bazy danych czy generowanie dynamicznych treści na stronie. Umożliwia on również walidację danych przed ich przesłaniem do serwera. JavaScript, z kolei, działa po stronie klienta i może reagować na interakcje użytkownika, takie jak kliknięcia, zmiany w polach formularzy czy nawigacja po stronie, pozwalając na manipulację danymi w czasie rzeczywistym. Typowym błędem myślowym jest myślenie, że CSS może pełnić funkcje, które są zarezerwowane dla języków programowania. Użytkownicy często mylą rolę CSS jako narzędzia do interakcji, podczas gdy w rzeczywistości jest on jedynie odpowiedzialny za prezentację. Uzupełniając CSS o JavaScript czy PHP, można zbudować kompletną, interaktywną aplikację webową, która efektywnie przetwarza dane użytkowników.

Pytanie 3

W języku SQL polecenie INSERT INTO

A. dodaje pola do tabeli.
B. wprowadza dane do tabeli.
C. dodaje tabelę.
D. aktualizuje rekordy określoną wartością.
Polecenie INSERT INTO w SQL służy dokładnie do tego, co wskazuje poprawna odpowiedź: do wprowadzania danych do istniejącej tabeli. W praktyce oznacza to dodanie nowego wiersza (rekordu) do tabeli, która ma już zdefiniowaną strukturę: kolumny, typy danych, klucze itp. Najprostszy przykład w standardowym SQL wygląda tak: INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]'); Tutaj tabela klienci już istnieje, a polecenie tylko dopisuje nowy rekord. Moim zdaniem warto zapamiętać, że INSERT pracuje na danych, a nie na strukturze tabeli. Do tworzenia tabel służy CREATE TABLE, do zmiany struktury ALTER TABLE, a do modyfikacji istniejących rekordów UPDATE. W codziennej pracy z bazami danych INSERT INTO jest jednym z absolutnie podstawowych poleceń. Używa się go przy obsłudze formularzy rejestracji użytkownika, dodawaniu zamówień w sklepie internetowym, logowaniu zdarzeń w systemie (logi), czy zapisywaniu wyników pomiarów z czujników. Dobrą praktyką jest zawsze podawanie listy kolumn, do których wstawiamy dane, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu kod SQL jest czytelniejszy i mniej podatny na błędy po zmianach w strukturze tabeli. Warto też wiedzieć, że istnieją różne warianty INSERT, np. INSERT ... SELECT (wstawianie danych na podstawie wyników zapytania), INSERT IGNORE czy INSERT ... ON CONFLICT/ON DUPLICATE KEY w konkretnych systemach (PostgreSQL, MySQL). To wszystko dalej jest ta sama rodzina poleceń: celem zawsze jest dodanie nowych rekordów, a nie modyfikacja starych czy zmiana schematu bazy. Z mojego doświadczenia, kto dobrze ogarnie różne formy INSERT, temu dużo łatwiej budować sensowne aplikacje bazodanowe.

Pytanie 4

W dziedzinie grafiki komputerowej termin kanał alfa odnosi się do

A. pikselizacji
B. przezroczystości
C. barwienia
D. koloryzacji
W kontekście grafiki komputerowej istnieje wiele pojęć, które mogą być mylone z kanałem alfa, a niektóre z nich nie mają związku z przezroczystością. Na przykład, koloryzacja odnosi się do procesu zmiany kolorów w obrazie, co obejmuje manipulację wartościami RGB, ale nie ma bezpośredniego związku z przezroczystością. Koloryzacja ma na celu poprawę wizualnych aspektów obrazu poprzez zmianę barw, nie wpływając jednak na to, jak przejrzysty jest dany piksel. Z kolei barwienie odnosi się do nadawania koloru obiektom lub pikselom na podstawie ich oryginalnych wartości kolorystycznych, co także nie dotyczy przezroczystości; chodzi tu raczej o zmianę koloru wyjściowego. Pikselizacja, z drugiej strony, to proces konwersji obrazu na mniejsze piksele, co prowadzi do utraty jakości i szczegółowości, ale nie ma nic wspólnego z manipulacją przezroczystościami. Często mylenie tych terminów wynika z braku zrozumienia podstawowych różnic między nimi, co może prowadzić do niepoprawnych wniosków o ich funkcji. Kluczowe jest zrozumienie, że kanał alfa jest specyficznym atrybutem dotyczących przezroczystości, a nie ogólnym procesem zmiany kolorów czy struktury obrazu.

Pytanie 5

W języku HTML, atrybut shape w znaczniku area, który definiuje typ obszaru, może mieć wartość

A. style="margin-bottom: 0cm;">rect, triangle, circle
B. rect, sąuare, circle
C. rect, poły, circle
D. style="margin-bottom: 0cm;">poły, square, circle
W przypadku odpowiedzi, które nie są poprawne, należy zwrócić uwagę na kilka kluczowych aspektów. Po pierwsze, wartości 'triangle' oraz 'square' nie są uznawane w atrybucie shape znacznika area w HTML. Zamiast tego, 'triangle' nie ma odpowiedniego wsparcia w standardach, a więc nie może być używane do definiowania obszarów na mapach obrazów. Również 'square', chociaż może przypominać prostokąt, nie ma odrębnej definicji i nie jest akceptowany w specyfikacji. Mapa obrazów ogranicza się do określonych kształtów, takich jak 'rect', 'circle' oraz 'poly', co czyni te odpowiedzi niepoprawnymi. Dodatkowo, wspomnienie o 'sąuare' wskazuje na literówkę, co również podważa poprawność tej opcji. Termin 'poły' nie tylko nie istnieje w kontekście atrybutu shape, ale także nie odnosi się do żadnego znanego kształtu w HTML. Zrozumienie właściwych terminów oraz ich zastosowania w HTML jest kluczowe dla tworzenia funkcjonalnych stron internetowych, a każda niepoprawna odpowiedź może prowadzić do mylących implementacji.

Pytanie 6

W języku CSS wprowadzono poniższe formatowanie:

p > i { color: blue; }
Oznacza to, że tekst w kolorze niebieskim będzie zapisany:
A. cały tekst nagłówków, bez względu na ich formatowanie
B. pochylony tekst akapitu
C. pogrubiony tekst akapitu
D. cały tekst akapitu, bez względu na jego formatowanie
W języku CSS selektor > jest używany do stylizowania bezpośrednich potomków danego elementu. W podanym przykładzie p > i oznacza, że reguła CSS będzie zastosowana do elementu i będącego bezpośrednim dzieckiem elementu p. To oznacza, że tylko tekst zapisany w tagu i wewnątrz paragrafu p będzie miał kolor niebieski. Jest to powszechnie stosowane podejście do precyzyjnego stylizowania elementów na stronach internetowych, z zachowaniem struktury dokumentu HTML. Takie rozwiązanie pozwala na lepszą kontrolę nad wyglądem i prezentacją dokumentu, co jest istotne przy tworzeniu responsywnych i estetycznych stron. Praktyczne zastosowanie tego stylu można zobaczyć w przypadku, gdy chcemy wyróżnić pewne frazy w paragrafie, na przykład cytaty lub terminy. Warto pamiętać, że używanie selektorów potomstwa poprawia czytelność i efektywność kodu CSS, co jest dobrą praktyką w profesjonalnym kodowaniu frontendowym. Zachowanie spójności i przejrzystości stylów jest kluczowe w większych projektach, gdzie wiele osób pracuje nad kodem.

Pytanie 7

Jak można utworzyć kopię zapasową bazy danych MySQL?

A. modyfikowaniem danych
B. agregowaniem danych
C. eksportowaniem bazy
D. importowaniem bazy
Import bazy danych nie jest procesem, który może służyć jako kopia zapasowa, ponieważ polega on na wprowadzaniu danych do bazy z plików zewnętrznych. Wykorzystuje się go głównie do przywracania danych z wcześniej stworzonych kopii zapasowych lub do migracji danych pomiędzy bazami. Zatem, import nie generuje kopii zapasowej, a jedynie odtwarza stan bazy z już istniejących danych. Agregacja danych, z kolei, to proces, który polega na zbieraniu i przetwarzaniu danych z różnych źródeł w celu uzyskania bardziej złożonych informacji, co nie ma nic wspólnego z tworzeniem kopii zapasowych. Chociaż agregacja może być przydatna do analizy danych, nie ma zastosowania w kontekście ochrony danych bazy. Modyfikacja danych odnosi się do zmiany istniejących rekordów w bazie danych, co również nie jest związane z procesem tworzenia kopii zapasowych. Modyfikacja może prowadzić do utraty ważnych informacji, dlatego też kluczowe jest najpierw zabezpieczenie danych poprzez eksport przed jakimikolwiek zmianami. W związku z tym, żadna z wymienionych odpowiedzi nie jest właściwa w kontekście wykonywania kopii zapasowej bazy MySQL.

Pytanie 8

Jakie zadania programistyczne mogą być realizowane wyłącznie po stronie klienta w przeglądarce?

A. Weryfikacja danych wprowadzanych do pola tekstowego w czasie rzeczywistym
B. Weryfikacja hasła użytkownika w bazie danych powiązanej z aplikacją internetową
C. Bezpieczne wyświetlenie spersonalizowanej treści strony na podstawie uprawnień użytkownika aplikacji
D. Zapis danych z formularza w bazie danych związanej z aplikacją internetową
Wszystkie pozostałe zadania wymagają interakcji z serwerem, co czyni je niewykonalnymi po stronie klienta. Bezpieczne wyświetlenie personalizowanej zawartości strony zgodnie z prawami użytkownika aplikacji wiąże się z koniecznością weryfikacji danych na serwerze. Ta operacja wymaga zrozumienia roli serwera w kontekście bezpieczeństwa i autoryzacji, ponieważ każdy użytkownik może mieć różne uprawnienia do przeglądania zawartości. Zapisanie danych pobranych z formularza w bazie danych również odbywa się po stronie serwera, gdzie następuje walidacja i przetwarzanie danych. Bazy danych są złożonymi systemami, które zapewniają integralność i bezpieczeństwo, a ich użycie wymaga odpowiednich zapytań SQL, które są wykonywane na serwerze. Podobnie, sprawdzenie hasła użytkownika w bazie danych wymaga komunikacji z serwerem, gdzie hasło jest porównywane z zapisanym hasłem w sposób bezpieczny, zazwyczaj poprzez haszowanie. To podejście jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa aplikacji webowych, a wszelkie operacje dotyczące integralności danych powinny być wykonywane w środowisku serwerowym, aby zapobiec potencjalnym atakom, takim jak SQL Injection. Właściwe zrozumienie rozróżnienia między operacjami po stronie klienta i serwera jest kluczowe dla tworzenia wydajnych, bezpiecznych aplikacji internetowych.

Pytanie 9

W formularzu dane z pola input o typie number zostały przypisane do zmiennej a, a następnie przetwarzane w skrypcie JavaScript w następujący sposób:

var x = parseFloat(a);
Jaki typ będzie miała zmienna x?
A. napisowego
B. NaN
C. zmiennoprzecinkowego
D. liczbowego, całkowitego
Typowe błędy myślowe mogą prowadzić do mylnego rozumienia, że zmienna x mogłaby przyjąć postać NaN, czyli "Not-a-Number". NaN pojawia się, gdy operacje matematyczne są wykonywane na danych, które nie mogą być zinterpretowane jako liczby. Jednakże w kontekście użycia funkcji parseFloat(), jeśli a nie zawiera prawidłowej liczby, to wynikiem będzie NaN, ale nie oznacza to, że z definicji x zawsze będzie NaN. Istnieje również przekonanie, że parseFloat() może zwrócić typ napisowy. W rzeczywistości, funkcja ta zawsze stara się zwrócić typ liczbowy - w przypadku błędnych danych wynik będzie NaN, a nie typem string. Z kolei odpowiedź, że zmienna x będzie liczbą całkowitą jest myląca, ponieważ parseFloat() specjalizuje się w konwersji na liczby zmiennoprzecinkowe, a nie całkowite. W JavaScript, liczby całkowite także są traktowane jako liczby zmiennoprzecinkowe, co może wprowadzać w błąd. Aby zrozumieć, jak działa konwersja typów w JavaScript, warto zaznajomić się z zasadami typowania dynamicznego oraz metodami konwersji danych, takimi jak parseInt() dla liczb całkowitych. Przykłady poprawnych i niepoprawnych danych wejściowych mogą wyjaśnić, dlaczego zrozumienie typów danych i konwersji jest kluczowe w programowaniu.

Pytanie 10

Jaki program jest wykorzystywany do edycji dźwięku?

A. Audacity
B. Inkscape
C. CorelDRAW
D. GIMP
Audacity to naprawdę fajny program do obróbki dźwięku, który jest używany przez wielu, zarówno hobbystów, jak i profesjonalistów. Jest to open-source, więc można go ściągnąć za darmo. Dzięki niemu możesz nagrywać dźwięki z mikrofonu lub z innych źródeł, co jest super przydatne. Możliwości edytowania ścieżek dźwiękowych są ogromne – masz różne efekty, jak kompresja, EQ czy reverb, które naprawdę mogą wzbogacić Twoje nagrania. Obsługuje też wiele formatów plików, jak WAV, MP3 czy OGG, co sprawia, że jest wszechstronny. Sam z niego korzystam do nagrywania podcastów i muszę przyznać, że dobrze się sprawdza. Ważne, żeby pamiętać, że Audacity jest popularne w branży, bo pozwala na solidną pracę z dźwiękiem, co jest kluczowe, jeśli planujesz coś profesjonalnego. Jest też duża społeczność użytkowników, więc program ciągle się rozwija i aktualizuje. To na pewno coś, czego warto spróbować!

Pytanie 11

Strona internetowa została stworzona w języku XHTML. Który z poniższych kodów reprezentuje realizację zaprezentowanego fragmentu strony, jeśli nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. B
B. D
C. C
D. A
Odpowiedź B jest prawidłowa, ponieważ wykorzystuje znaczniki zgodne ze standardem XHTML do prawidłowego formatowania tekstu. W XHTML zaleca się używanie semantycznych znaczników takich jak <h1> dla nagłówków, co poprawia strukturę dokumentu i ułatwia jego interpretację przez przeglądarki oraz inne urządzenia czytające. Dodatkowo użycie znacznika <p> do oddzielenia akapitów jest zgodne z zaleceniami dotyczącymi dostępności i poprawności kodu. To również sprzyja lepszemu SEO, ponieważ wyszukiwarki lepiej rozumieją znaczenie semantycznych znaczników. Warto również wspomnieć o dobrych praktykach, takich jak zamykanie znaczników oraz stosowanie małych liter w nazwach znaczników, co zwiększa kompatybilność z przeglądarkami oraz zgodność ze standardami W3C. XHTML, jako język oparty na XML, wymaga bardziej restrykcyjnej składni, co jest spełnione w kodzie przedstawionym w odpowiedzi B. Dzięki temu zapewnia się lepszą walidację i niezawodność działania strony internetowej.

Pytanie 12

Zdefiniowano poniższą funkcję w PHP:

function policz($Z) {
    while($Z < 5) {
        $Z += 2 * $Z + 1;
    }
    return $Z;
}
Funkcję policz wywołano z wartością argumentu $Z = 1. Jaki rezultat zostanie zwrócony?
A. 4
B. 7
C. 13
D. 1
Niestety, tutaj coś nie zagrało. W pytaniu była funkcja 'policz' w PHP, która iteracyjnie zwiększa wartość zmiennej $Z, aż ta nie przekroczy 5. W każdej iteracji $Z rośnie o 2 * $Z + 1. Jak widać, przy odpowiednim argumencie początkowym wartość $Z rośnie bardzo szybko. W naszym przypadku zaczynamy z $Z równym 1. Po dwóch krokach mamy już 13, co kończy działanie pętli. Zamiast 1, 7 czy 4, funkcja 'policz' zwraca 13. Kluczowe jest zrozumienie, jak działają te iteracje i pętle w PHP.

Pytanie 13

Ile razy należy użyć instrukcji warunkowej, aby wdrożyć w danym języku programowania przedstawiony algorytm?

Ilustracja do pytania
A. Dwukrotnie
B. Czterokrotnie
C. Trzykrotnie
D. Jednokrotnie
W programowaniu, liczba użytych instrukcji warunkowych często odpowiada liczbie punktów decyzyjnych w algorytmie. Diagram przedstawiony w pytaniu zawiera dwie decyzje, co oznacza, że potrzebne są dwie instrukcje warunkowe. Wybór jednego razu świadczyłby o niezrozumieniu, że pojedyncza instrukcja nie wystarczy do pokrycia dwóch odrębnych ścieżek logicznych. Trzy lub cztery instrukcje byłyby zbędne i mogłyby prowadzić do nadmiernej komplikacji kodu. Często popełnianym błędem jest też zbyt częste używanie instrukcji warunkowych dla prostych problemów, co negatywnie wpływa na czytelność i wydajność kodu. Dobre praktyki programowania, jak te opisane w 'Clean Code' Roberta C. Martina, zalecają minimalizację złożoności kodu poprzez używanie tylko niezbędnej ilości instrukcji warunkowych. Warto również zwrócić uwagę na to, aby każda instrukcja warunkowa była dobrze przemyślana i adekwatna do danego problemu, co pozwala na uniknięcie błędów logicznych i ułatwia przyszłe modyfikacje kodu.

Pytanie 14

Na ilustracji pokazano relację jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz podstawowy id tabeli filmy z kluczem obcym rezyserzy_id tabeli rezyserzy
B. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
C. klucz obcy rezyserzy_id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
D. klucz obcy rezyserzy_id tabeli filmy z kluczem obcym id tabeli rezyserzy
W kontekście relacji jeden do wielu w bazach danych często dochodzi do nieporozumień związanych z błędnym przypisaniem kluczy. Klucz podstawowy w jednej tabeli nigdy nie może być kluczem obcym w innej relacji tego typu, ponieważ klucz podstawowy musi być unikalny i jednoznacznie identyfikować rekord w swojej tabeli. Podobne błędy pojawiają się przy przypisywaniu klucza obcego jako odnoszącego się do innego klucza obcego, co nie jest prawidłowym podejściem, ponieważ klucz obcy powinien odnosić się do klucza podstawowego w innej tabeli, aby zapewnić integralność referencyjną. Klucz obcy nie może być kluczem podstawowym w relacji jeden do wielu, ponieważ naruszałoby to zasadę unikalności wymaganej dla klucza podstawowego. Częstym błędem jest także mylenie kierunku relacji, co prowadzi do projektowania niepraktycznych struktur danych, które są trudne do zarządzania i skalowania. Prawidłowe zastosowanie kluczy obcych i podstawowych oraz zrozumienie ich roli w strukturze bazy danych stanowi fundament dla efektywnego modelowania danych, co jest zgodne z najlepszymi praktykami w projektowaniu systemów zarządzania relacyjnymi bazami danych. Kluczowe jest, aby projektanci baz danych byli świadomi tych zasad i potrafili je stosować w praktyce, aby uniknąć problemów z integralnością danych i późniejszymi trudnościami przy ich modyfikacji lub rozszerzaniu struktury bazy danych. Poprawne zrozumienie relacji między tabelami oraz ich implementacja jest niezbędna dla utrzymania spójności i wydajności systemów bazodanowych w długim okresie użytkowania.

Pytanie 15

W semantycznym HTML odpowiednikiem tagu <b>, który nie tylko pogrubia tekst, ale również oznacza go jako istotniejszy, jest

A. <mark>
B. <strong>
C. <em>
D. <ins>
Znacznik <strong> w języku HTML semantycznym służy do oznaczania tekstu, który ma szczególne znaczenie w kontekście treści. Oprócz stylistycznego pogrubienia czcionki, <strong> wskazuje, że dany fragment tekstu jest ważny dla zrozumienia treści dokumentu. Przykładowo, w artykule omawiającym bezpieczeństwo w Internecie, można użyć <strong> do wyróżnienia kluczowych terminów, takich jak 'szyfrowanie' czy 'firewall', co podkreśla ich znaczenie w ochronie danych. Użycie znaczników semantycznych, takich jak <strong>, jest zgodne z najlepszymi praktykami dostępności, co zapewnia lepszą interpretację treści przez technologie asystujące, takie jak czytniki ekranu. Takie podejście poprawia nie tylko nawigację po stronie, ale również SEO, ponieważ wyszukiwarki lepiej rozumieją kontekst i hierarchię treści. Warto również zauważyć, że w przeciwieństwie do <b>, który jedynie zmienia wygląd tekstu, <strong> wnosi dodatkowy sens do struktury dokumentu, co jest szczególnie istotne w kontekście tworzenia witryn internetowych, które są zarówno estetyczne, jak i funkcjonalne.

Pytanie 16

Rekord w bazie danych identyfikowany jest jednoznacznie przez pole

A. relacji
B. klucza podstawowego
C. klucza obcego
D. numeryczne
Klucz podstawowy jest unikalnym identyfikatorem rekordu w tabeli bazy danych, który zapewnia jednoznaczność każdego wpisu. W praktyce oznacza to, że żaden z wpisów w tabeli nie może mieć tego samego klucza podstawowego, co pozwala na łatwe odnajdywanie i łączenie danych. Klucz podstawowy jest często implementowany jako pole numeryczne, co umożliwia szybką i efektywną indeksację. W standardzie SQL klucz podstawowy definiuje się za pomocą polecenia 'PRIMARY KEY'. Przykładem zastosowania klucza podstawowego może być tabela 'Użytkownicy', w której pole 'ID_Użytkownika' pełni rolę klucza podstawowego, zapewniając unikalność dla każdego użytkownika. Klucz podstawowy może składać się z jednego lub więcej pól, a w przypadku złożonych kluczy podstawowych, wszystkie pola muszą być wypełnione, aby rekord był uznany za unikalny. Dlatego właśnie klucz podstawowy jest fundamentem relacyjnych baz danych, umożliwiającym prawidłowe zarządzanie danymi.

Pytanie 17

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Wymusza unikalne nazwy kolumn w tabeli
B. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
C. Jest stosowany wyłącznie w przypadku kolumn liczbowych
D. Zabrania wprowadzenia wartości NULL
Istnieje kilka powszechnych nieporozumień dotyczących atrybutu UNIQUE w kontekście relacyjnych baz danych, które mogą prowadzić do błędnych wniosków. Przede wszystkim, twierdzenie, że atrybut UNIQUE wymusza unikatowe nazwy pól tabeli, jest nieprecyzyjne. UNIKATOWOŚĆ odnosi się do wartości przechowywanych w kolumnie, a nie do nazw kolumn. W rzeczywistości, nowa kolumna nie może mieć takiej samej nazwy jak istniejąca kolumna w tej samej tabeli, co jest regułą odzwierciedlającą strukturalne ograniczenia bazy danych, ale nie ma to związku z atrybutem UNIQUE. Ponadto, atrybut ten nie blokuje możliwości wpisania wartości NULL w kolumnach. W MySQL, kolumna z atrybutem UNIQUE może zawierać wiele wartości NULL, ponieważ NULL jest traktowane jako wartość nieokreślona i nie jest uważane za duplikat. Dlatego stwierdzenie, że UNIQUE blokuje możliwość wpisania wartości NULL, jest mylące. Co więcej, atrybut UNIQUE nie jest ograniczony tylko do pól liczbowych; może być zastosowany do dowolnego typu danych, w tym tekstowych czy datowych. Stosowanie UNIQUE w zbiorach danych, które nie wymagają unikalności, może prowadzić do zbędnych błędów i komplikacji podczas wprowadzania danych. Dlatego ważne jest, aby zrozumieć, że atrybut ten odnosi się do wartości w kolumnach, a nie do ich typów czy nazw, co jest kluczowe dla efektywnego projektowania baz danych.

Pytanie 18

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

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

Pytanie 19

Model, w którym wszystkie dane są zapisane w jednej tabeli, określa się mianem

A. hierarchicznym
B. relacyjnym
C. jednorodnym
D. sieciowym
Modele sieciowe i hierarchiczne są zupełnie inne od modelu jednorodnego, bo wprowadzają więcej złożoności w to, jak dane są trzymane. Na przykład model sieciowy pozwala tworzyć różne powiązania jak w grafie, co daje większą elastyczność, ale już dla prostych aplikacji to może być przesada. Z kolei model hierarchiczny z tą swoją drzewiastą strukturą też potrafi namieszać, bo trudniej wtedy zarządzać informacjami. Żeby dobrze zrozumieć, jak to wszystko działa, trzeba pojąć hierarchię i jak ze sobą te dane grają, co czasami bywa problematyczne, jak relacje się zmieniają. Moim zdaniem, w modelu relacyjnym, gdzie dane są w różnych tabelach połączonych kluczami, zyskujemy więcej elastyczności, ale też zwiększa się złożoność. Dlatego często można się zagubić w tych wszystkich możliwościach, a model jednorodny zazwyczaj jest najlepszy tylko tam, gdzie nic skomplikowanego nie trzeba. Większość systemów bazodanowych korzysta jednak z modelu relacyjnego, bo to zgodne ze standardami SQL, co ułatwia życie na dłuższą metę.

Pytanie 20

Jaką szerokość zaplanowano dla treści strony, bazując na podanej definicji CSS?

body {
  border: 2px;
  height: 600px;
  width: 560px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
A. 640 px
B. 600 px
C. 560 px
D. 2 px
Niestety, twoja odpowiedź jest niepoprawna. Właściwość CSS box-sizing: border-box sprawia, że szerokość elementu obejmuje zarówno treść, jak i obramowanie. Zatem, jeżeli w definicji CSS dla elementu body ustawiono szerokość na 560 px, oznacza to, że całkowita szerokość strony wynosi 560 px, niezależnie od szerokości obramowania. Powszechnym błędem jest mylenie szerokości całkowitej strony z szerokością jej treści, pomijając przy tym obramowanie. W przypadku właściwości box-sizing: border-box szerokość elementu obejmuje zarówno treść, jak i obramowanie, co jest standardem stosowanym w projektowaniu stron internetowych. Wszystkie odpowiedzi, które sugerują inny wynik, są błędne. Ważne jest, aby zrozumieć, jak działają różne jednostki i właściwości CSS, aby poprawnie definiować wymiary i rozmieszczenie elementów na stronie.

Pytanie 21

W poleceniu CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu kolumny tabeli spowoduje, że ta kolumna stanie się

A. kluczem obcym
B. indeksem klucza
C. indeksem unikalnym
D. kluczem podstawowym
Odpowiedzi, które zostały podane jako alternatywne do klucza podstawowego, opierają się na niewłaściwym zrozumieniu zasad definiowania relacji w bazach danych. Indeks klucza to struktura, która wspomaga wyszukiwanie rekordów w tabeli, ale sama w sobie nie zapewnia unikalności, która jest kluczowa dla klucza podstawowego. Indeks unikalny także pozwala na szybkie wyszukiwanie, ale jego głównym celem jest zapewnienie, że wartości w danej kolumnie są unikalne, co nie zawsze jest związane z identyfikacją rekordu w sposób jednoznaczny. Klucz obcy z kolei to mechanizm, który łączy dwie tabele, zapewniając, że wartość w kolumnie klucza obcego w jednej tabeli odpowiada wartości w kluczu podstawowym innej tabeli. To jest fundamentalne dla relacji w bazach danych, ale nie ma związku z samodzielnym definiowaniem unikalnego identyfikatora rekordu. Często popełnianym błędem jest mylenie klucza podstawowego z innymi typami kluczy, co prowadzi do nieprawidłowego projektowania bazy danych. Właściwe zrozumienie tych koncepcji jest kluczowe dla zapewnienia integralności danych i efektywności operacji na bazie, a ich ignorowanie może prowadzić do poważnych problemów w zarządzaniu danymi.

Pytanie 22

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

A. grupowania.
B. części wspólnej.
C. sumy.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 23

W tabeli zwierzeta znajdują się pola: nazwa, gatunek, gromada, cechy oraz dlugosc_zycia. Aby uzyskać listę nazw zwierząt, które dożywają przynajmniej 20 lat i są ssakami, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 OR gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20;
Twoja odpowiedź jest jak najbardziej na miejscu, bo spełnia te dwa ważne wymagania z pytania: pokazuje nazwy zwierząt, które żyją przynajmniej 20 lat i są ssakami. Użycie AND w klauzuli WHERE sprawia, że w wynikach są tylko te zwierzęta, które pasują do obu kryteriów. To zapytanie ma swoje zastosowanie, na przykład w analizach zoologicznych, gdzie długość życia niektórych gatunków ssaków może być kluczowa, zwłaszcza w kontekście ochrony i badań nad ich ekologią. Z osobistego doświadczenia mogę powiedzieć, że dobrze jest stosować takie zapytania w bazach danych, bo to zapewnia lepszą efektywność i wydajność w przetwarzaniu danych. Generalnie w tworzeniu zapytań SQL warto zawsze ustalać konkretne warunki w klauzuli WHERE, żeby uniknąć niechcianych wyników i zmniejszyć obciążenie bazy danych.

Pytanie 24

W danej tabeli pracownicy, polecenie MySQL eliminujące wszystkie wpisy, dla których nie została wypełniona kolumna rodzaj_umowy, ma następującą formę

A. DROP pracownicy WHERE rodzaj_umowy IS NULL;
B. DROP pracownicy FROM rodzaj_umowy = 0;
C. DELETE pracownicy WHERE rodzaj_umowy = 'brak';
D. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL;
W odpowiedziach, które zostały uznane za błędne, można dostrzec kilka istotnych nieporozumień dotyczących użycia poleceń SQL. Przykładowo, polecenie "DELETE pracownicy WHERE rodzaj_umowy = 'brak';" sugeruje, że chcesz usunąć pracowników z tabeli, którzy mają zaznaczoną wartość 'brak'. Jednak, w kontekście baz danych, wartość NULL jest odmienna od wartości tekstowej. NULL oznacza brak jakiejkolwiek wartości, co nie jest tożsame z wartością 'brak'. W związku z tym to zapytanie nie zwróci żadnych rezultatów, ponieważ nie identyfikuje rekordów, których pole 'rodzaj_umowy' jest puste. Inna odpowiedź, "DROP pracownicy WHERE rodzaj_umowy IS NULL;" jest również niepoprawna, ponieważ komenda DROP służy do usuwania całej tabeli, a nie poszczególnych rekordów. Zastosowanie WHERE w tym kontekście jest niewłaściwe, co prowadzi do całkowitego usunięcia tabeli, a nie do usunięcia tylko określonych wierszy. Z kolei "DROP pracownicy FROM rodzaj_umowy = 0;" także wykazuje fundamentalne błędy, ponieważ DROP jest używane do usuwania obiektów bazy danych, a nie do operacji na danych. Użycie FROM jest również niepoprawne w kontekście DROP, co wskazuje na niewłaściwe zrozumienie składni SQL. Tego rodzaju pomyłki mogą prowadzić do poważnych konsekwencji, takich jak utrata danych czy zniszczenie struktury bazy danych, dlatego niezwykle istotne jest zrozumienie podstawowych różnic między poszczególnymi poleceniami oraz ich zastosowaniem w praktyce.

Pytanie 25

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 26

$liczba = 10;
while($liczba<50){
   echo "$liczba";
   $liczba=$liczba+5;
}
Jakie liczby zostaną wyświetlone w wyniku działania tej pętli w języku PHP?

A. 10 15 20 25 30 35 40 45
B. 0 5 10 15 20 25 30 35 40 45 50
C. 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45
Odpowiedzi, które zawierają wartości 50 oraz liczby mniejsze od 10, są błędne z kilku powodów. Po pierwsze, w przypadku pętli 'while', warunek przeszkadza dalszemu wykonywaniu kodu, gdy liczba osiągnie lub przekroczy 50. W związku z tym, żadne liczby równe lub większe od 50 nie powinny być uwzględniane w rezultacie. Zatem każda odpowiedź, która sugeruje, że 50 się pojawi, jest niewłaściwa. Ponadto, propozycje, które zaczynają od 0, są również błędne, ponieważ kod nie inicjalizuje zmiennej 'liczba' w tej wartości. Typowe błędy myślowe, które prowadzą do takich wniosków, mogą obejmować niewłaściwe zrozumienie warunków pętli oraz nieprawidłowe przetwarzanie iteracji. Ważne jest, aby zawsze dokładnie analizować logikę pętli oraz jej warunki graniczne, aby uniknąć niepoprawnych wyników. Dodatkowo, zrozumienie zasad działania zmiennych oraz ich aktualizacji w kontekście iteracji jest kluczowe dla efektywnego programowania w PHP.

Pytanie 27

Edytor, który realizuje zasady WYSIWYG, powinien umożliwiać

A. przetwarzanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
B. tworzenie elementów podstawowej grafiki wektorowej
C. publikację serwisów na serwerze przy użyciu wbudowanego klienta FTP
D. osiągnięcie podobnego rezultatu tworzonej strony do jej wizualizacji w przeglądarce internetowej
Wybór niepoprawnych odpowiedzi ukazuje szerszy kontekst funkcjonalności edytorów WYSIWYG i ich ograniczeń. Tworzenie podstawowej grafiki wektorowej nie jest typowym zadaniem dla edytora WYSIWYG, ponieważ te narzędzia koncentrują się głównie na edytowaniu treści tekstowych, układzie stron oraz zarządzaniu mediami, a nie na tworzeniu grafiki. Edytory graficzne, takie jak Adobe Illustrator czy Inkscape, są przeznaczone do pracy z grafiką wektorową, co różni się od funkcji edytora WYSIWYG. Publikacja strony na serwerze poprzez wbudowanego klienta FTP natomiast odnosi się do procesu transferu plików i nie jest kluczowym aspektem edytorów WYSIWYG, które skupiają się na tworzeniu i edytowaniu treści. Zazwyczaj użytkownicy korzystają z dedykowanych programów FTP do zarządzania tym procesem, a edytory WYSIWYG powinny jedynie eksportować gotową stronę do formatu, który można łatwo przesłać. Obróbka plików dźwiękowych przed umieszczeniem ich na stronie internetowej również nie jest funkcją edytora WYSIWYG. Edytory te zazwyczaj oferują jedynie opcje wstawiania multimediów, takich jak dźwięk czy wideo, ale nie zajmują się ich edytowaniem. Programy do edycji dźwięku, takie jak Audacity, służą do tego celu i oferują pełne możliwości obróbcze. W kontekście edytorów WYSIWYG kluczowe jest ich skupienie na prezentacji i łatwości użycia, a nie na złożonych procesach edycyjnych innych typów plików.

Pytanie 28

W programowaniu tylko jedna zmienna z wbudowanego typu może przyjmować zaledwie dwie wartości. Jakie to jest?

A. tablicowy
B. łańcuchowy
C. logiczy
D. znakowy
Typ znakowy, zwany także character, reprezentuje pojedyncze znaki, takie jak litery czy cyfry, i nie jest ograniczony do dwóch wartości. Przykładowo, zmienna znakowa może przyjąć wartość 'A', 'b', '3' czy nawet znak specjalny, co sprawia, że jej zakres jest znacznie szerszy niż tylko dwa stany logiczne. Natomiast typ tablicowy jest strukturą danych, która pozwala na przechowywanie wielu wartości w jednym obiekcie. Tablice mogą zawierać elementy różnych typów, w tym zmiennych logicznych, a ich rozmiar oraz typy elementów mogą się różnić w zależności od języka programowania. W językach takich jak C czy Java, tablice mogą mieć różne wymiary, co umożliwia organizowanie danych w bardziej złożony sposób. Z kolei typ łańcuchowy, znany jako string, składa się z sekwencji znaków i jest używany do przechowywania tekstu. Łańcuchy mogą mieć różną długość i nie są ograniczone do dwóch wartości, co również czyni je nieodpowiednimi w kontekście pytania. Ostatecznie, zmienne znakowe, tablicowe i łańcuchowe różnią się znacznie od typu logicznego, który jest jedynym typem danych wbudowanym, przyjmującym wyłącznie dwie wartości.

Pytanie 29

Jakie polecenie SQL zmieni w tabeli tab wartość w kolumnie kol z Ania na Zosia?

A. UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia'
B. UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania'
C. ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania'
D. ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia'
Podane odpowiedzi, które nie wykorzystują odpowiedniej składni SQL lub koncepcji manipulacji danymi, są błędne. Na przykład, aktualizacja wartości 'Ania' na 'Zosia' za pomocą polecenia UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia' nie tylko nie osiągnie zamierzonego celu, ale również wprowadzi w błąd. W rzeczywistości, polecenie to nie zmieni żadnych danych, ponieważ nie ma rekordów, w których kolumna 'kol' zawierałaby wartość 'Zosia', a polecenie próbuje ustawić ją na 'Ania'. Z kolei użycie ALTER TABLE do zmiany wartości w kolumnie jest całkowicie niewłaściwe, ponieważ to polecenie służy do zmiany struktury tabeli, a nie danych w niej zawartych. Alteracja struktury bazy danych jest fundamentalnie różna od aktualizacji wartości w wierszach. Zrozumienie różnicy między tymi dwoma typami operacji jest kluczowe dla efektywnego zarządzania bazami danych. Typowe błędy myślowe obejmują mylenie operacji na danych z operacjami na strukturze bazy danych, co prowadzi do nieefektywnego i błędnego kodowania. Warto także zwrócić uwagę na zapewnienie integralności danych i stosowanie właściwych kryteriów, aby uniknąć przypadkowych modyfikacji lub usunięć danych.

Pytanie 30

W PHP operatorem odpowiedzialnym za sumę logiczną jest

A. &&
B. +
C. ||
D. !
Suma logiczna oznaczona jako ! to operator negacji, który zmienia wartość logiczną na przeciwną. Na przykład, jeśli warunek jest prawdziwy, użycie ! zwróci wartość fałszywą. Operator + w kontekście PHP nie jest przypisany do operacji logicznych, lecz do dodawania wartości liczbowych, co może prowadzić do nieporozumień. Operator && oznacza koniunkcję, co oznacza, że obie strony muszą być prawdziwe, aby wynik był prawdziwy. Często mylone jest znaczenie operatorów logicznych, co prowadzi do błędnych wniosków przy tworzeniu warunków. Kluczowe jest zrozumienie, że nie każdy operator logiczny działa w taki sam sposób - operator OR (||) zwraca prawdę, jeśli przynajmniej jedna z metod jest prawdziwa, podczas gdy operator AND (&&) wymaga, aby obydwie były prawdziwe. W praktyce, wykorzystanie złych operatorów w warunkach sterujących może prowadzić do błędnych decyzji w kodzie, co wpływa na stabilność aplikacji. Dlatego znajomość zastosowania operatorów logicznych w PHP jest niezbędna dla każdego programisty, aby unikać problemów w logice biznesowej aplikacji.

Pytanie 31

W HTML zdefiniowano hiperłącze zawierające znak #. Co się wydarzy po kliknięciu na ten odsyłacz?

<a href="#dane"></a>
A. Zostanie wskazany względny adres URL o nazwie dane
B. Otworzy się nowa karta przeglądarki o nazwie dane
C. Strona przewinie się do elementu o id równym dane
D. Uruchomi się skrypt o nazwie dane
W HTML znacznik <a> to taki element, który tworzy hiperłącza. Dzięki nim możesz przeskakiwać po stronie lub między różnymi stronami. Atrybut href wskazuje, dokąd prowadzi to łącze. Jak widzisz, gdy href zaczyna się od #, to znaczy, że przeniesie Cię do konkretnego miejsca na tej samej stronie, które jest oznaczone atrybutem id. Czyli, jeśli masz href="#dane", to strona przewinie się do elementu z id="dane". To bardzo przydatna rzecz, szczególnie na długich stronach, bo zamiast przewijać wszystko, możesz od razu trafić do odpowiedniej sekcji. To zgodne z tymi sztywnymi zasadami W3C, które mówią o tym, że strony powinny być łatwe w obsłudze. Powinieneś też pamiętać, żeby zawsze sprawdzać, czy id, do którego się odnosisz, istnieje. Dzięki temu unikniesz problemów z nawigacją.

Pytanie 32

W bazie danych produkt znajdują się artykuły wyprodukowane po 2000 roku, zawierające pola nazwa oraz rok_produkcji. Klauzula SQL wyświetli zestawienie artykułów wyprodukowanych

SELECT * FROM `produkt` WHERE
SUBSTR(rok_produkcji, 3, 2) = 17;
A. w roku 2017
B. przed rokiem 2017
C. po roku 2017
D. w latach innych niż 2017
To zapytanie SQL, które rozkminiamy, korzysta z funkcji SUBSTR, żeby wyrwać kawałek roku z kolumny rok_produkcji i porównać go z 17. Jasno z tego wynika, że wyciągamy dwie ostatnie cyfry, co odpowiada rokowi 2017. Dlatego odpowiedzi mówiące o innych latach są mylące. Jeśli ktoś myśli, że filtrujemy coś przed 2017, to się myli, bo zapytanie dotyczy końcówki roku, a nie pełnego roku. Są też błędne założenia, że to zapytanie pokazuje lata inne niż 2017. Dlatego warto pamiętać, że SUBSTR jasno mówi, że wybieramy lata kończące się na 17. A jeśli ktoś myśli o latach po 2017, to też jest w błędzie, bo zapytanie nie bierze pod uwagę pełnych lat, a tylko końce. Często ludzie źle interpretują takie zapytania, bo nie uwzględniają funkcji tekstowych, które zmieniają sposób filtrowania danych. Zrozumienie tych niuansów w SQL jest ważne dla przetwarzania i analizy danych. Te błędy mogą się brać z braku dokładnej analizy i zrozumienia użytych funkcji, co zdarza się często nowym użytkownikom SQL. Dobrze jest po prostu testować zapytanie i robić przeglądy kodu w zespole, co wspiera lepsze zrozumienie i użycie zapytań w praktyce.

Pytanie 33

Dokument HTML określa akapit oraz grafikę. Aby grafika była umieszczona przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, w stylu CSS grafiki należy ustawić właściwość

A. float:left;
B. alt:left;
C. align:left;
D. style:left;
Właściwość CSS 'float:left;' jest kluczowa dla umieszczania elementów w linii obok siebie. Umożliwia ona 'wypływanie' elementu, jakim jest obrazek, w lewo, co skutkuje tym, że tekst w akapicie będzie go otaczał od prawej strony. Jest to szczególnie przydatne w projektowaniu responsywnych układów stron internetowych, gdzie zachowanie porządku w rozmieszczeniu elementów jest istotne zarówno na desktopach, jak i urządzeniach mobilnych. Przykładowo, jeśli mamy akapit z opisem produktu, który chcemy wizualnie wzbogacić odpowiednim zdjęciem z jego lewej strony, zastosowanie 'float:left;' w stylach CSS sprawi, że tekst będzie płynnie dostosowywał się do rozmiaru obrazka. Zgodnie z dobrymi praktykami, warto również pamiętać o zastosowaniu 'clear:both;' w przypadku elementów, które mają pojawić się poniżej zaganianych elementów, aby uniknąć problemów z układem. Dodatkowo, warto zadbać o odpowiednie wymiary obrazka oraz użycie atrybutu 'alt' w tagu <img>, aby poprawić dostępność strony oraz jej SEO.

Pytanie 34

Jakie uprawnienia będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł zmieniać strukturę tabeli klienci.
B. Będzie mógł eliminować rekordy z tabeli klienci.
C. Będzie mógł przeszukiwać dane w tabeli klienci.
D. Będzie mógł dodawać rekordy do tabeli klienci.
Wybór odpowiedzi, że jan będzie mógł usuwać rekordy z tabeli klienci, jest błędny. Polecenie REVOKE SELECT, INSERT, UPDATE, DELETE nałożone na użytkownika jan oznacza, że pozbawiono go możliwości wykonywania operacji, które są kluczowe dla zarządzania danymi w tej tabeli. W praktyce, zasady przyznawania uprawnień w bazach danych wymagają, aby użytkownicy mieli określone uprawnienia do przeprowadzenia operacji na danych. Usuwanie rekordów jest operacją, która wymaga posiadania odpowiednich uprawnień, a ponieważ jan został pozbawiony uprawnienia DELETE, nie może on już usuwać żadnych danych z tabeli klienci. Podobnie, stwierdzenie, że jan będzie mógł wyszukiwać dane, również jest błędne, ponieważ uprawnienie SELECT zostało odjęte. W kontekście administracji bazą danych, kluczowe jest zrozumienie, że przyznawanie lub odbieranie uprawnień powinno być zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy powinni mieć tylko te uprawnienia, które są niezbędne do wykonywania ich pracy. W tym przypadku jan ma pełne uprawnienia do zmiany struktury tabeli, ale nie ma żadnej możliwości interakcji z danymi. Zatem, odpowiedzi dotyczące możliwości wstawiania rekordów również są błędne, ponieważ uprawnienie INSERT zostało zabrane, co uniemożliwia janowi dodawanie nowych danych do tabeli. W związku z powyższym, wybór odpowiedzi na pytanie egzaminacyjne powinien opierać się na dokładnej analizie przyznanych uprawnień oraz ich wpływu na możliwości działania użytkowników w systemie baz danych.

Pytanie 35

Na podstawie jakiego parametru oraz z ilu tabel będą zwrócone wiersze w wyniku podanego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis WHERE
producent.nr_id = hurtownia.nr_id AND
producent.wyrob_id = serwis.wyrob_id AND
hurtownia.nr_id = sklep.nr_id AND
sklep.nr_id = serwis.nr_id AND
producent.nr_id = 1;
A. Na podstawie parametru nr_id dla wszystkich tabel
B. Na podstawie parametru wyrob_id tylko dla trzech tabel
C. Na podstawie parametru wyrob_id tylko dla trzech tabel
D. Na podstawie parametru nr_id tylko dla trzech tabel
Analizując błędne odpowiedzi można zauważyć że kluczowym aspektem w tym pytaniu jest zrozumienie zastosowania parametrów w klauzuli WHERE Odpowiedzi sugerujące selekcję według parametru wyrob_id są nieprawidłowe ponieważ w klauzuli WHERE dominującą rolę odgrywa parametr nr_id choć występuje tam także warunek dotyczący wyrob_id to jednak główną funkcją jest połączenie tabel według nr_id Jest to typowy błąd wynikający z nieuwzględnienia hierarchii oraz sposobu połączenia tabel w relacyjnych bazach danych Ponadto niektóre odpowiedzi ograniczają się wyłącznie do trzech tabel co również jest błędne ponieważ zapytanie obejmuje wszystkie cztery wymienione tabele producent hurtownia sklep i serwis Koncentracja na jednej lub dwóch tabelach często bierze się z pominięcia kluczowych związków logicznych między tabelami jak w przypadku odpowiedzi które ograniczają scope do mniejszej liczby tabel niż rzeczywiście obejmuje zapytanie Kluczową umiejętnością jest zrozumienie jak różne parametry mogą wpływać na wybór danych zwłaszcza w kontekście tworzenia złożonych zapytań SQL gdzie przemyślane zastosowanie klauzul jest niezbędne do efektywnego zarządzania danymi i unikania niepoprawnych interpretacji wyników Właściwe zrozumienie jak parametry takie jak nr_id czy wyrob_id funkcjonują w zapytaniach pozwala na ich poprawne i skuteczne zastosowanie co jest kluczowe w profesjonalnym podejściu do pracy z bazami danych

Pytanie 36

Do czego wykorzystywany jest program debugger?

A. do badania kodu źródłowego w celu wykrycia błędów składniowych
B. do analizy działającego programu w celu odnalezienia błędów
C. do interpretacji kodu w wirtualnej maszynie Java
D. do przetwarzania kodu napisanego w języku wyższego poziomu na język maszynowy
Pomimo że niektóre odpowiedzi mogą wydawać się bliskie prawdy, należy zrozumieć istotne różnice między funkcjami debuggera a innymi narzędziami w ekosystemie programistycznym. Interpretacja kodu w wirtualnej maszynie Java nie jest zadaniem debuggera, lecz specyficzną funkcją maszyny wirtualnej, która wykonuje programy napisane w języku Java. Ta odpowiedź myli koncepcję uruchamiania kodu z jego analizą i diagnostyką. Z kolei analiza kodu źródłowego w celu odnalezienia błędów składniowych odnosi się do działania kompilatora, który sprawdza poprawność składniową przed uruchomieniem programu, podczas gdy debugger działa na już uruchomionym kodzie. Tłumaczenie kodu zapisanego w języku wyższego poziomu na język maszynowy to proces kompilacji, który ma miejsce przed wykonaniem programu. Debugger, zamiast tego, koncentruje się na dynamicznej analizie działania programu, co jest kluczowe podczas testowania i naprawiania błędów. Zrozumienie tych różnic jest niezbędne, aby poprawnie wykorzystać narzędzia dostępne w procesie tworzenia oprogramowania oraz aby unikać typowych błędów myślowych, takich jak mylenie etapu kompilacji z etapem wykonania.

Pytanie 37

Jakiego rodzaju oprogramowanie narzędziowe powinno być zainstalowane, aby umożliwić użytkownikowi przeprowadzanie operacji na zgromadzonych danych?

A. Klucz obcy
B. System Zarządzania Bazą Danych (SZBD)
C. Otwarty mechanizm komunikacji bazy danych
D. Obiektowy System Zarządzania Bazą Danych
System Zarządzania Bazą Danych, czyli SZBD, to coś, co naprawdę ma duże znaczenie w organizacjach, jeśli mówimy o danych. Dzięki niemu możemy działać z danymi znacznie sprawniej – przechowywać je, aktualizować, usuwać i robić wiele innych rzeczy. To taki pomost między tym, co robią użytkownicy, a samymi danymi. Przy takich systemach jak MySQL, PostgreSQL czy Oracle Database, możemy korzystać z super funkcji, takich jak transakcje czy zarządzanie użytkownikami. To nie tylko ułatwia życie, ale też pozwala na lepsze działania. No i nie zapominaj, że standardy jak SQL to klucz do komunikacji z bazami, niezależnie od technologii. Można też mówić o dobrych praktykach, jak robienie kopii zapasowych czy monitorowanie wydajności. Właściwie, wprowadzenie takiego systemu to fundament do skutecznego zarządzania danymi w każdej organizacji, więc warto się tym zająć.

Pytanie 38

W znaczniku <meta ...> w sekcji <meta ...> na stronie internetowej nie zamieszcza się informacji o

A. kodowaniu
B. typie dokumentu
C. automatycznym odświeżaniu
D. autorze
Wszystkie wymienione odpowiedzi, z wyjątkiem informacji dotyczącej typu dokumentu, są poprawne i mogą być umieszczane w znaczniku <meta>. Informacja o autorze jest istotna, ponieważ pozwala wskazać osobę odpowiedzialną za treść na stronie, co może być ważne w kontekście cytowania i prawa autorskiego. Wyszukiwarki również mogą brać pod uwagę te informacje w kontekście wiarygodności źródła. Z kolei kodowanie jest kluczowe, ponieważ określa, w jaki sposób znaki są interpretowane przez przeglądarkę, co ma fundamentalne znaczenie dla prawidłowego wyświetlania treści, zwłaszcza w przypadku stron wielojęzycznych. Możliwość określenia kodowania w znaczniku <meta charset='UTF-8'> jest powszechnie stosowana, aby zapewnić, że wszystkie znaki są renderowane poprawnie. Automatyczne odświeżanie za pomocą znacznika <meta http-equiv='refresh' content='30'> jest przydatne, gdy strona potrzebuje być często aktualizowana, na przykład w przypadku stron informacyjnych czy serwisów newsowych. Dlatego też, umieszczanie tych informacji w znaczniku <meta> jest zgodne z praktykami webowymi i przyczynia się do poprawy działania strony oraz jej optymalizacji dla użytkowników i wyszukiwarek.

Pytanie 39

Który z znaczników ma na celu organizację struktury tekstu w HTML?

A. <style>
B. <h6>
C. <u>
D. <head>
Znacznik <u> służy do podkreślenia tekstu, co nie ma nic wspólnego z tworzeniem hierarchii treści. W dzisiejszych standardach HTML, podkreślenie tekstu powinno być używane bardzo ostrożnie, ponieważ może wprowadzać w błąd czytelników i wyszukiwarki, sugerując, że tekst jest linkiem do innej strony. W praktyce, znaczenie podkreślenia powinno ograniczać się do przypadków, gdzie jest to konieczne, a nie stać się domyślnym sposobem na wyróżnienie treści. Z kolei znacznik <head> pełni rolę sekcji nagłówkowej dokumentu HTML, w której znajduje się metadane, takie jak tytuł, skrypty czy style. Nie ma on żadnego zastosowania w kontekście budowania hierarchii tekstu, ponieważ nie wpływa na sposób, w jaki treść jest wyświetlana na stronie. Ponadto, znacznik <style> jest używany do definiowania stylów CSS, co również nie ma związku z hierarchią tekstu. Typowe błędy myślowe, które prowadzą do takich niepoprawnych wniosków, mogą wynikać z mylenia celów różnych znaczników HTML. Każdy znacznik ma swoje specyficzne funkcje, a ich niewłaściwe użycie może prowadzić do nieefektywnej struktury strony oraz negatywnie wpływać na doświadczenia użytkowników i SEO. Zrozumienie roli każdego elementu w HTML jest kluczowe dla tworzenia przejrzystych i funkcjonalnych stron internetowych.

Pytanie 40

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające wykonywanie działań na bazie danych, są związane z tematyką zarządzania kontami, użytkownikami oraz ich uprawnieniami?

A. Z zasadami
B. Z przywilejami systemowymi
C. Z właściwościami
D. Z przywilejami obiektowymi
Zarządzanie dostępem do baz danych często opiera się na kilku koncepcjach, które jednak nie są właściwymi odpowiedziami na postawione pytanie. Reguły, jako mechanizmy kontroli dostępu, mogą definiować warunki, które muszą być spełnione, aby użytkownik mógł uzyskać dostęp do danych, jednakże same w sobie nie są odpowiednie do opisywania systemowego nadawania uprawnień. Reguły mogą być stosowane w kontekście bardziej skomplikowanych polityk bezpieczeństwa, ale nie są bezpośrednio związane z przywilejami systemowymi. Atrybuty, z drugiej strony, odnoszą się do cech lub właściwości obiektów w bazie danych, takie jak typ danych, długość czy wartość, ale nie mają one wpływu na systemowe zarządzanie uprawnieniami. W kontekście zabezpieczeń atrybuty mogą być używane w modelach opartych na atrybutach, ale nie są one kluczowe w kontekście przydzielania przywilejów. Przywileje obiektowe to zbiór uprawnień przypisanych do konkretnych obiektów, takich jak tabele czy widoki, które pozwalają użytkownikom na wykonywanie określonych operacji, jak SELECT, INSERT, UPDATE czy DELETE. Chociaż są one istotnym elementem ochrony danych, to jednak nie obejmują one szerszego zarządzania kontami i użytkownikami, które obejmuje również przywileje systemowe. W związku z tym, odpowiedzi te nie dostarczają pełnego obrazu mechanizmów zabezpieczeń stosowanych w zarządzaniu bazami danych.