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: 30 kwietnia 2026 11:43
  • Data zakończenia: 30 kwietnia 2026 11:56

Egzamin niezdany

Wynik: 13/40 punktów (32,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

Instrukcja zapisana w SQL, przedstawiona poniżej, ilustruje kwerendę:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. krzyżowej
B. aktualizującej
C. dołączającej
D. usuwającej
Odpowiedź "aktualizującej" jest prawidłowa, ponieważ instrukcja SQL, którą przedstawiono, służy do modyfikacji istniejących danych w tabeli. Kwerenda ta używa polecenia UPDATE, które jest standardowym poleceniem w SQL do zmiany wartości w jednej lub wielu kolumnach w wybranych wierszach tabeli. W tym przypadku, kwerenda zwiększa wartość ceny o 10% dla wszystkich rekordów w tabeli 'katalog'. Takie operacje są powszechnie stosowane w zarządzaniu bazami danych, szczególnie w kontekście aktualizacji cen produktów, co jest kluczowe w handlu elektronicznym i zarządzaniu zapasami. Ważne jest również, aby przy każdej aktualizacji danych uwzględnić warunki, jeśli zmiana ma dotyczyć tylko określonych wierszy, co można osiągnąć poprzez dodanie klauzuli WHERE. Ponadto, dobrym nawykiem jest zawsze tworzenie kopii zapasowych danych przed przeprowadzeniem masowych aktualizacji, aby zminimalizować ryzyko utraty informacji.

Pytanie 2

Dostępna jest tabela z danymi o mieszkaniach, zawierająca kolumny: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. Wszystkie informacje o tych mieszkaniach, które mają minimum 3 pokoje
B. Wszystkie informacje poza adresem tych mieszkań, które mają więcej niż 3 pokoje
C. Metraż oraz koszt tych mieszkań, które mają przynajmniej 3 pokoje
D. Metraż oraz koszt tych mieszkań, które mają więcej niż 3 pokoje
W tym zapytaniu SQL chodzi o to, żeby ściągnąć konkretne dane z tabeli mieszkania. Używamy klauzuli SELECT, dlatego wybieramy tylko te kolumny, które nas interesują, czyli metraż i cena. I to wszystko bierzemy z tabeli mieszkania, co mamy w klauzuli FROM. Jeszcze dodajemy filtr WHERE, który mówi, że bierzemy tylko te mieszkania, które mają więcej niż trzy pokoje. To naprawdę dobra strategia, bo dzięki temu dokładnie widzimy, co nas interesuje. Takie zapytanie przydaje się w analizach rynku nieruchomości, bo można porównywać ceny mieszkań z większą ilością pokoi. Ogólnie mówiąc, SQL jest super narzędziem do pracy z danymi, bo pozwala nam szybko i efektywnie wyciągać to, co jest dla nas ważne. Wiedza na temat takich zapytań to podstawa, zwłaszcza w pracy z dużymi bazami danych i generowaniu różnych raportów.

Pytanie 3

Wyjątkowa metoda przynależąca do danej klasy w programowaniu obiektowym, która jest automatycznie wywoływana w momencie tworzenia obiektu i zazwyczaj ma na celu inicjalizację pól, to

A. obiekt
B. specyfikator dostępu
C. konstruktor
D. destruktor
Konstruktor to specjalna metoda, która jest wywoływana automatycznie w momencie tworzenia nowego obiektu danej klasy. Jego głównym celem jest zainicjowanie pól obiektu oraz, w razie potrzeby, wykonanie dodatkowych działań konfiguracyjnych. W praktyce konstruktor umożliwia przygotowanie obiektu do dalszego użytkowania. Na przykład, w języku Java, konstruktor o nazwie klasy pozwala na tworzenie instancji tej klasy z określonymi wartościami dla pól. Dobre praktyki wskazują, że konstruktor powinien być używany do przekazywania parametrów, które są niezbędne do prawidłowego działania obiektu. Warto również wspomnieć o koncepcji konstruktorów przeciążonych, która pozwala na definiowanie wielu konstruktorów w jednej klasie, umożliwiając różne sposoby inicjalizacji obiektów. To sprawia, że kod jest bardziej elastyczny i czytelny, co jest zgodne z zasadami programowania obiektowego i dobrymi praktykami inżynierii oprogramowania.

Pytanie 4

Po zrealizowaniu polecenia SQL użytkownik Ela zyska możliwość wykorzystania poniższych uprawnień:

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. tylko tworzyć i zmieniać strukturę tabeli
B. tylko dodawać oraz zmieniać dane
C. przeprowadzać wszystkie operacje na danych
D. realizować wszystkie działania na strukturze danych
Wybór odpowiedzi, która sugeruje, że użytkownik może jedynie dodawać i modyfikować dane, jest mylny, ponieważ nie uwzględnia uprawnienia SELECT, które jest również częścią przyznanych uprawnień. Ograniczając interpretację do dodawania i modyfikowania danych, można zignorować kluczowy aspekt bazy danych – możliwość ich przeglądania. Ponadto, twierdzenie, że użytkownik może jedynie tworzyć i modyfikować strukturę tabel, jest nieadekwatne, ponieważ polecenie GRANT nie dotyczy uprawnień do zmiany struktury bazy danych, takich jak dodawanie nowych tabel czy kolumn. Takie operacje są regulowane przez inne uprawnienia, które muszą być również przyznane. W sytuacji, gdy mówimy o operacjach na strukturze danych, należy uwzględnić, że uprawnienia GRANT dotyczą jedynie pracy z danymi przechowywanymi w tabelach, a nie z ich strukturalnymi aspektami. Pojęcie 'wszystkie operacje na strukturze danych' może wprowadzać w błąd, ponieważ nie odnosi się do przyznanych uprawnień, które nie obejmują na przykład tworzenia nowych tabel lub zmiany ich definicji. Dlatego ważne jest, aby dokładnie zrozumieć różnicę między uprawnieniami do operacji na danych a uprawnieniami do zarządzania strukturą bazy danych. Kluczowym błędem jest zatem niedostrzeganie znaczenia uprawnienia SELECT oraz niewłaściwe rozumienie zakresu przyznawanych uprawnień w kontekście SQL.

Pytanie 5

Wskaż poprawne zdanie dotyczące poniższego polecenia. ```CREATE TABLE IF NOT EXISTS ADRES (ulica VARCHAR(70)) CHARACTER SET utf8); ```

A. Klauzula CHARACTER SET utf8 jest wymagana
B. IF NOT EXISTS używa się opcjonalnie, żeby potwierdzić, że taka tabela nie istnieje w bazie danych
C. Nie można dodawać do tabeli ulic, które zawierają polskie znaki w nazwie
D. Rekord tabeli nie może mieć wartości 3 MAJA
Klauzula IF NOT EXISTS w poleceniu CREATE TABLE jest używana do zapobiegania błędom, które mogą wystąpić, gdy próbujesz stworzyć tabelę, która już istnieje w danej bazie danych. Dzięki temu operatorowi, jeśli tabela o podanej nazwie już istnieje, polecenie nie zostanie wykonane, co pozwala na uniknięcie konfliktów oraz zbędnych błędów w aplikacji. Jest to szczególnie przydatne w sytuacjach, gdy skrypty są uruchamiane wielokrotnie, na przykład podczas aktualizacji lub migracji bazy danych. Użycie IF NOT EXISTS jest opcjonalne, ale zalecane dla poprawności i stabilności kodu SQL. Przykład praktyczny: można stworzyć tabelę 'klienci' z poleceniem 'CREATE TABLE IF NOT EXISTS klienci (id INT PRIMARY KEY, imie VARCHAR(100));', co zapobiega próbie utworzenia tabeli, która już istnieje. Zgodnie z standardami SQL, operator ten jest powszechnie akceptowany w większości systemów zarządzania bazami danych, takich jak MySQL, PostgreSQL czy SQLite, co czyni go uniwersalnym rozwiązaniem w projektach opartych na bazach danych.

Pytanie 6

Istnieje tabela o nazwie wycieczki z kolumnami: nazwa, cena oraz miejsca (reprezentujące liczbę dostępnych miejsc). Aby wyświetlić tylko nazwy wycieczek, których cena jest mniejsza od 2000 zł oraz mają co najmniej cztery wolne miejsca, należy użyć zapytania

A. SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3
B. SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3
C. SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4
D. SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4
Wszystkie inne odpowiedzi są po prostu błędne i prowadzą do złych wyników w kontekście pytania. Na przykład zapytanie z operatorem OR, czyli 'SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4', pozwala na zwrócenie wycieczek, które spełniają tylko jeden z warunków. To oznacza, że mogą być pokazywane wycieczki droższe, które mają wystarczająco dużo miejsc, co jest niezgodne z wymaganiami. Jeszcze innym błędnym przypadkiem jest użycie operatora AND w 'SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3', gdzie ten drugi warunek jest zbyt ogólny. Powinien precyzować, że miejsc musi być co najmniej cztery, a nie tylko więcej niż trzy. Co więcej, zapytanie 'SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4' zwróci wszystkie kolumny, a nie tylko nazwy wycieczek, co też nie jest tym, czego potrzebujemy. Typowe błędy w myśleniu, które prowadzą do tych błędnych wniosków, to złe łączenie warunków i niewłaściwe zrozumienie, co jest ważne w kontekście wymagań. Aby dobrze pisać zapytania SQL, kluczowe jest zrozumienie struktury danych i logiki, która pozwala na wybranie odpowiednich rekordów.

Pytanie 7

Przedstawiony fragment kodu PHP ma za zadanie umieścić dane znajdujące się w zmiennych $a, $b, $c w bazie danych, w tabeli dane. Tabela dane zawiera cztery pola, z czego pierwsze to autoinkrementowany klucz główny. Które z poleceń powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');
B. SELECT NULL, '$a', '$b', '$c' FROM dane;
C. INSERT INTO dane VALUES ('$a', '$b', '$c');
D. SELECT '$a', '$b', '$c' FROM dane;
Wybór opcji 'SELECT '$a', '$b', '$c' FROM dane;' jest nieprawidłowy, ponieważ polecenie SELECT służy do pobierania danych z bazy danych, a nie do ich wstawiania. W tym kontekście celem jest dodanie nowych rekordów, co wymaga użycia polecenia INSERT. Podobnie, 'SELECT NULL, '$a', '$b', '$c' FROM dane;' również nie ma sensu w kontekście dodawania danych, ponieważ znowu wykorzystuje polecenie SELECT, a dodatkowo NULL nie ma zastosowania jako wartość w kontekście gromadzenia danych do wstawienia. Użycie 'INSERT INTO dane VALUES ('$a', '$b', '$c');' jest błędne, ponieważ nie uwzględnia klucza głównego, który jest autoinkrementowany. Zatem, bez podania NULL jako miejsca klucza głównego, próba wstawienia danych doprowadziłaby do błędu, gdyż klucz główny powinien być unikalny i autoinkrementowany. Częstym błędem jest nieuwzględnienie struktury tabeli oraz mechanizmu kluczy głównych i obcych przy konstruowaniu zapytań do bazy danych. Dlatego kluczowe jest, aby zrozumieć, jak poprawnie formułować zapytania, uwzględniając specyfikację tabeli i właściwe polecenia SQL, co jest kluczowe dla efektywnego i bezbłędnego gromadzenia danych.

Pytanie 8

Jak utworzyć klucz obcy na wielu kolumnach podczas definiowania tabeli?

A. CONSTRAINT (nazwisko, imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
B. CONSTRAINT (nazwisko, imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
C. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
D. CONSTRAINT fk_osoba_uczen FOREIGN KEY(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
Pierwsza z niepoprawnych odpowiedzi zawiera błąd w składni, ponieważ nieprawidłowo łączy elementy definicji klucza obcego oraz niepoprawnie używa słowa kluczowego 'REFERENCES' przed 'FOREIGN KEY', co narusza standard SQL. W drugiej niepoprawnej odpowiedzi również występuje błąd w kolejności słów kluczowych, co czyni konstrukcję naruszającą zasady składni SQL. W trzeciej odpowiedzi z kolei mamy do czynienia z błędnym użyciem 'ON', które nie jest częścią definicji klucza obcego w tym kontekście. Ponadto, konstrukcja 'FOREIGN REFERENCES KEY' nie ma sensu w kontekście SQL, ponieważ nie istnieje pojęcie 'REFERENCES' obok 'FOREIGN KEY'. W związku z tym, wszystkie trzy niepoprawne odpowiedzi nie spełniają wymogów poprawnej definicji klucza obcego, co prowadzi do problemów z integralnością danych i błędami podczas wykonywania zapytań w bazie danych. Rekomendowane jest zawsze przestrzeganie standardów SQL i testowanie zapytań w bezpiecznym środowisku przed ich zastosowaniem w produkcji.

Pytanie 9

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?

for ($i = 0; $i <= 10; $i+=2) { ... }
A. 5
B. 0
C. 10
D. 6
W przypadku błędnych odpowiedzi, takich jak 10, 5, 0 czy 6, można zauważyć, że wynikają one z nieprawidłowego zrozumienia działania pętli for w PHP. Odpowiedź 10 sugeruje, że użytkownik zakłada, iż pętla wykonuje się do 10, co jest błędne, ponieważ na każdym kroku zmienna $i zwiększa się o 2. Użycie 5 jako odpowiedzi może wskazywać na niepoprawne obliczenie liczby iteracji przy założeniu, że pętla mogłaby wykonać się z tylko pięcioma incrementami, co jest również mylące. Wybór 0 jako odpowiedzi jest konsekwencją mylnego założenia, że pętla mogłaby w ogóle nie działać, co jest sprzeczne z logiką, ponieważ pętla rozpoczyna się od $i = 0 i spełnia warunek kontynuacji. Ważne jest, aby podczas analizy pętli skupić się na warunkach początkowych, zmiennej sterującej oraz modyfikacji tej zmiennej w każdym cyklu. Prawidłowe obliczenie liczby iteracji pętli jest kluczowe w programowaniu, ponieważ ma to bezpośredni wpływ na wydajność i efektywność działania algorytmów.

Pytanie 10

W SQL wykonano poniższe instrukcje GRANT. Kto będzie miał prawa do przeglądania oraz modyfikacji danych?

GRANT ALL ON firmy TO 'admin'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tomasz i Anna
B. Tomasz i Adam
C. Tylko Tomasz
D. Adam i Anna
Nieprawidłowe rozumienie problemu wynika z błędnej interpretacji przyznanych uprawnień SQL. Anna choć posiada uprawnienia ALTER CREATE i DROP które odnoszą się do zarządzania strukturą bazy danych takie jak dodawanie czy usuwanie tabel lub zmiana ich struktury nie ma uprawnień do przeglądania czy modyfikowania zawartości tabel. To oznacza że nie może przeglądać ani modyfikować danych co wyklucza ją jako osobę mającą prawo do przeglądania i zmiany danych w kontekście tego pytania. Adam w przesłanych komendach nie jest wymieniony co jasno wskazuje że żadne uprawnienia nie zostały mu przyznane. Często popełnianym błędem jest założenie że posiadanie uprawnień do zmiany struktury bazy danych automatycznie pozwala na przeglądanie danych jednak w rzeczywistości uprawnienia te są rozdzielone co jest kluczowe dla zapewnienia bezpieczeństwa danych. Rozróżnienie między uprawnieniami do zarządzania danymi a ich strukturyzowania jest fundamentalne w pracy z bazami danych i niezbędne do skutecznego administrowania dostępem użytkowników. Tomasz jako jedyny uzyskał odpowiednie uprawnienia do przeglądania i modyfikacji danych co jasno wynika z przyznanych mu uprawnień SQL.

Pytanie 11

echo date"Y"); Po uruchomieniu tego kodu PHP na ekranie ukaże się bieżąca data, obejmująca wyłącznie

A. dzień
B. dzień i miesiąc
C. miesiąc i rok
D. rok
Odpowiedź 'rok' jest prawidłowa, ponieważ w podanym kodzie PHP echo date('Y') zwraca aktualny rok w czterocyfrowym formacie, np. 2023. Funkcja date w PHP jest używana do formatowania daty i czasu, a 'Y' jest stałą formatującą, która reprezentuje rok w pełnym formacie. Dzięki temu programista może łatwo uzyskać i wyświetlić rok w różnych kontekstach, na przykład w systemach zarządzania treścią, raportach czy aplikacjach webowych. Praktyczne zastosowanie tej funkcji jest szerokie, np. w generowaniu automatycznych stopki na stronach internetowych, gdzie często umieszcza się aktualny rok, aby informować użytkowników o bieżącym roku w kontekście praw autorskich. Znajomość różnych formatów daty i ich zastosowanie zgodnie z dobrymi praktykami programistycznymi z pewnością przyczyni się do poprawy jakości kodu.

Pytanie 12

W zaprezentowanym fragmencie algorytmu użyto

Ilustracja do pytania
A. dwie pętle.
B. trzy bloki operacyjne (procesy).
C. jedną pętlę.
D. jeden blok decyzyjny.
W przedstawionym fragmencie algorytmu zastosowano jedną pętlę co jest zgodne z poprawną odpowiedzią. Pętla to konstrukcja programistyczna pozwalająca wielokrotnie wykonywać fragment kodu dopóki spełniony jest określony warunek. W analizowanym schemacie widzimy jednokrotną pętlę oznaczoną powrotem do wcześniejszego punktu co jest charakterystyczne dla takich struktur. Najczęściej używane pętle to for while i do-while różniące się sposobem sprawdzania warunku początkowego. Pętle są fundamentalne w algorytmice i pozwalają na realizację złożonych operacji takich jak iteracja po tablicach czy przetwarzanie danych wejściowych. Ich zastosowanie zwiększa efektywność kodu i upraszcza jego strukturę. Dobrą praktyką jest dbanie o czytelność pętli i unikanie skomplikowanych zależności co poprawia zrozumienie kodu przez innych programistów. Warto również pamiętać o zasadach optymalizacji np. minimalizowanie liczby iteracji co przekłada się na lepszą wydajność.

Pytanie 13

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Zwiększenie ostrości zdjęcia.
C. Zmiana jasności zdjęć.
D. Przenikanie zdjęć.
W tym zadaniu łatwo pomylić kilka różnych rodzajów operacji na obrazie, bo wszystkie jakoś „zmieniają wygląd zdjęcia”, ale działają zupełnie inaczej. Efekt pokazany na filmie to przenikanie dwóch zdjęć w czasie, czyli animowane przejście między jednym obrazem a drugim. Kluczowa cecha: widzimy jednocześnie dwa zdjęcia, jedno stopniowo zanika, a drugie stopniowo się pojawia. To nie jest typowa operacja edycyjna na pojedynczym pliku graficznym, tylko efekt animacyjny, często wykorzystywany w pokazach slajdów, sliderach na stronach WWW i w montażu wideo. Zmiana jasności zdjęć to zupełnie inny rodzaj przetwarzania. Jasność modyfikuje poziom luminancji całego obrazu lub jego fragmentów – obraz staje się ciemniejszy albo jaśniejszy, ale dalej jest to to samo zdjęcie. Nie pojawia się nowe, drugie zdjęcie, nie ma nakładania dwóch kadrów. W programach do grafiki mamy to jako „Brightness”, „Exposure” czy „Levels”. Jeśli na filmie widać, że jeden obraz przechodzi płynnie w inny, to nie jest korekta jasności, tylko przejście między dwiema warstwami. Podobnie z ostrością – zwiększenie ostrości polega na podbiciu kontrastu na krawędziach, żeby szczegóły wyglądały wyraźniej. W praktyce używa się filtrów typu Unsharp Mask, Smart Sharpen albo algorytmów wyostrzania w czasie rzeczywistym. Obraz przed i po wyostrzeniu to ciągle ta sama klatka, tylko z innym przetworzeniem detali, nie ma efektu zanikania jednego zdjęcia i pojawiania się drugiego. Zmniejszenie kontrastu to kolejna korekta globalna, która spłaszcza różnice między jasnymi a ciemnymi partiami obrazu. Zdjęcie robi się bardziej „szare”, mniej dynamiczne. Znowu – cały czas pracujemy na jednym ujęciu, bez miksowania dwóch fotografii. Typowym błędem myślowym przy takich pytaniach jest to, że skoro coś się „zmienia w czasie”, to musi chodzić o jakąś regulację parametrów typu jasność czy kontrast. Tymczasem w efektach multimedialnych bardzo często operujemy na wielu warstwach – dwa obrazy, dwie klatki wideo – i animujemy ich wzajemną przezroczystość. Właśnie to jest esencją przenikania zdjęć i odróżnia je od zwykłych korekt obrazu.

Pytanie 14

Jak nazywa się metoda tworząca obiekt w języku PHP?

A. __open
B. __create
C. __new
D. __construct
Odpowiedzi, które nie są poprawne, nie odnoszą się do właściwego sposobu definiowania konstruktorów w PHP. Wyrażenie __new sugeruje mechanizm związany z tworzeniem instancji obiektów, jednak nie jest ono używane jako konstruktor. W PHP __new jest używane w kontekście wzorców projektowych, ale nie jest to metoda konstrukcyjna, lecz metodą statyczną związaną z prototypowaniem obiektów, co wykracza poza standardowy sposób inicjalizacji obiektów. Z kolei __open oraz __create nie są metodami rozpoznawanymi przez PHP jako mające jakiekolwiek znaczenie w kontekście konstruktorów. __open mogłoby sugerować otwarcie zasobu, co nie ma związku z inicjalizacją obiektu klasy, a __create jest nieodpowiednim terminem, gdyż PHP nie definiuje żadnej metody o takiej nazwie. Użycie tych nazw w kontekście konstruktorów wprowadza zamieszanie i może prowadzić do błędów w kodzie oraz nieporozumień dotyczących działania obiektów. Właściwe użycie __construct jako konstruktorów w PHP jest kluczowe dla zapewnienia prawidłowego działania aplikacji, a niewłaściwe nazewnictwo może prowadzić do problemów technicznych i ograniczeń funkcjonalnych.

Pytanie 15

W jaki sposób będzie uporządkowana lista stworzona z wszystkich kolumn tabeli uczniowie, obejmująca uczniów o średniej wyższej niż 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?

SELECT *
FROM uczniowie
WHERE srednia > 5
ORDER BY klasa DESC;
A. Rosnąca według parametru klasa
B. Rosnaco według parametru srednia
C. Malejąco według parametru srednia
D. Malejąco według parametru klasa
Zapytanie SQL używa klauzuli ORDER BY klasa DESC co oznacza że wyniki będą posortowane malejąco według kolumny klasa Klauzula ORDER BY jest używana w języku SQL do sortowania wyników zapytania Użycie DESC oznacza że sortowanie będzie w porządku malejącym co w praktyce oznacza że najwyższe wartości będą na początku listy a najniższe na końcu To jest przydatne gdy chcemy uzyskać strukturę danych w której najważniejsze lub najbardziej istotne rekordy są prezentowane na samym początku na przykład gdy analizujemy dane w kontekście hierarchicznym lub priorytetowym W tym przypadku sortujemy malejąco według klasy co może być użyteczne na przykład gdy chcemy szybko zidentyfikować uczniów z wyższych klas którzy osiągają wysokie wyniki średnia powyżej 5 Dobre praktyki w SQL zalecają jasne i precyzyjne definiowanie kryteriów sortowania co ułatwia zrozumienie logiki zapytania oraz zapewnia jego przewidywalne działanie Jeśli dane wymagają częstego sortowania warto rozważyć optymalizację poprzez odpowiednie indeksy co może znacząco poprawić wydajność zapytań zwłaszcza w dużych zestawach danych

Pytanie 16

Jaką właściwość CSS należy zastosować, aby uzyskać linie przerywaną w obramowaniu?

Ilustracja do pytania
A. dotted
B. solid
C. dashed
D. double
Odpowiedź dashed jest poprawna ponieważ w CSS właściwość ta służy do definiowania stylu obramowania w postaci linii kreskowanej Jest to często używane do wizualnego oddzielenia zawartości na stronie internetowej bez zbytniego skupiania uwagi Użycie dashed sprawia że linia jest bardziej subtelna w porównaniu do solid co czyni ją dobrym wyborem w przypadku chęci zachowania minimalistycznego wyglądu Zgodnie ze standardami CSS właściwość border-style może przyjmować kilka wartości w tym solid dotted double i dashed Każda z tych wartości ma swoje unikalne zastosowania na przykład solid tworzy ciągłą linię natomiast dotted tworzy linię z kropkami Linia dashed składa się z krótkich kresek co różni ją od linii double która jest podwójną linią W praktyce dashed jest często stosowane w projektach gdzie ważne jest wskazanie na określone sekcje lub elementy bez przytłaczania użytkownika Zgodnie z dobrymi praktykami można dostosować szerokość i kolor obramowania co pozwala na lepszą integrację z ogólnym stylem strony CSS daje dużą elastyczność w projektowaniu co pozwala na tworzenie różnorodnych i responsywnych interfejsów użytkownika

Pytanie 17

W jaki sposób można ocenić normalizację przedstawionej tabeli?

FirmaAdres
Forbotul. Krótka 11, 22-222 Warszawa
Marbotul. Długa 5, 33-333 Warszawa
A. Tabela nie została znormalizowana
B. Tabela znajduje się w pierwszej postaci normalnej
C. Tabela jest w trzeciej postaci normalnej
D. Tabela znajduje się w drugiej postaci normalnej
Pierwsza postać normalna wymaga aby wszystkie wartości atrybutów w rekordzie były atomowe czyli nieredukowalne Tabela przedstawiona w zadaniu nie spełnia tego wymogu ponieważ adresy nie są rozbite na osobne elementy takie jak ulica miasto i kod pocztowy co uniemożliwia bardziej złożoną manipulację danymi oraz precyzyjne wyszukiwanie Druga postać normalna wymaga aby wszystkie atrybuty nie będące częścią klucza głównego były w pełni funkcjonalnie zależne od całego klucza Tabela z pytania nie spełnia tych kryteriów ponieważ istnieje redundancja i brak wyraźnej struktury Klucz główny w dobrze zaprojektowanej tabeli bazy danych powinien jednoznacznie identyfikować każdy wiersz co nie jest widoczne w tej strukturze Trzecia postać normalna idzie krok dalej eliminując zależności przechodnie między atrybutami co w przypadku tej tabeli również nie ma zastosowania Problemem tutaj jest brak rozdzielenia danych na mniejsze tabele co prowadzi do redundancji i potencjalnych błędów przy aktualizacji danych często określanych jako anomaly W dobrze znormalizowanej bazie danych oddzielenie informacji takich jak dane adresowe umożliwia lepszą organizację danych ich spójność oraz zwiększa efektywność operacji na bazie danych

Pytanie 18

W języku HTML zdefiniowano znacznik a oraz atrybut rel nofollow.

A. jest poleceniem dla przeglądarki internetowej, aby nie traktowała słowa "link" jako hiperłącza
B. jest wskazówką dla robota wyszukiwarki Google, aby nie śledził tego linku
C. oznacza, że kliknięcie w link nie przekieruje na stronę website.com
D. oznacza, że kliknięcie w link otworzy go w nowej karcie przeglądarki
Pierwsza odpowiedź sugeruje, że kliknięcie w link nie przeniesie użytkownika do strony website.com, co jest absolutnie błędne. Użycie atrybutu nofollow nie zmienia funkcji samego linku w kontekście przeglądarki internetowej. Użytkownicy nadal mogą klikać w link, a przeglądarka otworzy stronę docelową. Atrybut nofollow ma zastosowanie wyłącznie do robotów wyszukiwarek, a nie do rzeczywistego zachowania linku w przeglądarkach. Druga odpowiedź myli również rolę atrybutu nofollow, sugerując, że link otworzy się w osobnej karcie przeglądarki. Rzeczywiście, aby link został otwarty w nowej karcie, powinien on zawierać atrybut target z wartością '_blank', a nie rel nofollow. Ostatnia odpowiedź sugeruje, że nofollow informuje przeglądarkę, aby nie formatowała słowa 'link' jako odnośnika. To również jest niepoprawne, ponieważ rel nofollow nie ma wpływu na sposób wyświetlania linków w przeglądarkach, a jego rola ogranicza się wyłącznie do komunikacji z robotami wyszukiwarek. W skrócie, wszystkie trzy odpowiedzi mylnie interpretują funkcję atrybutu nofollow, co może prowadzić do poważnych nieporozumień w zakresie SEO i zarządzania linkami.

Pytanie 19

W przedstawionym kodzie PHP przeprowadzono operację na bazie danych. Jaką funkcję należy wywołać, aby uzyskać liczbę wierszy, które zostały zmienione w tabeli?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10"; mysqli_query($db, $zapytanie);
A. mysqli_num_rows()
B. mysqli_use_result()
C. mysqli_field_count()
D. mysqli_affected_rows()
Wybór innych funkcji zamiast mysqli_affected_rows() prowadzi do nieporozumień dotyczących ich przeznaczenia i zastosowania. Przykładowo, funkcja mysqli_num_rows() jest używana w kontekście kwerend SELECT, gdzie zwraca liczbę wierszy w zestawie wyników. Nie może być zastosowana po operacjach modyfikujących bazę danych, takich jak UPDATE, ponieważ nie dostarcza informacji o efektach tych operacji. Z kolei mysqli_use_result() jest przeznaczona do przetwarzania zestawów wyników z zapytań, co znowu nie odnosi się do sytuacji, w której chcemy znać liczbę zmienionych wierszy. Funkcja mysqli_field_count() zwraca liczbę kolumn w ostatnim zapytaniu, które zwróciło rezultat, co również nie ma zastosowania w kontekście zapytań modyfikujących. Typowym błędem myślowym jest mieszanie funkcji związanych z różnymi rodzajami zapytań. Ważne jest, aby rozumieć, jak różne funkcje w PHP dotyczące MySQL są ze sobą powiązane i jakie mają specyficzne zastosowania. Nieprawidłowe użycie tych funkcji może prowadzić do błędnych wniosków o stanie bazy danych i utrudniać debugowanie aplikacji. W związku z tym kluczowym elementem efektywnego zarządzania bazami danych jest znajomość odpowiednich funkcji oraz ich funkcji i ograniczeń.

Pytanie 20

Który z frameworków stworzono dla języka skryptowego PHP?

A. Spring
B. Angular
C. Symfony
D. ASP.NET
Wybór frameworka do rozwoju aplikacji webowych wymaga zrozumienia specyfiki i przeznaczenia danego narzędzia. W przypadku Spring, jest to framework stworzony z myślą o języku Java, skoncentrowany na tworzeniu aplikacji korporacyjnych. Jego zalety, takie jak wsparcie dla zależności i aspektowości, czynią go doskonałym wyborem dla programistów Java, ale nie mają zastosowania w kontekście PHP. Angular natomiast to framework JavaScript, który jest używany do budowy interaktywnych aplikacji jednostronicowych (SPA) w przeglądarkach. Oferuje zaawansowane techniki zarządzania stanem oraz komponentami, lecz nie jest przeznaczony do programowania w PHP. ASP.NET jest z kolei technologią opracowaną przez Microsoft dla języka C# i platformy .NET, co czyni go nieodpowiednim dla projektów PHP. Te błędne odpowiedzi mogą wynikać z nieporozumienia w zakresie technologii webowych i ich wzajemnych relacji. Kluczowym elementem przy wyborze frameworka jest zrozumienie, że każde z tych narzędzi jest optymalizowane do konkretnego języka programowania i jego architektury, co podkreśla znaczenie dobrego dopasowania technologii do wymagań projektu.

Pytanie 21

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

Ilustracja do pytania
A. klucz obcy rezyserzy_id tabeli filmy z kluczem podstawowym id tabeli rezyserzy
B. klucz obcy rezyserzy_id tabeli filmy z kluczem obcym id tabeli rezyserzy
C. klucz podstawowy id tabeli filmy z kluczem obcym rezyserzy_id tabeli rezyserzy
D. klucz podstawowy id tabeli filmy z kluczem podstawowym 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 22

Kod języka CSS można umieścić wewnątrz kodu HTML, posługując się znacznikiem

A. <style>
B. <meta>
C. <body>
D. <head>
Wybór odpowiedzi <head> wydaje się sensowny, ponieważ sekcja ta jest istotnym elementem struktury HTML, jednak nie służy ona do definiowania stylów CSS. Element <head> zawiera metadane, skrypty oraz odnośniki do zewnętrznych zasobów, ale nie może zawierać samej definicji stylów. Zamieszczanie stylów bezpośrednio w <head> jest niemożliwe bez zastosowania dodatkowego znacznika, takiego jak <style>. Z kolei <body> jest sekcją, w której umieszczane są wszystkie widoczne elementy strony, a nie miejsce na definicje stylów. W przypadku <meta>, jego głównym celem jest dostarczanie metadanych o stronie, takich jak opis czy słowa kluczowe, co również nie ma związku z stylizowaniem elementów. Typowym błędem jest mylenie funkcji różnych sekcji HTML oraz niepełne rozumienie, jak CSS współpracuje z dokumentem HTML. Aby poprawnie zastosować CSS, należy zawsze używać znacznika <style> do osadzenia kodu stylu wewnętrznie lub odwołać się do zewnętrznego pliku CSS za pomocą znacznika <link>. To zapewnia zgodność z najlepszymi praktykami w zakresie tworzenia stron internetowych oraz efektywnego zarządzania stylami.

Pytanie 23

Który kod jest alternatywny do kodu zamieszczonego w ramce?

<?php
for($x = 1; $x <= 55; $x++)
{
  if($x % 2 != 0) continue;
  echo $x . " ";
}
?>
A. for($x = 2; $x <= 54; $x += 2) {echo $x." ";}
B. for($x = 1; $x <= 55; $x += 1) {echo $x." ";}
C. for($x = 2; $x <= 56; $x += 2) {echo $x." ";}
D. for($x = 1; $x <= 55; $x++) {echo $x." ";}
Brawo! Wybrałeś odpowiedź A, która jest poprawna. Kod zawarty w tej odpowiedzi jest alternatywą dla kodu zamieszczonego w ramce. W obydwu przypadkach mamy do czynienia z pętlą, która operuje na liczbach. W pętli zamieszczonej w ramce, instrukcja 'continue' powoduje, że pętla pomija operacje na liczbach parzystych. Tym samym, końcowy efekt tego kodu to operacje na liczbach nieparzystych. W odpowiedzi A, pętla została skonstruowana w taki sposób, że operacje wykonywane są tylko na liczbach parzystych (pętla zaczyna od liczby 2 i zwiększa wartość o 2 za każdym razem). Tą technikę możemy wykorzystać, kiedy chcemy zbudować kod, który nie uwzględnia pewnego podzbioru danych. W tym przypadku, jeśli chcemy stworzyć kod, który operuje tylko na liczbach nieparzystych, możemy zastosować instrukcję 'continue' w połączeniu z warunkiem sprawdzającym parzystość liczby.

Pytanie 24

W bazie danych samochodów pole kolor z tabeli samochody przyjmuje wartości kolorów jedynie ze słownika lakier. Aby połączyć tabele samochody i lakier relacją należy, zastosować kwerendę

A. ALTER TABLE samochody
   ADD FOREIGN KEY kolor REFERENCES lakier;

B. ALTER TABLE samochody
   ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);

C. ALTER TABLE samochody
   ADD FOREIGN KEY barwa REFERENCES samochody.lakier;

D. ALTER TABLE lakier
   ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
A. C.
B. D.
C. B.
D. A.
Błędne odpowiedzi wynikają z niezrozumienia jak działa łączenie tabel w SQL lub z błędów w składni. W przypadku relacji między tabelami, klucz obcy w jednej tabeli odpowiada kluczowi głównemu w drugiej tabeli. Tymczasem, niektóre z błędnych odpowiedzi zawierają niewłaściwe odniesienia do kluczy głównych i obcych. Próby utworzenia klucza obcego bez odwołania do odpowiadającego mu klucza głównego, lub odwołanie się do nieistniejących pól w tabeli, skutkują błędami i niepoprawnym działaniem bazy danych. Błędy w składni SQL, takie jak niepoprawne użycie słów kluczowych czy polecenia utworzenia klucza obcego, mogą także prowadzić do nieprawidłowych wyników. Zrozumienie relacji między tabelami i prawidłowe stosowanie składni SQL są kluczowe dla efektywnej pracy z bazami danych.

Pytanie 25

Aby strona internetowa była dostosowana do różnych urządzeń, należy między innymi ustalać

A. wielkości obrazów w procentach
B. wielkości obrazów wyłącznie w pikselach
C. układ strony wyłącznie przy użyciu tabel
D. tylko znane fonty, takie jak Arial
Definiowanie rozmiarów obrazów wyłącznie w pikselach nie jest wystarczające dla uzyskania responsywności strony WWW. Choć jednostki pikselowe są precyzyjne, nie reagują na zmiany rozmiaru ekranu, co prowadzi do problemów z wyświetlaniem na urządzeniach mobilnych, gdzie różnorodność rozdzielczości jest ogromna. Użycie tabel do rozmieszczania elementów na stronie jest kolejnym podejściem, które jest przestarzałe i niezalecane w nowoczesnym web designie. Tabele były stosowane w początkowych latach tworzenia stron internetowych, ale obecnie powinny być używane tylko do prezentacji danych, a nie jako główny komponent układu. Umożliwia to lepsze zarządzanie strukturą strony przy użyciu CSS, co wspiera responsywność. Określenie jedynie znanych czcionek, takich jak Arial, również nie przyczynia się do responsywności strony. Fonty mają znaczenie, jednak ich wybór nie wpływa na elastyczność układu. W nowoczesnym projektowaniu stron internetowych zaleca się korzystanie z fontów systemowych lub czcionek dostępnych przez usługi takie jak Google Fonts, co pozwala na lepsze odwzorowanie typografii na różnych urządzeniach i platformach.

Pytanie 26

Baza danych, która fizycznie znajduje się na wielu komputerach, lecz logicznie postrzegana jako całość, opiera się na architekturze

A. lokalną
B. abstrakcyjną
C. rozproszoną
D. relacyjną
Wybór architektury relacyjnej, abstrakcyjnej czy lokalnej do opisu systemu, w którym baza danych jest rozproszona, wskazuje na pewne nieporozumienia w zakresie terminologii i koncepcji baz danych. Architektura relacyjna odnosi się do struktury baz danych, w której dane są przechowywane w tabelach oraz powiązaniach między nimi, a nie do fizycznego rozmieszczenia danych. Systemy relacyjne mogą być wdrażane zarówno w architekturze lokalnej, jak i rozproszonej. Abstrakcyjna architektura danych dotyczy natomiast sposobów modelowania, które są niezależne od konkretnej technologii i nie odnoszą się bezpośrednio do fizycznego rozproszenia danych. Z kolei architektura lokalna odnosi się do sytuacji, w której wszystkie komponenty systemu są umieszczone w jednym miejscu, co zdecydowanie wyklucza możliwość rozproszenia danych. W praktyce, nieprawidłowy wybór architektury może prowadzić do problemów z wydajnością, dostępnością i skalowalnością systemu. Często mylone są pojęcia związane z architekturą baz danych i ich implementacją, co może skutkować błędnymi decyzjami projektowymi i trudnościami w zarządzaniu danymi. Dobrze jest zrozumieć, że architektura rozproszona nie tylko zwiększa wydajność, ale również poprawia bezpieczeństwo i dostępność danych, co czyni ją odpowiednim wyborem dla nowoczesnych systemów przetwarzania danych.

Pytanie 27

Aby usunąć tabelę, trzeba użyć kwerendy

A. TRUNCATE TABLE
B. DROP TABLE
C. DELETE
D. UNIQUE
Zarówno odpowiedzi 'DELETE', 'UNIQUE', jak i 'TRUNCATE TABLE' nie są właściwymi poleceniami do całkowitego usunięcia tabeli, co prowadzi do nieporozumień w zakresie zarządzania danymi. Odpowiedź 'DELETE' służy do usuwania rekordów z tabeli, a nie samej tabeli. Używając 'DELETE FROM klienci;', możemy usunąć wszystkie wiersze z tabeli 'klienci', ale struktura tabeli pozostaje nienaruszona. To polecenie jest przydatne, gdy chcemy usunąć konkretne dane, zachowując jednocześnie samą tabelę do przyszłego użytku. 'UNIQUE' to natomiast ograniczenie, które zapewnia, że wartości w kolumnie są unikalne, co jest używane w kontekście definiowania struktury tabeli, a nie jej usuwania. W kontekście usuwania danych z tabeli, 'UNIQUE' nie ma zastosowania. W końcu 'TRUNCATE TABLE' usuwa wszystkie dane z tabeli, ale nie kasuje samej tabeli. To polecenie jest bardziej efektywne pod względem wydajności w porównaniu do 'DELETE', ponieważ nie prowadzi do rejestracji pojedynczych operacji usuwania dla każdego rekordu. Warto pamiętać, że 'TRUNCATE TABLE' również nie jest odwracalne, a różni się od 'DELETE' tym, że nie można go używać, gdy tabela jest powiązana z innymi tabelami poprzez klucze obce. Zrozumienie tych różnic jest kluczowe dla efektywnego zarządzania danymi w bazach danych i unikania błędów w pracy z SQL.

Pytanie 28

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla konta root na serwerze sprzedawca
B. do wszystkich tabel w bazie danych hurtownia
C. dla konta root na serwerze localhost
D. do wszystkich kolumn w tabeli hurtownia
Wybór opcji, która sugeruje, że polecenie nadaje dostęp do wszystkich pól w tabeli hurtownia, jest mylny, ponieważ w SQL uprawnienia są przyznawane na poziomie tabeli, a nie pól. W SQL nie możemy przyznać uprawnień do pojedynczych kolumn w taki sposób, jak sugeruje ta odpowiedź; wyjątkiem są bardziej szczegółowe polecenia, w których można określić kolumny, ale nie w kontekście polecenia GRANT z użyciem znaku <code>*</code>. Innym błędnym wnioskiem jest stwierdzenie, że polecenie dotyczy użytkownika root. Polecenie wskazuje, że uprawnienia są przyznawane użytkownikowi 'sprzedawca' na localhost, a nie użytkownikowi root, który jest administratorem systemu baz danych. Takie nieporozumienia mogą wynikać z nieznajomości struktury użytkowników w MySQL oraz sposobu, w jaki działają uprawnienia. Ważne jest zrozumienie, że w kontekście bezpieczeństwa bazy danych, przyznawanie uprawnień powinno być przemyślane, aby unikać nieautoryzowanego dostępu oraz ograniczać dostęp do danych tylko do tych użytkowników, którzy rzeczywiście go potrzebują. Dbanie o bezpieczeństwo danych w bazie danych jest kluczowe, a niewłaściwe przyznawanie uprawnień może prowadzić do poważnych naruszeń bezpieczeństwa.

Pytanie 29

Baza danych 6-letniej szkoły podstawowej zawiera tabelę szkola z polami: imie, nazwisko oraz klasa. Uczniowie z klas 1-5 przeszli do wyższej klasy. Jakie polecenie należy użyć, aby zwiększyć wartość w polu klasa o 1?

A. SELECT szkola FROM klasa=klasa+1 WHERE klasa >=1 AND klasa <=5
B. UPDATE szkola SET klasa=klasa+1 WHERE klasa>=1 AND klasa <=5
C. UPDATE nazwisko, imie SET klasa=klasa+1 WHERE klasa>1 OR klasa<5
D. SELECT nazwisko, imie FROM klasa=klasa+1 WHERE klasa>1 OR klasa <5
W analizie błędnych odpowiedzi należy zwrócić uwagę na nieprawidłowości w składni i logice zapytań. Pierwsza odpowiedź sugeruje użycie 'UPDATE nazwisko, imie SET klasa=klasa+1 WHERE klasa>1 OR klasa<5;', co jest niepoprawne, ponieważ 'UPDATE' powinno odnosić się do całej tabeli, a nie do pojedynczych pól. Ponadto warunki w klauzuli 'WHERE' są zbyt ogólne, co skutkowałoby aktualizacją uczniów, którzy nie zdali do kolejnej klasy. Druga odpowiedź zawiera poprawną strukturę, ale użycie 'SELECT szkola FROM klasa=klasa+1 WHERE klasa >=1 AND klasa <=5;' jest błędne, gdyż 'SELECT' nie jest odpowiednie do aktualizacji danych - powinno być użyte 'UPDATE'. Ostatnia propozycja również myli pojęcia, stosując 'SELECT' zamiast 'UPDATE', co skutkuje próbą odczytania danych, zamiast ich aktualizacji. Typowym błędem myślowym jest mylenie tych dwóch komend w SQL, co prowadzi do nieporozumień w zakresie manipulacji danymi. Kluczowe jest zrozumienie, że 'UPDATE' jest używane do zmiany istniejących rekordów, podczas gdy 'SELECT' służy do pobierania danych. Aby uniknąć takich błędów, ważne jest, aby zrozumieć funkcje i zastosowania różnych poleceń SQL oraz praktykować ich wykorzystanie w rzeczywistych scenariuszach.

Pytanie 30

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. pozwala na wprowadzanie jedynie wartości liczbowych.
B. domyślnie posiada wpisany tekst "pole".
C. ukrywa wprowadzone znaki.
D. wyświetla wprowadzone znaki.
Twoja odpowiedź jest właściwa. W tym fragmencie formularza HTML mamy pole <i>input</i>, które wprowadzone znaki ukrywa. To dzięki atrybutowi 'type="password"' w elemencie <i>input</i>. W HTML atrybut 'type' mówi nam, jaki typ danych użytkownik może wprowadzić do tego pola. Jak masz 'password', to wpisane rzeczy są zasłonięte symbolami, jak np. gwiazdki czy kropki, żeby chronić dane użytkownika. To standardowa sprawa, szczególnie dla haseł i innych ważnych informacji, żeby nikt ich nie zobaczył. Pamiętaj, że takie pola powinny być zawsze dobrze oznaczone i zabezpieczone, to ważne dla bezpieczeństwa.

Pytanie 31

Na rysunku została przedstawiona relacja jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz podstawowy id tabeli filmy z kluczem obcym reżyserzy_id tabeli reżyserzy.
B. klucz obcy reżyserzy_id tabeli filmy z kluczem obcym id tabeli reżyserzy.
C. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
D. klucz obcy reżyserzy_id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
Wszystkie błędne odpowiedzi zawierają pewne mylące koncepcje związane z rolą kluczy obcych i podstawowych w relacyjnych bazach danych. Klucz podstawowy jest unikalnym identyfikatorem rekordu w tabeli, a klucz obcy wskazuje na klucz podstawowy w innej tabeli, tworząc w ten sposób relację między danymi. Błędne odpowiedzi sugerują, że klucz podstawowy z jednej tabeli może wskazywać na klucz podstawowy w innej tabeli lub że klucz obcy może wskazywać na inny klucz obcy. To są niepoprawne interpretacje, które mogą prowadzić do błędów w projektowaniu bazy danych, utrudniając efektywne zarządzanie danymi. Dobrze zrozumienie roli kluczy obcych i podstawowych jest kluczowe dla prawidłowego projektowania i zarządzania relacyjnymi bazami danych.

Pytanie 32

Baza danych księgarni ma tabelę ksiazki z polami: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Jak utworzyć raport dotyczący sprzedanych książek, który zawiera tytuły oraz nazwiska autorów?

A. utworzyć dwie oddzielne kwerendy: pierwszą, która wyszuka tytuły książek, a drugą, która pobierze nazwiska autorów
B. Ustalić relację 1..1 pomiędzy tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
C. stworzyć kwerendę, która wyszukuje tytuły książek
D. Zdefiniować relację 1..n między tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Podejścia polegające na tworzeniu dwóch osobnych kwerend lub definiowaniu relacji 1..1 są błędne z kilku powodów. Rekomendacja dotycząca tworzenia dwóch osobnych kwerend, z jedną dla tytułów książek i drugą dla nazwisk autorów, prowadzi do nieefektywności. Umożliwia to jedynie pobranie fragmentarycznych danych, które następnie trzeba łączyć w aplikacji lub manualnie, co zwiększa ryzyko błędów i wymaga dodatkowego wysiłku. Kwerendy są wydajniejsze w połączeniu, a ich wykonanie jest szybsze i bardziej zorganizowane. Z kolei definicja relacji 1..1 pomija fakt, że jeden autor może napisać wiele książek, co nie oddaje rzeczywistej struktury danych. Takie podejście prowadzi do niepoprawnego modelowania danych, które uniemożliwia efektywne zarządzanie informacjami o książkach i ich autorach. W praktyce, prawidłowe zdefiniowanie relacji w bazie danych jest kluczowe dla integracji danych oraz ich przyszłego wykorzystania, a także dla zapewnienia integralności referencyjnej. Dlatego też, ważne jest, aby zrozumieć zasady rządzące relacjami między tabelami oraz umiejętnie stosować złączenia w kwerendach.

Pytanie 33

W poniższym kodzie CSS czcionka zmieni kolor na żółty

a[target="_blank"]
{
  color: yellow;
}
A. tekstu akapitu
B. odnośników, które otwierają się w tej samej karcie
C. odnośników, które otwierają się w nowej karcie
D. każdego linku
Prawidłowa odpowiedź wskazuje na zastosowanie selektora a[target="_blank"] w języku CSS. Ten selektor odnosi się do wszystkich odnośników HTML, które otwierają się w nowej karcie przeglądarki dzięki użyciu atrybutu target z wartością "_blank". Stylizacja tych odnośników na kolor żółty jest możliwa przez przypisanie właściwości color z odpowiednią wartością. Jest to praktyczne podejście, które pozwala na wizualne wyróżnienie linków otwierających się w osobnych zakładkach. Takie podejście jest zgodne z dobrymi praktykami projektowania stron internetowych, gdzie wskazane jest, aby użytkownicy mieli wyraźne sygnały o nietypowych działaniach linków. W kontekście dostępności webowej, takie stylizowanie wspiera użytkowników w szybszym orientowaniu się w sposobie działania poszczególnych elementów interfejsu. Separacja stylu i treści zgodnie z zasadami CSS umożliwia bardziej elastyczne zarządzanie wyglądem strony i ułatwia utrzymanie spójności wizualnej na całej witrynie. Przykład ten ilustruje, jak CSS może wpływać na interakcję użytkownika z elementami strony, co jest kluczowe w procesie tworzenia przyjaznych i intuicyjnych interfejsów użytkownika.

Pytanie 34

Funkcja phpinfo() umożliwia

A. uzyskanie danych o środowisku serwera, na którym działa PHP
B. sprawdzenie wartości zmiennych zastosowanych w kodzie PHP
C. rozpoczęcie wykonywania kodu w języku PHP
D. analizowanie kodu PHP w celu wykrycia błędów
Wiele osób myli funkcję phpinfo() z innymi narzędziami i technikami w PHP, co może prowadzić do nieporozumień. Zainicjowanie kodu w języku PHP nie jest funkcjonalnością phpinfo(). Kod PHP jest interpretowany przez serwer, a phpinfo() nie ma na celu uruchamiania kodu. Również, jeśli chodzi o debugowanie kodu PHP, phpinfo() nie służy bezpośrednio do tego celu. Chociaż może dostarczyć przydatnych informacji, takich jak wartości zmiennych konfiguracyjnych, nie zastępuje dedykowanych narzędzi do debugowania, takich jak Xdebug, które oferują znacznie bardziej zaawansowane możliwości analizy i śledzenia błędów w kodzie. Dodatkowo, sprawdzanie wartości zmiennych użytych w kodzie PHP również nie jest funkcją phpinfo(). Wartości zmiennych można sprawdzić, stosując inne techniki, takie jak var_dump() czy print_r(), które dają bezpośredni wgląd w zawartość zmiennych w czasie wykonania skryptu. Typowym błędem jest także przyjmowanie, że phpinfo() może być używane do zarządzania konfiguracją aplikacji. W rzeczywistości, ta funkcja jest jedynie narzędziem diagnostycznym, które dostarcza informacji o bieżącym stanie środowiska serwera, ale nie pozwala na jego zmianę ani na modyfikację ustawień. Dlatego ważne jest, aby zrozumieć ograniczenia phpinfo() i stosować odpowiednie narzędzia do różnych zadań związanych z programowaniem w PHP.

Pytanie 35

Po wykonaniu poniższego kodu JavaScript, co będzie przechowywać zmienna str2?

var str1 = "JavaScript";
var str2 = str1.substring(2,6);
A. avaS
B. vaSc
C. vaScri
D. nvaScr
W przypadku analizy kodu JavaScript kluczowym aspektem jest zrozumienie działania metody substring która służy do wyodrębniania fragmentów łańcuchów znaków. Metoda przyjmuje dwa parametry: indeks początkowy oraz opcjonalny indeks końcowy. W kontekście pytania błędnym podejściem jest niedokładna interpretacja tych indeksów. Pierwsza niepoprawna odpowiedź avaS zakłada że wyodrębniane są znaki od 0 do 3 co jest niezgodne z podanymi indeksami 2 i 6. Druga odpowiedź vaScri zakłada że metoda substring obejmuje znaki aż do indeksu 6 włącznie co jest błędnym zrozumieniem zakresu działania tej metody. Metoda substring kończy wybieranie na znaku poprzedzającym indeks końcowy dlatego indeks 6 nie jest uwzględniany przy wyborze znaków. Kolejna niepoprawna odpowiedź nvaScr próbuje wybrać znaki rozpoczynając od indeksu 1 co jest błędnym startowym punktem dla zakresu 2 do 6. W kontekście dobrych praktyk programistycznych istotnym jest zrozumienie że indeksowanie od zera ma wpływ na rezultaty metod operujących na łańcuchach znaków. Częstym błędem początkujących programistów jest nieuwzględnienie tego faktu co prowadzi do niepoprawnych wyników i błędów logicznych w aplikacjach. Znajomość tych zasad pozwala efektywnie wykorzystywać możliwości języka JavaScript w codziennej pracy programistycznej.

Pytanie 36

Jakie polecenie jest poprawne w kontekście walidacji HTML5?

A. <img src = mojPiesek.jpg" alt = "pies>
B. <img src = "mojPiesek.jpg" >
C. <img src = "mojPiesek.jpg" alt = "pies">
D. <img src = mojPiesek.jpg alt = pies>
Odpowiedzi, które nie spełniają wymogów walidacji HTML5, często wynikają z niewłaściwego zrozumienia zasad pisania kodu. W przypadku pierwszej odpowiedzi, brakujący cudzysłów przed atrybutem 'src' oraz nieprawidłowe zakończenie atrybutu 'alt' skutkują błędną składnią. Brak cudzysłowów jest jednym z najczęstszych błędów, który może prowadzić do problemów z interpretacją kodu przez przeglądarki. Ponadto, omijanie atrybutu 'alt' w niektórych przypadkach, tak jak w czwartej odpowiedzi, może wpływać na dostępność strony, co jest zgodne z wytycznymi WCAG (Web Content Accessibility Guidelines). Prawidłowe użycie atrybutu 'alt' jest nie tylko zalecane, ale wręcz wymagane, aby zapewnić pełne zrozumienie treści wizualnych przez osoby z niepełnosprawnościami. Kolejnym błędem jest niepoprawne formatowanie atrybutów, jak w drugiej odpowiedzi, gdzie wartości atrybutów nie są otoczone cudzysłowami, co jest wymagane przez HTML5. Dbanie o poprawność syntaktyczną kodu jest kluczowe dla jego funkcjonalności oraz dla stosowania najlepszych praktyk w programowaniu. Zachowanie odpowiednich zasad walidacji nie tylko chroni przed błędami w wyświetlaniu, ale także zwiększa wydajność strony oraz jej przyjazność dla użytkowników.

Pytanie 37

Którego polecenia JavaScript należy użyć, aby w oknie przeglądarki wyświetliło się okno przedstawione na obrazie?

Ilustracja do pytania
A. document.write(’Ile masz lat?’)
B. prompt(’Ile masz lat?’)
C. alert(’Ile masz lat?’)
D. confirm(’Ile masz lat?’)
W tym zadaniu chodzi o rozróżnienie trzech podstawowych funkcji okien dialogowych w JavaScript i zwykłego wypisywania tekstu w dokumencie. Obrazek pokazuje okno z polem do wprowadzania danych, przyciskiem „OK” i przyciskiem „Anuluj”. Takie zachowanie zapewnia tylko funkcja prompt(). Częsty błąd polega na wrzucaniu do jednego worka wszystkich „wyskakujących okienek” i traktowaniu alert(), confirm() i prompt() jak równoważnych, a one pełnią różne role w interakcji z użytkownikiem. alert('Ile masz lat?') tworzy wyłącznie prosty komunikat z jednym przyciskiem, zazwyczaj „OK”. Nie ma żadnego pola tekstowego, nie można nic wpisać, a funkcja nie służy do pobierania danych od użytkownika, tylko do informowania go o czymś lub debugowania. W testach i zadaniach szkolnych mylenie alert z prompt wynika często z tego, że widać po prostu „popup” i tyle, bez zwracania uwagi na szczegóły interfejsu. confirm('Ile masz lat?') również nie jest poprawne, bo confirm tworzy okno z dwoma przyciskami (np. „OK” i „Anuluj” lub „Tak” i „Nie”), ale bez pola edycji. Zwraca wartość logiczną true/false w zależności od tego, który przycisk został kliknięty. Używa się go do prostych pytań typu „Czy na pewno chcesz usunąć plik?”, a nie do wpisywania konkretnej odpowiedzi tekstowej. Ostatnia propozycja, document.write('Ile masz lat?'), w ogóle nie tworzy okna dialogowego. To polecenie po prostu wpisuje podany tekst bezpośrednio do dokumentu HTML. Co gorsza, wywołane po załadowaniu strony nadpisuje całą zawartość dokumentu, więc w praktyce jest uznawane za złą praktykę i w nowoczesnym kodzie raczej się go unika. Jeśli chcemy wyświetlać treść na stronie, stosuje się manipulację DOM, np. element.textContent, innerHTML czy nowoczesne frameworki. Kluczowe jest więc kojarzenie: alert – tylko komunikat, confirm – wybór tak/nie, prompt – pytanie z polem do wpisania danych. Świadome rozróżnianie tych funkcji to podstawa dalszej pracy z interfejsem użytkownika w JavaScript i fundament do późniejszego tworzenia własnych, bardziej zaawansowanych komponentów dialogowych.

Pytanie 38

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetla dane z tabeli dla komputerów z co najmniej 8 GB pamięci oraz procesorem Intel, można użyć kwerendy

A. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec < 8
B. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec < 8
C. SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec >= 8
D. SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec >= 8
Odpowiedź "SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8;" jest poprawna, ponieważ wykorzystuje operator AND do jednoczesnego spełnienia dwóch warunków: procesor musi być równy 'Intel', a pamięć musi wynosić co najmniej 8 GB. Taki zapis jest zgodny z najlepszymi praktykami w programowaniu zapytań SQL, którymi są m.in. precyzyjność oraz jednoznaczność. Dzięki użyciu operatora AND, zapytanie filtruje wyniki w sposób, który jest zgodny z wymaganiami użytkownika. W praktyce, takie kwerendy są niezwykle ważne dla analizy danych w bazach danych, ponieważ umożliwiają wyodrębnienie specyficznych informacji, które są krytyczne dla podejmowania decyzji biznesowych. Na przykład, w kontekście sklepu komputerowego, analiza komputerów z określonymi parametrami technicznymi może pomóc w lepszym dostosowaniu oferty do potrzeb klientów. Ponadto, rozumienie składni SQL oraz umiejętność formułowania efektywnych zapytań to kluczowa umiejętność dla specjalistów w dziedzinie zarządzania danymi.

Pytanie 39

W CSS wartości: underline, overline, line-through oraz blink odnoszą się do właściwości

A. font-style
B. text-decoration
C. font-decoration
D. text-align
W języku CSS właściwość text-decoration służy do definiowania stylów dekoracji tekstu. Wartości takie jak underline (podkreślenie), overline (nadkreślenie), line-through (przekreślenie) oraz blink (miganie) są częścią tej właściwości i umożliwiają programistom kontrolowanie, jak tekst jest prezentowany na stronie internetowej. Wartość underline, na przykład, jest powszechnie używana w linkach, aby wskazać, że są one klikalne. Przykład zastosowania: 'text-decoration: underline;' zastosowany w stylach CSS dla elementu <a> sprawia, że tekst linku jest podkreślony. Overline może być używane do dodawania linii nad tekstem, co może być przydatne w kontekście nagłówków lub wyróżnień. Wartość line-through jest często stosowana w przypadku prezentowania informacji o promocjach, gdzie oryginalna cena jest przekreślona. Wartość blink, choć nie jest już szeroko wspierana, mogła być używana w przeszłości do tworzenia efektu migania tekstu. Wszystkie te dekoracje są zdefiniowane w standardzie CSS, co czyni text-decoration kluczową właściwością w stylizacji tekstu w dokumentach HTML.

Pytanie 40

Jak nazywa się organizacja odpowiedzialna za wyznaczanie standardów dla języka HTML?

A. ISO
B. W3C
C. WYSIWYG
D. NASK
Odpowiedzi ISO, NASK oraz WYSIWYG są niepoprawne w kontekście organizacji zajmującej się ustalaniem standardów dla języka HTML. ISO, czyli Międzynarodowa Organizacja Normalizacyjna, jest globalną organizacją zajmującą się ustalaniem standardów w różnych dziedzinach, takich jak jakości produktów, ale nie koncentruje się na standardach dotyczących technologii webowych. Jej standardy mogą obejmować aspekty techniczne, ale nie są specjalnie ukierunkowane na rozwój języków programowania czy specyfikacji związanych z internetem. NASK, czyli Naukowa i Akademicka Sieć Komputerowa, jest polską organizacją, która skupia się na rozwoju infrastruktury internetowej i usług sieciowych, w tym rejestracji nazw domen, ale nie jest odpowiedzialna za międzynarodowe standardy HTML. Z kolei WYSIWYG, co oznacza 'What You See Is What You Get', to termin odnoszący się do programów edytorskich, które pozwalają na tworzenie treści wizualnych w czasie rzeczywistym, ale nie jest to organizacja ani instytucja zajmująca się standardyzacją języka HTML. W zasadzie WYSIWYG to podejście do edycji treści, a nie struktura organizacyjna. Dlatego żadna z tych odpowiedzi nie odnosi się do kluczowej roli, jaką pełni W3C w kontekście ustalania standardów dla HTML i innych technologii internetowych.