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: 11 czerwca 2026 13:27
  • Data zakończenia: 11 czerwca 2026 13:38

Egzamin zdany!

Wynik: 39/40 punktów (97,5%)

Wymagane minimum: 20 punktów (50%)

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

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. baz danych
B. ciasteczek
C. sesji
D. zmiennych tekstowych
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 2

W języku SQL instrukcja INSERT INTO

A. tworzy nową tabelę
B. dodaje kolumny do istniejącej tabeli
C. zmienia rekordy na zadaną wartość
D. wprowadza dane do tabeli
Polecenie INSERT INTO w języku SQL jest używane do dodawania nowych danych do tabeli w bazie danych. Jego podstawowa składnia to: INSERT INTO nazwa_tabeli (kolumna1, kolumna2, ...) VALUES (wartość1, wartość2, ...). Dzięki temu poleceniu użytkownicy mogą wprowadzać nowe rekordy, co jest kluczowe w zarządzaniu danymi w relacyjnych bazach danych. Przykładowo, jeżeli mamy tabelę 'użytkownicy' z kolumnami 'imie', 'nazwisko' i 'wiek', możemy dodać nowego użytkownika za pomocą: INSERT INTO użytkownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30). Warto zauważyć, że polecenie to może być używane w kontekście transakcji, co pozwala na zachowanie integralności danych. Standard SQL, na którym opiera się wiele systemów zarządzania bazami danych, definiuje to polecenie jako fundamentalne w operacjach DML (Data Manipulation Language), co czyni je niezbędnym w każdej aplikacji, która wymaga wprowadzania danych do bazy.

Pytanie 3

Który z poniższych znaczników jest częścią sekcji <head> dokumentu HTML?

A. <section>
B. <img>
C. <title>
D. <span>
Znacznik <title> jest fundamentalnym elementem sekcji <head> dokumentu HTML. Jego głównym zadaniem jest określenie tytułu strony, który jest wyświetlany na pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Dobrze skonstruowany tytuł powinien być zwięzły, ale jednocześnie informacyjny, aby skutecznie przyciągnąć uwagę użytkowników. Zgodnie z wytycznymi W3C, tytuł powinien mieć od 50 do 60 znaków, aby uniknąć obcinania w wynikach wyszukiwania. Przykładem dobrze sformułowanego tytułu może być: „Jak stworzyć responsywną stronę internetową - poradnik krok po kroku”. Ważne jest, aby tytuł był unikalny dla każdej podstrony w witrynie, co nie tylko poprawia SEO, ale również ułatwia użytkownikom nawigację. W kontekście standardów i dobrych praktyk, należy również unikać umieszczania w tytule zbędnych słów kluczowych, co może być uznane za spam przez wyszukiwarki. Dobrze zaprojektowany tytuł jest kluczem do efektywnego pozycjonowania i budowania marki w sieci.

Pytanie 4

W SQL klauzula DISTINCT w poleceniu SELECT spowoduje, że otrzymane dane

A. będą spełniały dany warunek
B. nie będą zawierały powtórzeń
C. będą zgrupowane według wskazanego pola
D. zostaną uporządkowane
Użycie klauzuli DISTINCT w instrukcji SELECT w języku SQL ma na celu eliminację powtórzeń w zwracanych wynikach. Dzięki temu, gdy wykonujemy zapytanie, w którym chcemy uzyskać unikalne wartości z określonej kolumny, możemy uniknąć sytuacji, w której te same dane pojawiają się wielokrotnie. Na przykład, jeśli mamy tabelę z informacjami o klientach, a chcemy otrzymać listę unikalnych miast, w których mieszkają, możemy użyć zapytania SELECT DISTINCT city FROM customers. Ta funkcjonalność jest szczególnie przydatna w raportowaniu i analizie danych, gdzie unikalność wartości ma kluczowe znaczenie. Warto również zauważyć, że klauzula DISTINCT wpływa na wydajność zapytań, dlatego ważne jest, aby używać jej tylko wtedy, gdy jest to rzeczywiście konieczne. Przy stosowaniu DISTINCT warto również znać inne techniki, takie jak grupowanie danych przy użyciu GROUP BY, które może być bardziej odpowiednie w niektórych scenariuszach, szczególnie gdy chcemy wykonywać agregacje.

Pytanie 5

Jaką wartość wyświetli się po uruchomieniu poniższego kodu JavaScript?

javascript
document.write(Math.round(4.51) + Math.pow(2, 3));
A. 11
B. 12
C. 14
D. 13
Zobaczmy, jak doszliśmy do poprawnej odpowiedzi 13. W kodzie JavaScript mamy fragment: <script type='text/javascript'> document.write(Math.round(4.51) + Math.pow(2, 3)); </script>. Co tu się dzieje? Dwie główne operacje to zaokrąglanie i potęgowanie. Funkcja Math.round(4.51) zaokrągla do najbliższej liczby i zwraca 5. Potem mamy Math.pow(2, 3), które daje wynik 8, bo 2 do potęgi 3 to 2 * 2 * 2. Jak to zsumujemy, to mamy 5 + 8, co daje 13. Warto wiedzieć, że Math.round i Math.pow są częścią obiektu Math w JavaScript, który ma różne przydatne funkcje. Na przykład, Math.sqrt() oblicza pierwiastek kwadratowy, a Math.random() daje losowe liczby. To są naprawdę przydatne rzeczy w aplikacjach webowych, gdzie często potrzebujemy obliczeń z danymi liczbowymi. Standard ECMA-262 opisuje, jak te funkcje mają działać, więc możemy być pewni, że będą działać tak samo w różnych środowiskach JavaScript.

Pytanie 6

Wskaź komentarz, który zajmuje wiele linii, w języku PHP?

A. / /
B. /* */
C. #
D. <!-- -->
Komentarze wieloliniowe w języku PHP są definiowane za pomocą znaków '/*' na początku i '*/' na końcu bloku tekstu, co pozwala na umieszczanie komentarzy obejmujących wiele linii. Tego rodzaju komentarze są niezwykle przydatne w sytuacjach, gdy chcemy opisać bardziej złożone fragmenty kodu, jak również w celu wyłączenia większych sekcji kodu podczas debugowania. Komentarze wieloliniowe są zgodne ze standardem PHP, co czyni je preferowanym rozwiązaniem w wielu projektach programistycznych. Przykład użycia: /* To jest komentarz komentarz wieloliniowy w PHP */. W odróżnieniu od komentarzy jedno-liniowych, które są ograniczone do jednej linii (używając // lub #), komentarze wieloliniowe umożliwiają umieszczanie dłuższych opisów. Ważne jest, aby używać komentarzy z umiarem, aby kod pozostał czytelny i zrozumiały dla innych programistów oraz dla przyszłych wersji projektu.

Pytanie 7

W programowaniu zmienna o typie integer służy do przechowywania

A. wartości logicznej
B. liczby rzeczywistej
C. znaku
D. liczby całkowitej
Zmienna typu integer w językach programowania jest przeznaczona do przechowywania liczb całkowitych, co oznacza liczby bez części dziesiętnej. To podstawowy typ danych, który jest szeroko stosowany w programowaniu do reprezentowania wartości takich jak liczby porządkowe, ilości, indeksy w tablicach czy inne wartości, które nie wymagają precyzyjnych obliczeń dziesiętnych. Przykładami zastosowania zmiennych typu integer mogą być liczniki w pętlach, które określają liczbę iteracji, lub zmienne przechowujące wiek osoby, liczbę punktów w grze czy numer identyfikacyjny w bazie danych. Warto zaznaczyć, że różne języki programowania mogą oferować różne rozmiary dla typu integer, co wpływa na zakres wartości, jakie mogą być w nim przechowywane. Na przykład w języku C++ standardowy typ int zazwyczaj zajmuje 4 bajty i może przechowywać liczby z przedziału od -2,147,483,648 do 2,147,483,647. W praktyce, znajomość typów danych i ich odpowiedniego używania powinna być kluczową umiejętnością każdego programisty, aby pisać wydajny i prawidłowy kod.

Pytanie 8

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Krzywe.
C. Inwersja.
D. Progowanie.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 9

Jakie będzie wynikowe wyjście po uruchomieniu tego skryptu PHP?

<?php
$kolory = array("czarny", "zielony", "niebieski", "biały");
rsort($kolory);
$ile = count($kolory);
for($x = 0; $x < $ile; $x++)
{
  echo $kolory[$x].", ";
}
?>
A. biały, niebieski, zielony, czarny
B. zielony, niebieski, czarny, biały
C. biały, czarny, niebieski, zielony
D. czarny, zielony, niebieski, biały
Skrypt PHP wykorzystuje funkcję rsort() do sortowania tablicy w porządku malejącym alfabetycznie. W tym przypadku tablica zawiera kolory: czarny zielony niebieski biały. Funkcja rsort() zmienia kolejność elementów według malejącej wartości ASCII pierwszej litery każdego ciągu znakowego. Gdy tablica jest sortowana w ten sposób pierwsza spółgłoska kończy się na największym zestawie znaków ASCII. Dlatego wynik to zielony niebieski czarny biały. Po sortowaniu pętla for iteruje przez wszystkie elementy tablicy używając funkcji count() do określenia długości tablicy i wypisuje każdy kolor oddzielony przecinkiem. Użycie rsort() jest zgodne z dobrymi praktykami programistycznymi w przypadku gdy chcemy uzyskać szereg wsteczny np. do wyświetlania list w interfejsach użytkownika od końca do początku. Zapewnienie że dane wejściowe są poprawnie uporządkowane pozwala na efektywne zarządzanie danymi a zrozumienie tego procesu jest kluczowe w budowaniu dynamicznych aplikacji PHP.

Pytanie 10

W SQL, aby zabezpieczyć kwerendę CREATE USER przed utworzeniem konta, jeżeli ono już istnieje, należy użyć składni

A. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedź 'CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' jest poprawna, ponieważ zastosowanie klauzuli 'IF NOT EXISTS' pozwala na utworzenie użytkownika tylko w przypadku, gdy konto o podanej nazwie nie istnieje w systemie. Jest to niezwykle użyteczne w praktyce, ponieważ minimalizuje ryzyko wystąpienia błędów związanych z próbą utworzenia użytkownika, który już został wcześniej zdefiniowany, co mogłoby prowadzić do niepotrzebnych komplikacji w zarządzaniu bazą danych. Dzięki temu podejściu administratorzy mogą tworzyć skrypty, które są bardziej elastyczne i odporne na błędy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bazami danych. Warto także zaznaczyć, że odpowiednia obsługa błędów oraz unikanie zbędnych operacji wpływa na wydajność systemu, co jest kluczowym aspektem w środowiskach produkcyjnych, gdzie każda operacja ma znaczenie dla dostępności i efektywności aplikacji korzystających z bazy danych.

Pytanie 11

Jakie zadania programistyczne należy wykonać na serwerze?

A. Ukrywanie i wyświetlanie elementów strony w zależności od aktualnej pozycji kursora
B. Zapisanie danych pozyskanych z aplikacji internetowej w bazie danych
C. Zmiana stylu HTML na stronie spowodowana ruchem kursora
D. Weryfikacja danych wprowadzonych do pola tekstowego na bieżąco
Zapisanie danych pobranych z aplikacji internetowej w bazie danych to zadanie, które powinno być wykonywane po stronie serwera ze względów bezpieczeństwa, integralności danych oraz zarządzania zasobami. Serwer jest odpowiedzialny za przechowywanie informacji, które mogą być wykorzystywane przez wielu użytkowników, co wymaga centralizacji ich przetwarzania. W przypadku aplikacji internetowych, dane są często przesyłane z klienta (przeglądarki) do serwera, gdzie są walidowane oraz zapisywane w bazach danych. Na przykład, gdy użytkownik rejestruje się w aplikacji, jego dane osobowe są wysyłane do serwera, który sprawdza poprawność tych informacji i zapisuje je w bazie danych. Właściwe implementacje powinny stosować bezpieczne połączenia (np. HTTPS), a także techniki, takie jak sanitizacja danych, aby unikać ataków typu SQL Injection. Dobrą praktyką jest także stosowanie ORM (Object-Relational Mapping), co umożliwia łatwiejsze zarządzanie danymi i ich relacjami. Przechowywanie danych po stronie serwera pozwala na efektywne zarządzanie zasobami i umożliwia późniejsze przetwarzanie informacji w sposób zorganizowany i bezpieczny.

Pytanie 12

Wynikiem działania pętli będzie wypisanie liczb

for ($i = 0; $i <= 20; $i += 4)
echo $i . ', ';
A. 0, 4, 8, 12, 16,
B. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
C. 0, 4, 8, 12, 16, 20,
D. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
Twoja odpowiedź jest prawidłowa. Pętla for w języku PHP jest strukturą kontrolną, która pozwala na wielokrotne wykonanie określonej sekwencji instrukcji. W tym konkretnym przypadku, pętla zaczyna od wartości 0 i zwiększa wartość $i o 4 przy każdej iteracji, aż osiągnie lub przekroczy wartość 20. W wyniku tego, wartości, które otrzymujemy i zostają wypisane, to 0, 4, 8, 12, 16, 20. Pętle są niezwykle użyteczne i wszechstronne w programowaniu, pozwalając na automatyzację i usprawnienie wielu zadań. Pętla for, którą tu widzimy, jest przykładem zastosowania tej struktury do generowania sekwencji liczb, co ma wiele zastosowań, na przykład w tworzeniu tablic, sterowaniu kolejnością wykonywania operacji lub generowaniu dynamicznych treści na stronach internetowych.

Pytanie 13

W tabeli uczniowie (kolumny: imie, nazwisko, klasa) wszyscy uczniowie klas 1-5 przeszli do następnej klasy. Które polecenie zwiększy wartość w kolumnie klasa o 1?

A.
UPDATE nazwisko, imie SET klasa = klasa + 1
B.
SELECT uczniowie WHERE klasa BETWEEN 1 AND 5
C.
SELECT nazwisko, imie FROM uczniowie
D.
UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5
Do zmiany istniejących danych służy UPDATE: po nazwie tabeli podaje się SET z nowymi wartościami, a WHERE ogranicza zakres zmian. Aby podnieść klasę o 1 tylko uczniom klas 1-5, zapisuje się UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5. Dlatego poprawne jest to polecenie UPDATE.

Pytanie 14

Czym jest odpowiednik encji w relacyjnej bazie danych?

A. atrybut
B. tabela
C. kolumna
D. wiersz
W projektowaniu baz danych encja to obiekt świata rzeczywistego, o którym przechowujemy informacje (np. „Klient”, „Produkt”). W modelu relacyjnym encja jest realizowana jako tabela: jej atrybuty stają się kolumnami, a poszczególne wystąpienia (konkretni klienci) - wierszami. Dlatego odpowiednikiem encji w bazie relacyjnej jest tabela.

Pytanie 15

Co oznacza termin „upload” danych?

A. trasę transferu pliku
B. pobieranie plików z serwera
C. przesyłanie plików na serwer
D. opóźnienie w transmisji pliku
Upload to przesyłanie (wysyłanie) plików z komputera użytkownika NA serwer - kierunek „w górę”, do zdalnej maszyny. Tak działa np. wgrywanie strony przez FTP czy dodawanie zdjęcia do serwisu. Przeciwieństwem jest download - pobieranie danych z serwera na komputer. Dlatego upload to przesyłanie plików na serwer.

Pytanie 16

Wskaż polecenie, które zostało opisane w ramce.

Dla każdego przebiegu pętli aktualna wartość elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do osiągnięcia ostatniego elementu tablicy
A. for
B. while
C. next
D. foreach
Instrukcja 'foreach' jest używana do iteracji po elementach zbioru, takich jak tablice lub kolekcje, w sposób bardziej deklaratywny i zwięzły niż tradycyjne pętle 'for'. W wielu językach programowania, takich jak C#, Java czy PHP, pętla 'foreach' pozwala automatycznie przechodzić przez każdy element kolekcji, przypisując go do zmiennej tymczasowej bez konieczności jawnego zarządzania indeksem. Jest to szczególnie przydatne, gdy chcemy po prostu przetwarzać elementy jednej po drugiej, nie martwiąc się o ich indeksy. Przykładowo, w C# można użyć składni: 'foreach (var item in collection)', gdzie 'collection' jest kolekcją, a 'item' to zmienna reprezentująca aktualny element. Takie podejście jest uważane za standardową praktykę w sytuacjach, gdzie chcemy tylko odczytywać wartości. Korzystanie z 'foreach' sprzyja czytelności kodu i minimalizuje ryzyko błędów związanych z obsługą indeksów, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 17

Filtracja sygnału wejściowego w czasie, która uwzględnia zasadę superpozycji, dotyczy filtru

A. liniowego
B. o skończonej odpowiedzi impulsowej
C. niezmiennym w czasie
D. przyczynowym
Odpowiedź 'liniowym' jest poprawna, ponieważ proces filtracji sygnału w dziedzinie czasu, który opiera się na zasadzie superpozycji, jest charakterystyczny dla filtrów liniowych. Filtry liniowe działają na zasadzie kombinacji sygnałów wejściowych, co oznacza, że sygnał wyjściowy jest liniową kombinacją sygnałów wejściowych. Przykładem zastosowania filtracji liniowej jest użycie filtrów w systemach audio, gdzie ma na celu poprawę jakości dźwięku poprzez eliminację niepożądanych częstotliwości. W inżynierii sygnałów, filtry liniowe są powszechnie stosowane w systemach komunikacyjnych czy w przetwarzaniu obrazów. Dobre praktyki w tej dziedzinie obejmują projektowanie filtrów w oparciu o różne metody, takie jak metoda okna czy projektowanie filtrów cyfrowych przy użyciu transformacji Z. Filtry liniowe są niezwykle ważne w kontekście analizy sygnałów, ponieważ ich właściwości pozwalają na przewidywalność i kontrolę nad przetwarzanym sygnałem, co jest kluczowe w wielu zastosowaniach inżynieryjnych.

Pytanie 18

Którą relację w projekcie bazy danych należy ustalić między tabelami widocznymi na ilustracji zakładając, że każdy klient sklepu internetowego dokona przynajmniej dwóch zamówień?

Ilustracja do pytania
A. n:n
B. 1:1
C. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
D. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
Poprawnie wskazana relacja 1:n (jeden do wielu), gdzie „1” jest po stronie tabeli Klient, a „n” po stronie tabeli Zamówienie, dokładnie odzwierciedla opisany przypadek biznesowy: jeden klient sklepu internetowego może złożyć wiele zamówień, a każde zamówienie należy do jednego, konkretnego klienta. W praktyce projektowania relacyjnych baz danych oznacza to, że w tabeli Zamówienie umieszczamy klucz obcy (np. kolumnę id_klienta), który wskazuje na klucz główny w tabeli Klient (np. id_klienta jako PRIMARY KEY). To jest klasyczny przykład relacji nadrzędny–podrzędny (parent–child). Z mojego doświadczenia w systemach e‑commerce taka struktura jest standardem, bo pozwala łatwo wykonywać typowe kwerendy: wyszukiwanie wszystkich zamówień danego klienta, liczenie wartości zamówień na klienta, analizę historii zakupów. Dodatkowo założenie, że każdy klient dokona co najmniej dwóch zamówień, wpływa na tzw. krotność minimalną po stronie Zamówienia (min 2), ale nie zmienia samego typu relacji – nadal jest to 1:n. W modelu logicznym i fizycznym realizujemy to przez odpowiednie więzy integralności: klucz główny w tabeli Klient i klucz obcy w tabeli Zamówienie z ON DELETE RESTRICT lub CASCADE (w zależności od polityki biznesowej). Taka relacja ułatwia normalizację danych: dane klienta trzymamy w jednym miejscu, unikamy duplikacji w wielu zamówieniach, a w razie zmiany np. adresu e‑mail aktualizujemy tylko jeden rekord. W dobrze zaprojektowanych schematach (np. zgodnych z 3NF) dokładnie tak modeluje się powiązanie Klient–Zamówienie.

Pytanie 19

Który z akapitów został zapisany w wskazanym stylu, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 1
B. Efekt 2
C. Efekt 3
D. Efekt 4
Odpowiedź Efekt 3 jest poprawna, ponieważ odzwierciedla wszystkie zadane style CSS. Styl zawiera padding 20px co oznacza, że wewnętrzna przestrzeń wokół tekstu w paragrafie powinna wynosić 20 pikseli. Daje to efekt przestrzeni pomiędzy tekstem a obramowaniem. Kolor tekstu został ustawiony na niebieski co powoduje, że sam tekst przyjmuje niebieską barwę. Parametr font-weight jest ustawiony na 900 co oznacza, że tekst powinien być bardzo pogrubiony. Obecnie jest to maksymalna wartość dla własności font-weight w standardzie CSS która powoduje, że tekst wygląda na bardzo wyrazisty i wyróżnia się na tle innych elementów. Dodatkowo border ustawiono na 1px solid co oznacza, że paragraf powinien mieć jednolitą linię o grubości jednego piksela otaczającą jego obszar. Wszystkie te style są poprawnie zastosowane w Efekcie 3 gdzie tekst jest niebieski bardzo pogrubiony z przestrzenią 20 pikseli do obramowania oraz otoczony cienką linią. Taki styl jest często wykorzystywany w projektach stron internetowych dla wyraźnego wyróżnienia ważnych sekcji co zgodne jest z dobrymi praktykami projektowania interfejsów użytkownika.

Pytanie 20

Który znacznik umieszcza się w sekcji <body> dokumentu HTML?

A.
<h2>
B.
<link>
C.
<title>
D.
<meta>
Sekcja <body> zawiera widoczną TREŚĆ strony - w tym nagłówki <h1>-<h6>, więc <h2> umieszcza się właśnie w <body>. Dlatego poprawny jest <h2>.

Pytanie 21

Aby uzyskać dane z tabeli pracownicy dotyczące jedynie osób, które ukończyły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy OR wiek > 25
B. SELECT * FROM pracownicy AND wiek > 25
C. SELECT * FROM wiek WHERE pracownicy > 25
D. SELECT * FROM pracownicy WHERE wiek > 25
Aby wyświetlić rekordy z tabeli pracownicy, które dotyczą pracowników powyżej 26 roku życia, należy zastosować odpowiednie zapytanie SQL. Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > 25;'. W tym przypadku, klauzula WHERE filtruje wyniki, zapewniając, że tylko ci pracownicy, którzy mają więcej niż 25 lat, zostaną zwróceni. Warto zauważyć, że w SQL operator '>' oznacza, że zwracane będą tylko rekordy, dla których warunek jest spełniony. Ponadto, wybranie wszystkich kolumn poprzez SELECT * jest powszechną praktyką, gdyż pozwala na uzyskanie pełnych informacji o pracownikach, bez konieczności wskazywania poszczególnych kolumn. Jest to zgodne z zasadami użycia SQL, gdzie operacje na danych są wykonywane poprzez polecenia definiujące wybrane tabele i warunki. Przykład zastosowania tego zapytania może być użyty w aplikacjach biznesowych, gdzie analiza wieku pracowników jest niezbędna do podejmowania decyzji kadrowych, a także w raportach dotyczących zatrudnienia. Takie zapytanie jest fundamentalne dla zarządzania danymi w relacyjnych bazach danych.

Pytanie 22

W podanym kodzie JavaScript ponumerowano linie dla ułatwienia. W programie występuje błąd, ponieważ po wykonaniu żadna wiadomość nie jest wyświetlana. Aby usunąć ten błąd, należy

1. if (a < b)
2. document.write(a);
3. document.write(" jest mniejsze");
4. else
5. document.write(b);
6. document.write(" jest mniejsze");
A. umieścić znaki $ przed nazwami zmiennych
B. w liniach 3 i 6 zamienić znaki cudzysłowu na apostrof, np. ' jest mniejsze'
C. dodać nawiasy klamrowe w sekcjach if oraz else
D. w liniach 2 i 5 zmienne a i b umieścić w cudzysłowach
Wstawienie nawiasów klamrowych do sekcji 'if' oraz 'else' jest kluczowe dla prawidłowego działania kodu w JavaScript. Kiedy nie używamy nawiasów klamrowych, język domyślnie interpretuje tylko jedną linię jako część bloku 'if' lub 'else'. W sytuacji, gdy mamy więcej niż jedną operację do wykonania w ramach tego samego warunku, brak nawiasów prowadzi do błędów wykonania. Przykład: jeśli chcemy wyświetlić komunikat oraz wartość zmiennej 'a', musimy objąć te operacje nawiasami klamrowymi. Warto również pamiętać, że korzystanie z nawiasów klamrowych zwiększa czytelność kodu, co jest zgodne z najlepszymi praktykami programistycznymi. Stosowanie tej zasady pozwala unikać niejednoznaczności i potencjalnych błędów w logicznych blokach kodu. Dodatkowo, pomocne jest testowanie kodu w środowiskach, które wyłapują błędy syntaktyczne, co ułatwia wczesne wykrywanie problemów.

Pytanie 23

Co zwraca funkcja mysqli_query() po pomyślnym wykonaniu zapytania SELECT?

A. nazwę odpytywanej tabeli
B. zbiór wynikowy (rekordy do odczytania)
C. liczbę usuniętych wierszy
D. zawsze wartość true
Funkcja mysqli_query() wykonuje zapytanie i przy zapytaniu zwracającym dane (np. SELECT) zwraca zbiór wynikowy - obiekt wyniku. Z niego pobiera się kolejne wiersze, np. funkcją mysqli_fetch_assoc() w pętli. Dla zapytań bez wyniku (jak INSERT) zwraca true, a przy błędzie false. Dlatego dla SELECT zwraca zbiór wynikowy.

Pytanie 24

Grafik pragnie zmienić obraz JPG na format PNG bez utraty jakości, tak aby w obszarach, gdzie pierwotnie był kolor biały, w finalnym obrazie występowała przezroczystość. W tym celu powinien

A. dodać kanał alfa
B. zmniejszyć rozdzielczość obrazu
C. zaimportować obraz do edytora grafiki wektorowej
D. przekształcić obraz w odcienie szarości
Dodanie kanału alfa do obrazu JPG, aby uzyskać przezroczystość w kolorze białym, jest najlepszym podejściem. Kanał alfa to dodatkowa warstwa informacji w pliku graficznym, która definiuje przezroczystość każdego piksela. W formacie PNG, kanał alfa umożliwia tworzenie przezroczystych tła, co jest szczególnie przydatne w projektach, gdzie elementy graficzne muszą być nakładane na różne tła. W praktyce, aby uzyskać pożądany efekt, grafik powinien użyć narzędzi do edycji grafiki, takich jak Adobe Photoshop, GIMP lub Inkscape. Po zaimportowaniu obrazu JPG, użytkownik może użyć funkcji selekcji koloru, aby zaznaczyć obszary białe, a następnie usunąć je, co wprowadzi przezroczystość w tych miejscach. Na końcu, obraz można zapisać jako PNG, co zachowa wprowadzone zmiany. Tego typu operacje są standardem w pracy z grafiką komputerową, szczególnie w projektach związanych z web designem i tworzeniem materiałów reklamowych.

Pytanie 25

Który typ danych należy przypisać atrybutowi „Telefon”, jeśli numer zaczyna się od znaku „+” i numeru kierunkowego kraju?

A. tekstowy
B. binarny
C. wyliczeniowy
D. liczbowy
Numer telefonu, mimo że „składa się z cyfr”, przechowuje się w typie TEKSTOWYM (np. VARCHAR). Powód: zawiera znaki nieliczbowe (znak „+”, czasem spacje czy myślniki) oraz może mieć zera wiodące, które typ liczbowy by usunął. Na numerach telefonów nie wykonuje się też działań arytmetycznych. Dlatego dla atrybutu „Telefon” właściwy jest typ tekstowy.

Pytanie 26

Na podstawie tabeli Towar zrealizowano poniższe zapytanie SQL:

SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC
Jaki będzie rezultat tej operacji?
Ilustracja do pytania
A. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
B. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
C. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
D. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
Zapytanie SQL selekcjonuje towary z tabeli Towar, których cena katalogowa jest mniejsza niż 65, a następnie sortuje wyniki malejąco według wagi. Dzięki temu otrzymujemy listę towarów uporządkowaną od najcięższego do najlżejszego, a jednocześnie wykluczamy towary, które nie spełniają kryterium ceny. W podanym zestawie danych znajdują się cztery towary spełniające warunek cenowy: Papier ksero A4, Zeszyt A5, Zeszyt A5 w linie i Kredki 24 kolory. Spośród tych towarów najcięższy jest Papier ksero A4 (2.3), następnie Kredki 24 kolory (0.3), Zeszyt A5 (0.13), a najlżejszy jest Zeszyt A5 w linie (0.12). Kolejność wyników odpowiada zatem prawidłowej odpowiedzi numer 3. W praktyce umiejętność tworzenia zapytań SQL z warunkami filtrowania i sortowania jest niezwykle istotna w analizie danych, umożliwiając precyzyjne wyodrębnienie potrzebnych informacji z dużych zbiorów danych. Dobrym standardem jest zawsze testowanie zapytań na przykładowych danych, aby potwierdzić poprawność wyników przed ich zastosowaniem w środowisku produkcyjnym.

Pytanie 27

Który z poniższych kodów HTML spowoduje taki sam efekt formatowania jak na zaprezentowanym rysunku?

Ilustracja do pytania
A. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
B. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
C. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania </i> tekstu w HTML</p>
D. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
W błędnych odpowiedziach chodzi głównie o to, że znaczników HTML używasz niepoprawnie, przez co efekt wygląda inaczej niż na obrazku. Tag <i> ma być do kursywy, a <b> do pogrubienia. Trzeba zrozumieć, jak te znaczniki współdziałają, żeby uzyskać zamierzony efekt. Często ludzie mylą kolejność lub używają tylko jednego z nich, co psuje całe formatowanie. No i nie zapominaj, że czasem może być trudno zrozumieć, jak znacznik w HTML wpływa na inne. Każdy z nich ma swoją rolę, więc warto wiedzieć, co robi. W kontekście semantycznego HTML, dobrze jest używać odpowiednich znaczników nie tylko dla stylu, ale też dla poprawnej struktury. Chociaż najlepiej jest używać CSS do rozdzielenia stylów od treści, to w niektórych przypadkach, tak jak w tym, proste znaczniki HTML też mają swoje miejsce. Wiedza o tym, jak poprawnie używać znaczników, jest niezbędna do budowania ładnych i uporządkowanych stron oraz aplikacji internetowych.

Pytanie 28

Aby podczas tworzenia tabeli zdefiniować klucz obcy na wielu kolumnach, należy użyć zapisu:

A.
CONSTRAINT (nazwisko, imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
B.
CONSTRAINT fk_osoba_uczen FOREIGN KEY ON(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
C.
CONSTRAINT (nazwisko, imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D.
CONSTRAINT fk_osoba_uczen FOREIGN KEY(nazwisko, imie) REFERENCES osoby (nazwisko, imie)
Złożony (wielokolumnowy) klucz obcy definiuje się wzorem CONSTRAINT nazwa FOREIGN KEY(kol1, kol2) REFERENCES tabela(kol1, kol2). Po FOREIGN KEY w nawiasie wymienia się kolumny tabeli bieżącej, a po REFERENCES - tabelę nadrzędną i odpowiadające jej kolumny. Dlatego poprawny jest zapis z nazwą ograniczenia, FOREIGN KEY(...) i REFERENCES tabela(...).

Pytanie 29

W stylu CSS zdefiniowano klasę uzytkownik:

p.uzytkownik {
    color: blue;
}
Na stronie będą wyświetlane czcionką w kolorze niebieskim:
A. paragrafy, do których została przypisana klasa uzytkownik.
B. wszystkim elementom w sekcji <body> z przypisaną klasą uzytkownik.
C. wszystkie akapity.
D. tylko elementy tekstowe typu <p>, <h1>.
Deklaracja selektora p.uzytkownik oznacza w CSS połączenie selektora typu z selektorem klasy. Innymi słowy: przeglądarka wybierze tylko te elementy <p>, które mają w atrybucie class wpisaną klasę uzytkownik, np. <p class="uzytkownik">Treść</p>. Sama kropka przed nazwą klasy definiuje selektor klasy, a litera p przed kropką zawęża go wyłącznie do paragrafów. Gdyby w stylu było samo .uzytkownik { color: blue; }, wtedy reguła objęłaby wszystkie elementy z tą klasą, niezależnie czy to <p>, <div>, <h1> czy cokolwiek innego.
Moim zdaniem to jedno z podstawowych, ale bardzo ważnych rozróżnień w CSS: kombinacja selektorów pozwala dokładnie kontrolować, które elementy są stylowane. Dzięki temu nie trzeba nadawać unikalnych klas dla każdego typu elementu, tylko łączyć selektor typu (np. p, h1, li) z klasą, gdy jest to potrzebne. W praktyce w projektach spotyka się dużo takich zapisów: np. li.active, a.button-primary, input.error. To pomaga utrzymać porządek w arkuszu stylów i unikać niepotrzebnie szerokiego działania reguł.
Warto też zwrócić uwagę na specyficzność: p.uzytkownik ma większą specyficzność niż samo p, ale mniejszą niż np. #idElementu. Przy konfliktach stylów przeglądarka bierze to pod uwagę. Dobra praktyka jest taka, żeby nie pisać zbyt ogólnych selektorów, które kolorują „pół strony” przypadkiem. Taki selektor jak w pytaniu jest bezpieczny i precyzyjny – wiadomo dokładnie, że kolor niebieski trafi tylko do tych paragrafów, którym świadomie przypiszemy klasę uzytkownik w HTML.

Pytanie 30

Które z tabel będą poddane weryfikacji zgodnie z przedstawionym poleceniem?

CHECK TABLE pracownicy CHANGED;
A. Tabele, które uległy zmianie od ostatniej kontroli lub nie zostały poprawnie zamknięte
B. Tabele, które zmieniły się w obecnej sesji
C. Wyłącznie tabele odnoszące się do innych
D. Tylko te tabele, które nie mogły być poprawnie zakończone
Polecenie CHECK TABLE pracownicy CHANGED jest używane w systemach zarządzania bazami danych, aby sprawdzić stan tabeli 'pracownicy' w kontekście jej integralności i ewentualnych zmian, które miały miejsce od ostatniej kontroli. Poprawna odpowiedź odnosi się do przypadków, kiedy tabela mogła być zmieniona lub nie została prawidłowo zamknięta podczas ostatnich operacji, co może prowadzić do uszkodzenia danych lub naruszeń integralności. W praktyce, administratorzy baz danych często wykorzystują to polecenie jako część rutynowych procedur konserwacyjnych, aby zapewnić, że wszystkie tabele są w dobrym stanie. W przypadku dużych systemów z wieloma użytkownikami lub złożonymi transakcjami, regularne sprawdzanie tabel może zapobiec poważnym problemom w przyszłości. Dobre praktyki w zakresie zarządzania bazami danych obejmują również monitorowanie zmian oraz tworzenie kopii zapasowych przed dużymi operacjami, co wspiera bezpieczeństwo i integralność danych.

Pytanie 31

W języku JavaScript zdefiniowano obiekt

obiekt = { q: 1, w: 2, e: 3, r: 4 };
W jaki sposób można uzyskać wartość właściwości
w
?
A. obiekt::w
B. obiekt.w
C. obiekt->w
D. obiekt:w
Aby uzyskać dostęp do wartości własności obiektu w JavaScript, stosuje się notację kropkową. Odpowiedź obiekt.w jest poprawna, ponieważ w JavaScript, odwołując się do właściwości obiektu, używamy kropki jako separatora między nazwą obiektu a nazwą właściwości. W podanym przykładzie obiekt ma cztery właściwości: q, w, e oraz r, z których każda ma przypisaną wartość. Używając notacji obiekt.w, możemy bezpośrednio uzyskać wartość 2, która jest przypisana do właściwości w. W praktyce, notacja kropkowa jest powszechnie stosowana i jest preferowaną metodą dostępu do właściwości obiektów, ponieważ jest bardziej czytelna i łatwiejsza w użyciu. Alternatywnie, można również użyć notacji nawiasowej, jak obiekt['w'], co może być przydatne, gdy nazwa właściwości zawiera znaki niedozwolone w identyfikatorach, ale w większości przypadków notacja kropkowa jest bardziej ergonomiczna i zalecana zgodnie z dobrymi praktykami programowania.

Pytanie 32

W posiadanej tabeli zwanej przedmioty, która zawiera kolumny ocena oraz uczenID, aby wyliczyć średnią ocen dla ucznia z ID równym 7, należy użyć zapytania

A. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7
B. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7
C. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7
D. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7
Odpowiedź 'SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;' jest poprawna, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią ocen dla wszystkich wpisów w tabeli 'przedmioty', gdzie 'uczenID' jest równy 7. W SQL funkcje agregujące są niezwykle przydatne do analizy danych, pozwalając na uzyskanie statystyk dotyczących zbiorów danych. Użycie klauzuli WHERE pozwala na filtrowanie danych do tych, które dotyczą konkretnego ucznia, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi. Na przykład, w praktycznych zastosowaniach, może to być użyte do generowania raportów dotyczących wyników ucznia w określonym przedziale czasowym lub w porównaniu do innych uczniów. Warto również zauważyć, że poprawna konstrukcja zapytania SQL jest kluczowa dla utrzymania integralności i wydajności bazy danych, co podkreśla znaczenie płynnego zapisu zapytań. Takie umiejętności są nieocenione w pracy z bazami danych oraz w kontekście analizy danych w różnych dziedzinach.

Pytanie 33

Deklaracja w języku JavaScript var x = true; powoduje, że zmienna x jest typu:

A. ciągu znaków
B. wyliczeniowego
C. logicznego
D. liczbowego
Wartości true i false należą do typu logicznego (boolean), który reprezentuje prawdę albo fałsz. Skoro zmiennej x przypisano true, przyjmuje ona typ logiczny. JavaScript jest językiem o dynamicznym typowaniu - typ wynika z przypisanej wartości, więc to samo var mogłoby równie dobrze przechować liczbę czy napis. Wartości logiczne najczęściej wykorzystuje się w warunkach (np. if (x) { ... }) oraz jako wynik porównań. Dlatego po przypisaniu true zmienna x jest typu logicznego.

Pytanie 34

Która z list jest interpretacją pokazanego kodu?

Ilustracja do pytania
A. Odpowiedź B
B. Odpowiedź C
C. Odpowiedź A
D. Odpowiedź D
Odpowiedź C jest prawidłowa, ponieważ odpowiada strukturze listy zagnieżdżonej w HTML. W kodzie źródłowym użyto listy uporządkowanej <ol>, co oznacza, że elementy listy będą numerowane. Każdy element <li> w tej liście może zawierać dodatkowe listy nieuporządkowane <ul>, które są oznaczane jako lista punktowana. W przypadku kodu przedstawionego na rysunku mamy dwie główne pozycje 'muzyka' i 'filmy' zawarte w liście uporządkowanej, stąd 1. muzyka i 2. filmy. Pod pozycjami 'muzyka' i 'filmy' znajdują się listy zagnieżdżone nieuporządkowane, zawierające wpisy 'Wpis1', 'Wpis2', 'Wpis3' i 'Wpis4'. Dobre praktyki w projektowaniu stron sugerują użycie list zagnieżdżonych do klarownego przedstawienia hierarchii informacji. Wykorzystanie list uporządkowanych i nieuporządkowanych jest standardem w semantycznym HTML, co wpływa na dostępność stron internetowych oraz ich zgodność z różnymi urządzeniami i technologiami wspomagającymi. Taka struktura ułatwia również nawigację wśród treści dla użytkowników i algorytmów indeksujących wyszukiwarek internetowych.

Pytanie 35

Aby wyróżnić innym kolorem wiersz tabeli, na który aktualnie najeżdża kursor myszy, należy w CSS użyć:

A. pseudoklasy :visited
B. pseudoklasy :hover
C. pseudoelementu :first-line
D. nowego selektora klasy dla wiersza tabeli
Pseudoklasa :hover stosuje wybrane reguły CSS tylko wtedy, gdy kursor myszy znajduje się nad elementem. Aby podświetlić wiersz tabeli przy najechaniu, zapisuje się np. tr:hover { background: #eee; }. Po zsunięciu kursora styl znika. Dlatego do wyróżnienia wskazywanego wiersza służy pseudoklasa :hover.

Pytanie 36

Dla dowolnego a z przedziału (0, 99) zadaniem funkcji zapisanej w języku JavaScript jest

function fun1(a)
{
    for (n = a; n <= 100; n++)
        document.write(n);
    return n;
}
A. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n
B. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
C. zwrócenie liczb z przedziału a .. 99
D. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
Twoja odpowiedź jest poprawna. Funkcja fun1(a) w języku JavaScript przyjmuje argument a i za pomocą pętli for wypisuje liczby od a do 100 włącznie - a więc pętla jest iterowana tyle razy, ile wynosi różnica między 100 a wartością argumentu a. Po każdej iteracji pętli, wartość zmiennej n jest zwiększana o 1, co jest typowym zachowaniem dla pętli for w JavaScript. Funkcja zwraca wartość zmiennej n po zakończeniu pętli. Tak więc funkcja zwraca 101, ponieważ to właśnie wartość o 1 większa niż warunek kończący pętlę (100) spowoduje jej zakończenie. Ta funkcja to przykładowe zastosowanie pętli for w JavaScript, pokazujące praktyczne zastosowanie tego elementu składni. Pętla for jest standardem w branży i jest powszechnie stosowana do iterowania przez elementy tablicy, obiekty, liczby i inne struktury danych.

Pytanie 37

Która deklaracja w C++ pasuje do funkcji ZWRACAJĄCEJ wynik potęgowania i przyjmującej dwa argumenty (liczbę x i wykładnik w)?

A.
int potega(int x);
B.
void potega(int x, int w, int wynik);
C.
int potega(int x, int w);
D.
void potega(int x, int w);
Funkcja ma ZWRACAĆ wynik, więc jej typ zwracany nie może być void - tu pasuje int. Przyjmuje DWA argumenty: liczbę i wykładnik, więc na liście parametrów muszą być dwa: int potega(int x, int w);. Dlatego poprawna jest druga deklaracja.

Pytanie 38

Z przedstawionych tabel Artykuly i Autorzy należy wybrać jedynie nazwiska autorów i tytuły ich artykułów, które zostały ocenione na 5. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
B. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
Gratulacje! Wybrałeś poprawne zapytanie SQL, które dokładnie odpowiada na postawione pytanie. Zapytanie 'SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;' jest prawidłowe, bo łączy dwie tabele 'autorzy' i 'artykuly' za pomocą klucza obcego 'autorzy_id' w tabeli 'artykuly'. Dzięki temu uzyskujemy dostęp do nazwisk autorów i tytułów artykułów. Dodatkowo, część 'WHERE ocena = 5' filtruje wyniki tak, aby wyświetlane były tylko te rekordy, gdzie ocena wynosi 5. To jest kluczowy element, który pozwala nam skupić się tylko na tych danych, które są istotne dla pytania. W praktyce, tego typu zapytania pomagają nam w analizie wydajności autorów i jakości artykułów, co jest niezwykle ważne w branży wydawniczej.

Pytanie 39

Polecenie SQL przedstawione poniżej ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustawienie wartości kolumny id_klasy na 1 dla każdego rekordu w tabeli Uczen
B. zwiększenie o jeden wartości kolumny id_klasy dla wszystkich rekordów tabeli Uczen
C. zwiększenie o jeden wartości pola Uczen
D. ustawienie wartości pola Uczen na 1
Polecenie SQL używa instrukcji UPDATE aby zmodyfikować wszystkie rekordy w tabeli Uczen Zwiększenie wartości kolumny id_klasy o 1 to typowa operacja używana na przykład w przypadkach kiedy chcemy zmienić przypisanie uczniów do kolejnej klasy Jest to przydatne w scenariuszach takich jak promocja uczniów do następnej klasy w systemie szkolnym Warto zauważyć że użycie tej składni jest zgodne z dobrymi praktykami SQL szczególnie gdy chcemy przeprowadzić identyczną modyfikację dla wszystkich rekordów w tabeli W takich przypadkach operacje masowe jak ta są znacznie bardziej efektywne niż iteracyjne modyfikowanie każdego rekordu oddzielnie Od strony technicznej SQL umożliwia manipulację danymi na poziomie całych tabel co jest jedną z najważniejszych jego cech i wyróżnia go jako wszechstronne narzędzie do zarządzania bazami danych Zrozumienie tej zasady pozwala na efektywne i skalowalne zarządzanie dużymi zbiorami danych co jest kluczowe w profesjonalnym środowisku IT

Pytanie 40

Jak wybrać nazwy produktów z tabeli sprzet zawierającej pola: nazwa, cena, liczbaSztuk, dataDodania, które zostały dodane w roku 2021, a ich cena jest poniżej 100 zł lub liczba sztuk przekracza 4, w sekcji WHERE?

A. WHERE dataDodania LIKE '2021%' OR cena < 100 OR liczbaSztuk > 4
B. WHERE dataDodania LIKE '2021%' AND cena < 100 AND liczbaSztuk > 4
C. WHERE dataDodania LIKE '2021%' OR (cena < 100 AND liczbaSztuk > 4)
D. WHERE dataDodania LIKE '2021%' AND (cena < 100 OR liczbaSztuk > 4)
Odpowiedź trzecia jest poprawna, ponieważ stosuje logiczne połączenie warunków w sekcji WHERE, które precyzyjnie spełnia wymagania zawarte w pytaniu. Warunek 'dataDodania LIKE '2021%'' filtruje dane, aby uwzględnić jedynie te produkty, które zostały dodane w roku 2021. Następnie, użycie operatora AND łączy ten warunek z nawiasem, który grupuje dwa inne warunki: 'cena < 100 OR liczbaSztuk > 4'. Taki zapis oznacza, że wystarczy spełnić jeden z tych dwóch warunków - cena musi być niższa niż 100 zł lub liczba sztuk większa niż 4. Dzięki temu, zapytanie będzie wydajne i zwróci wszystkie pasujące rekordy, co jest kluczowe w pracy z bazami danych. Takie podejście jest zgodne z najlepszymi praktykami SQL, które sugerują stosowanie nawiasów do grupowania logiki warunków, co zwiększa czytelność i zrozumienie zapytania. Przykładem zastosowania tego podejścia jest sytuacja w dużych sklepach internetowych, gdzie istotne jest szybkie filtrowanie danych produktów, aby poprawić doświadczenie użytkownika oraz efektywność sprzedażową.