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: 10 maja 2026 19:40
  • Data zakończenia: 10 maja 2026 19:58

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

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

Który z wartości atrybutu background-attachment w CSS powinien być użyty, aby tło strony pozostało nieruchome w stosunku do okna przeglądarki?

A. Inherit
B. Fixed
C. Local
D. Scroll
Wybór wartości scroll w atrybucie background-attachment skutkuje tym, że tło przewija się razem z zawartością strony, co oznacza, że nie jest statyczne względem okna przeglądarki. Takie ustawienie jest standardowe dla większości stron internetowych, gdzie tło zmienia się podczas przewijania, co nie pozwala uzyskać efektu głębi czy trójwymiarowości. Użycie wartości local powoduje, że tło jest związane z przewijaniem wewnętrznych elementów, a nie z całym oknem przeglądarki. To oznacza, że jeśli element ma własny pasek przewijania, tło będzie przewijać się w tym kontekście, co sprawia, że efekt statyczny w kontekście całej strony jest niedostępny. Wartość inherit z kolei służy do przekazania wartości atrybutu z elementu nadrzędnego do elementu potomnego. Używanie inherit w kontekście background-attachment nie ma sensu, ponieważ nie definiuje konkretnego zachowania tła, a jedynie dziedziczy ustawienia, które mogą być nieodpowiednie dla danego kontekstu. W rezultacie, dla uzyskania pożądanego efektu statycznego tła, warto wybierać fixed, aby osiągnąć najlepszy rezultat wizualny.

Pytanie 2

Tabela Pacjenci ma pola: imie, nazwisko, wiek, lekarz_id. Aby zestawić raport zawierający wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia, którzy zapisani są do lekarza o id równym 6, można posłużyć się kwerendą SQL

A. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6;
B. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6;
C. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6;
D. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6;
Poprawna kwerenda to: SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6; i ona dokładnie realizuje założenia zadania. Po pierwsze, część SELECT imie, nazwisko określa, jakie kolumny mają znaleźć się w wyniku – tylko imię i nazwisko, bez wieku czy identyfikatora lekarza. To jest dobra praktyka: wybieramy tylko te dane, które są faktycznie potrzebne w raporcie, zamiast używać SELECT *. Po drugie, FROM Pacjenci wskazuje tabelę źródłową. W standardowym SQL klauzula FROM jest obowiązkowa przy pobieraniu danych z tabel, bez niej serwer bazodanowy po prostu nie wie, skąd ma brać rekordy. Moim zdaniem to jest taki fundament, który warto mieć odruchowo w palcach. Najważniejsza jest jednak klauzula WHERE wiek < 18 AND lekarz_id = 6. Warunek wiek < 18 filtruje wyłącznie pacjentów niepełnoletnich, a lekarz_id = 6 ogranicza wynik do tych osób, które przypisane są do konkretnego lekarza o identyfikatorze 6. Zastosowanie operatora logicznego AND oznacza, że oba warunki muszą być spełnione jednocześnie. To dokładnie odpowiada treści zadania: pacjent musi być jednocześnie poniżej 18 lat i zapisany do lekarza nr 6. W praktyce takie kwerendy są podstawą raportowania w systemach medycznych, CRM-ach, systemach sprzedażowych itd. Na przykład podobną konstrukcję można użyć: SELECT * FROM Zamowienia WHERE status = 'nowe' AND kwota > 1000; – logika jest identyczna. Dobrą praktyką jest też czytelne zapisywanie warunków logicznych i unikanie niejednoznacznych kombinacji AND/OR bez nawiasów. W większych projektach standardem jest również używanie aliasów tabel, ale tu jedna tabela w zupełności wystarcza. Warto zapamiętać ten szablon: SELECT [kolumny] FROM [tabela] WHERE [warunek1] AND [warunek2]; bo pojawia się praktycznie wszędzie w pracy z SQL.

Pytanie 3

Na tabeli Pracownicy, której wiersze są przedstawione na załączonym obrazie, została zrealizowana podana kwerenda SELECT. Jakie dane zostaną zwrócone?

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;
idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Wyłącznie Maria
B. Wyłącznie Anna
C. Anna, Maria, Ewa
D. Monika, Ewelina, Maria
Kwerenda SQL SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2 ma na celu wybranie imion pracowników, którzy spełniają przynajmniej jeden z dwóch warunków. Pierwszy warunek to nazwisko równe Kowal. Drugi warunek dotyczy stanowiska większego niż 2. W analizowanej tabeli mamy trzy osoby spełniające te kryteria: Maria, która ma nazwisko Kowal oraz Anna i Ewa, które mają stanowiska odpowiednio 3 i 4. Dobrą praktyką w pisaniu zapytań SQL jest jasne formułowanie warunków w klauzuli WHERE, aby zoptymalizować działanie bazy danych i uniknąć niepotrzebnych wyników. Zrozumienie działania operatora OR jest kluczowe, ponieważ umożliwia filtrowanie rekordów według wielu kryteriów. W rzeczywistych scenariuszach biznesowych umiejętność tworzenia takich złożonych zapytań pozwala na efektywne zarządzanie danymi i wyciąganie istotnych informacji, co jest podstawą podejmowania decyzji opartych na danych. Dodatkowo, znajomość struktury tabeli oraz typów danych ułatwia formułowanie zapytań, co jest kluczowe w profesjonalnym używaniu SQL.

Pytanie 4

Który z poniższych fragmentów kodu HTML sformatuje tekst zgodnie z wymaganiami? (zauważ, że słowo "stacji" jest wyświetlane w większej czcionce niż pozostałe słowa w tej linii)

Ilustracja do pytania
A. Odpowiedź 3: C
B. Odpowiedź 1: A
C. Odpowiedź 2: B
D. Odpowiedź 4: D
Pozostałe odpowiedzi zawierają błędy w składni HTML lub zastosowane znaczniki nie spełniają wymagań zadania. W odpowiedzi A użyto znacznika big tylko dla pierwszego słowa stacji co powoduje że lokomotywa pozostaje w domyślnym rozmiarze czcionki. Odpowiedź C zawiera błąd składniowy ponieważ zamyka znacznik h1 używając p co jest niepoprawne w standardowej specyfikacji HTML. Taki błąd może prowadzić do nieprzewidywalnych rezultatów w wyświetlaniu treści przez różne przeglądarki. W odpowiedzi D zastosowano kombinację znaczników small i h1 co jest niezgodne z semantyką HTML ponieważ znacznik small jest używany do zmniejszania rozmiaru tekstu a nie zwiększania. Ponadto użycie h1 zagnieżdżonego wewnątrz small jest niezgodne z zasadami semantycznego HTML co może negatywnie wpływać na dostępność i SEO strony. Przy projektowaniu stron internetowych ważne jest by stosować właściwe znaczniki zgodnie z ich przeznaczeniem co zwiększa kompatybilność i poprawność kodu oraz ułatwia jego dalsze utrzymanie i rozwój. Użycie CSS do zarządzania stylami jest zalecane jako nowoczesne i elastyczne rozwiązanie w porównaniu do starszych metod formatowania tekstu w HTML.

Pytanie 5

W relacyjnych bazach danych encja jest przedstawiana przez

A. relację.
B. rekord.
C. kwerendę.
D. tabelę.
W relacyjnych bazach danych encja jest reprezentowana przez tabelę, co jest zgodne z fundamentalnymi zasadami modelu relacyjnego, zaproponowanego przez Edgara F. Codda. Tabela składa się z wierszy (rekordów) oraz kolumn (atrybutów), gdzie każdy wiersz odpowiada jednej instancji encji, a kolumny definiują jej cechy. Na przykład, tabela "Klienci" może zawierać kolumny takie jak "ID", "Imię", "Nazwisko" i "Email", gdzie każdy wiersz reprezentuje konkretnego klienta. Zastosowanie tabel jako reprezentacji encji pozwala na łatwe tworzenie relacji między danymi, co jest kluczowe w relacyjnych bazach danych. Przykłady takie jak użycie kluczy obcych do łączenia tabel świadczą o praktycznej aplikacji tej zasady w projektowaniu baz danych, co sprzyja spójności i integralności danych. Dobre praktyki baz danych zalecają także normalizację tabel, co pomaga w eliminacji redundancji i poprawie efektywności danych, co czyni tę koncepcję nie tylko teoretyczną, ale również praktyczną w codziennej pracy z bazami danych.

Pytanie 6

Pętla while powinna działać tak długo, jak zmienna x ma wartości z przedziału obustronnie otwartego -2, 5). Zapis tego warunku w nagłówku pętli za pomocą języka PHP wygląda następująco

A. ($x == -2) && ($x < 5)
B. ($x > -2) || ($x > 5)
C. ($x < -2) || ($x > 5)
D. ($x > -2) && ($x < 5)
Prawidłowa odpowiedź, czyli ($x > -2) && ($x < 5), odzwierciedla logiczny warunek, który jest zgodny z opisanym przedziałem otwartym (-2, 5). Pętla while w języku PHP powinna wykonywać blok kodu, dopóki wartość zmiennej x jest większa od -2 oraz jednocześnie mniejsza od 5. Tego rodzaju warunek jest kluczowy w programowaniu, gdyż pozwala na przeprowadzanie iteracji, które są ograniczone do konkretnego zakresu wartości. Przykładowo, jeśli chcielibyśmy zrealizować program, który przetwarza dane tylko w tym przedziale, taki warunek umożliwiłby nam uniknięcie obliczeń dla wartości spoza tego zakresu, co może być istotne w kontekście optymalizacji wydajności. Praktycznym zastosowaniem byłoby zrealizowanie algorytmu, który zbiera dane pomiarowe w zadanym zakresie, co jest częstym przypadkiem w analizie danych. Dobrą praktyką jest także stosowanie odpowiednich komentarzy w kodzie, które wyjaśniają logikę warunków, co sprzyja późniejszej konserwacji; w tym przypadku komentarz mógłby brzmieć "Iteruj, gdy x jest w przedziale (-2, 5)".

Pytanie 7

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na

A. przyznawanie praw do tabeli
B. usunięcie użytkownika z bazy danych
C. odebranie uprawnień danemu użytkownikowi
D. przyznawanie uprawnień z użyciem ustalonego schematu
Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.

Pytanie 8

Która zasada dotyczy programowania strukturalnego? 

A. Dla powtarzających się sekwencji instrukcji należy tworzyć procedury i funkcje.
B. Nie można korzystać z instrukcji warunkowych if. 
C. Można tworzyć obiekty składające się z pól i metod.
D. W kodzie programu należy często korzystać z instrukcji skoku goto.
Prawidłowa odpowiedź dobrze oddaje jedną z kluczowych zasad programowania strukturalnego: jeśli w programie pojawiają się powtarzające się sekwencje instrukcji, należy je wydzielać do osobnych procedur i funkcji. Chodzi o to, żeby kod był podzielony na logiczne bloki, które coś konkretnego robią i można je wielokrotnie wywoływać. Z mojego doświadczenia to właśnie ten nawyk najmocniej odróżnia „klepanie kodu” od świadomego programowania. Programowanie strukturalne opiera się na trzech podstawowych strukturach sterujących: sekwencji, selekcji (if, switch) i iteracji (pętle). Z tych klocków buduje się całe algorytmy, bez potrzeby używania chaotycznych skoków typu goto. Funkcje i procedury są naturalnym rozszerzeniem tej idei: pozwalają zamknąć fragment algorytmu w jednym miejscu, nadać mu nazwę i parametry. W praktyce, gdy masz np. fragment kodu liczący średnią z tablicy, walidujący formularz lub generujący fragment HTML, nie powtarzasz go w dziesięciu miejscach, tylko robisz funkcję, np. validateForm(), calculateAverage(), renderMenu(). To podejście daje kilka konkretnych korzyści: po pierwsze, kod jest krótszy i czytelniejszy, bo zamiast ściany instrukcji widzisz wywołania dobrze nazwanych funkcji. Po drugie, łatwiej się go testuje i debugguje, bo możesz sprawdzać działanie pojedynczych procedur. Po trzecie, zmiany w logice wprowadzasz w jednym miejscu – mniejsze ryzyko, że coś przeoczysz. W praktyce wszystkie współczesne języki używane w web devie (C, PHP, JavaScript, Python i inne) promują takie podejście jako absolutny standard. Moim zdaniem, jeśli ktoś potrafi z każdego większego problemu „wyciągnąć” sensowne funkcje i procedury, to ma już bardzo solidny fundament pod dalszą naukę programowania, także obiektowego.

Pytanie 9

Jak można dodać zewnętrzny arkusz stylów do dokumentu HTML?

A. <css>
B. <meta>
C. <link>
D. <style>
Wybór niepoprawnych odpowiedzi wynika z nieporozumienia co do funkcji poszczególnych znaczników HTML. Znacznik <css> nie istnieje w standardzie HTML, co sprawia, że nie jest on w stanie zrealizować żadnej funkcji związanej z arkuszami stylów. To błędne podejście może prowadzić do niepoprawnego renderowania stron w przeglądarkach, które nie będą w stanie interpretować takiego znacznika. Z kolei znacznik <style> służy do wstawiania stylów CSS bezpośrednio w obrębie dokumentu HTML, w sekcji <head>. Choć pozwala na definiowanie stylów, nie jest on przeznaczony do ładowania zewnętrznych arkuszy stylów, co czyni go niewłaściwym wyborem w kontekście pytania. Ostatni z wymienionych znaczników, <meta>, jest używany do definiowania metadanych o dokumencie, takich jak opis, słowa kluczowe czy kodowanie znaków, ale nie ma związku z arkuszami stylów. Zrozumienie funkcji tych znaczników jest kluczowe dla prawidłowego tworzenia stron internetowych, ponieważ niepoprawne zastosowanie może prowadzić do problemów z wyświetlaniem oraz nawigacją na stronie.

Pytanie 10

Angielskim tłumaczeniem słowa "zapytanie", używanym w bazach danych SQL jest

A. query.
B. keyword.
C. select.
D. asterisk.
Poprawnie – w kontekście baz danych SQL angielskim odpowiednikiem słowa „zapytanie” jest „query”. W całym ekosystemie bazodanowym, zarówno w dokumentacji technicznej, jak i w praktyce zawodowej, przyjęło się, że query to właśnie żądanie skierowane do silnika bazy danych o zwrócenie, modyfikację lub analizę danych. Może to być zarówno proste zapytanie SELECT, jak i bardziej złożone polecenia typu INSERT, UPDATE, DELETE czy nawet zagnieżdżone podzapytania. Mówiąc, że „piszemy query do bazy”, mamy na myśli kompletne zapytanie SQL, które serwer interpretuje i wykonuje. W praktyce, w narzędziach takich jak phpMyAdmin, SQL Server Management Studio, pgAdmin czy nawet w ORM-ach (np. w Laravelu, Django), wszędzie pojawia się pojęcie „query builder”, „query log”, „query optimization”. To wszystko odnosi się właśnie do zapytań. Warto też kojarzyć, że w literaturze i kursach często rozróżnia się pojęcie „query” (czyli konkretne zapytanie) od „statement” (instrukcja, polecenie w języku SQL), ale w mowie potocznej programistów często się to miesza. Dobrą praktyką jest używanie słowa „query” zawsze wtedy, gdy mówimy o operacji odczytu lub ogólnie o wysłaniu zapytania SQL do bazy, a nie np. o nazwie słowa kluczowego czy znaku specjalnym. W projektach komercyjnych, logach aplikacji, monitoringu wydajności, wszędzie będzie pojawiać się termin „slow queries”, „expensive queries” – i to zawsze oznacza wolno działające zapytania. Moim zdaniem warto się szybko przyzwyczaić do tego terminu, bo jest absolutnie podstawowy w pracy z bazami danych.

Pytanie 11

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Zmiana jasności zdjęć.
D. Zwiększenie ostrości zdjęcia.
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 12

Kolor zapisany w systemie RGB, o wartościach rgb(255,128,16), jaki będzie miał odpowiednik w kodzie szesnastkowym?

A. #ff8011
B. #ff8010
C. #ff0f10
D. #008010
Kod RGB (Red, Green, Blue) to model barw wykorzystywany w grafice komputerowej oraz w technologii wyświetlania. Wartości RGB są określane na podstawie trzech składowych: czerwonej, zielonej i niebieskiej. Każda z tych składowych może przyjmować wartości w zakresie od 0 do 255. W przypadku koloru zapisanym jako rgb(255,128,16), wartość 255 oznacza pełne nasycenie koloru czerwonego, 128 to średnie nasycenie koloru zielonego, a 16 to stosunkowo niskie nasycenie koloru niebieskiego. Aby przekonwertować wartości RGB na format szesnastkowy, należy przekształcić każdą z trzech składowych na system szesnastkowy, co w przypadku podanego koloru daje nam: 255 w systemie dziesiętnym to FF w szesnastkowym, 128 to 80, a 16 to 10. Łącząc te wartości, otrzymujemy #ff8010, co dokładnie odpowiada wartości RGB podanej w pytaniu. Taki zapis jest powszechnie stosowany w CSS i innych formatach związanych z web designem, a jego znajomość jest kluczowa dla każdego projektanta lub developera webowego.

Pytanie 13

Z którego z pól klasy

class Dane {
    public $a;
    private $b;
    protected $c;
}
będzie można uzyskać dostęp z zewnątrz przy użyciu obiektu stworzonego jako instancja tej klasy?
A. Do pola $a.
B. Do pola $c.
C. Do wszystkich pól.
D. Do pola $b.
Odpowiedź 'Do pola $a' jest prawidłowa, ponieważ pole $a jest zdefiniowane jako publiczne, co oznacza, że jest dostępne z zewnątrz dla instancji klasy oraz dla kodu, który jest poza tą klasą. W praktyce, gdy tworzysz obiekt klasy Dane, możesz łatwo uzyskać dostęp do tego pola, na przykład za pomocą $obiekt->a. Zastosowanie publicznych pól jest typowe, gdy chcesz, aby dane były szeroko dostępne, na przykład w interfejsach API lub podczas tworzenia prostych klas modelujących dane. W przypadku pól prywatnych oraz chronionych, dostęp do nich jest ograniczony. Pole $b jest prywatne, co oznacza, że może być używane tylko wewnątrz tej samej klasy, a pole $c, będące chronionym, może być używane przez klasę i jej podklasy, ale nie przez kod zewnętrzny. Warto zaznaczyć, że dobre praktyki programowania obiektowego sugerują ograniczanie dostępu do pól, co sprzyja enkapsulacji i ochronie integralności danych, a publiczne pola należy stosować z ostrożnością, aby nie naruszyć zasad projektowania systemów oprogramowania.

Pytanie 14

ID_PracownikaNazwiskoImięStanowiskoWynagrodzenie
1KowalskiKrzysztofkasjer3215,76
2NowakAntonikierownik5350,00
3ZającAlicjaksięgowy4568,70
4KrólWitoldkasjer3045,00
5NowikGrzegorzkasjer2750,65
6KotulskiAndrzejkierowca3467,00
7TutkaKatarzynakierownik4935,33
8PoradaJakubmagazynier3321,56
Które zapytanie SQL należy wykonać na tabeli Pracownicy, aby otrzymać średnie wynagrodzenie dla pracownika na stanowisku kasjer?
A. SELECT AVG(Wynagrodzenie) FROM Pracownicy WHERE Stanowisko='kasjer';
B. SELECT SUM(*) FROM Pracownicy AND Stanowisko= 'kasjer';
C. SELECT AVG(kasjer.Wynagrodzenie) FROM Pracownicy;
D. SELECT SREDNIA(Wynagrodzenie) AND Stanowisko='kasjer' FROM Pracownicy;
Poprawne zapytanie to SELECT AVG(Wynagrodzenie) FROM Pracownicy WHERE Stanowisko='kasjer';, bo dokładnie robi to, o co chodzi w treści zadania. Funkcja AVG() w SQL jest standardową funkcją agregującą, która liczy średnią arytmetyczną z wartości liczbowych w danej kolumnie. W tym przypadku kolumna to Wynagrodzenie, czyli kwoty wypłat, a klauzula WHERE Stanowisko='kasjer' zawęża zestaw rekordów tylko do pracowników na stanowisku kasjera. Najpierw więc silnik bazy danych filtruje wiersze (kasjerów), a dopiero potem na tej ograniczonej grupie liczy średnią. To jest bardzo typowy i poprawny schemat pracy z danymi w SQL: najpierw filtrujesz, potem agregujesz. Moim zdaniem warto zauważyć, że taka konstrukcja jest uniwersalna – w praktyce w firmach często liczy się średnie wynagrodzenia dla różnych stanowisk, działów, lokalizacji. Wtedy zmienia się tylko warunek w klauzuli WHERE. Można też pójść krok dalej i użyć GROUP BY, np. SELECT Stanowisko, AVG(Wynagrodzenie) FROM Pracownicy GROUP BY Stanowisko; żeby dostać średnie dla wszystkich stanowisk naraz, co jest wygodne np. w raportach HR. To, co masz w odpowiedzi, to w zasadzie „wersja jednostanowiskowa” takiego raportu. Ważna dobra praktyka: zawsze filtrujemy w klauzuli WHERE, a nie próbujemy wpychać warunków do funkcji agregującej. Dzięki temu zapytanie jest czytelne, zgodne ze standardem SQL i dobrze optymalizowane przez silnik bazy. W realnych projektach staramy się też nadać alias wynikom agregacji, np. SELECT AVG(Wynagrodzenie) AS SredniaKasjera FROM Pracownicy WHERE Stanowisko='kasjer';, żeby w raportach i w kodzie aplikacji od razu było wiadomo, co oznacza zwracana kolumna.

Pytanie 15

W systemie zarządzania bazami danych MySQL komenda CREATE USER pozwala na

A. utworzenie użytkownika
B. zmianę hasła dla już istniejącego użytkownika
C. stworznie nowego użytkownika oraz przydzielenie mu uprawnień do bazy
D. pokazanie danych o istniejącym użytkowniku
Polecenie CREATE USER w MySQL jest używane do tworzenia nowych użytkowników w systemie baz danych. W kontekście zarządzania bazami danych, kluczowym aspektem jest kontrola dostępu, a odpowiednie zdefiniowanie użytkowników jest niezbędne dla zapewnienia bezpieczeństwa danych. Używając CREATE USER, administrator bazy danych może zdefiniować nazwę użytkownika oraz powiązane z nią hasło, co stanowi pierwszy krok w procesie zarządzania uprawnieniami. Dobrą praktyką jest stosowanie silnych haseł oraz nadawanie użytkownikom tylko tych uprawnień, które są im rzeczywiście potrzebne do wykonania ich zadań. Na przykład, w przypadku aplikacji webowych często tworzy się specjalnych użytkowników z ograniczonymi prawami dostępu, co minimalizuje ryzyko nieautoryzowanego dostępu do wrażliwych danych. Warto pamiętać, że po utworzeniu użytkownika, można wykorzystać polecenia GRANT, aby przyznać mu odpowiednie uprawnienia do konkretnych baz danych lub tabel, co pozwala na precyzyjne zarządzanie dostępem. Ponadto, MySQL pozwala na tworzenie użytkowników z różnymi poziomami dostępu, co jest kluczowe dla organizacji z wieloma działami oraz różnorodnymi potrzebami w zakresie bezpieczeństwa danych.

Pytanie 16

Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?

Ilustracja do pytania
A. Regułę sprawdzania poprawności
B. Maskę wprowadzania
C. Wartość domyślną
D. Tagi inteligentne
Maska wprowadzania to opcja pozwalająca na zdefiniowanie wzorca, według którego użytkownicy mogą wprowadzać dane do pola w bazie danych. W przypadku konieczności przyjmowania wyłącznie cyfr, maska wprowadzania może ograniczyć użytkownika do wpisywania numerów, co jest szczególnie przydatne w aplikacjach wymagających precyzyjnego formatu danych, takich jak numery telefonów, kody pocztowe czy numery identyfikacyjne. Maska zapewnia spójność danych oraz minimalizuje ryzyko błędnych wpisów. Przykładowo, maska 0000-000-000 może być użyta do wymuszenia formatu numeru telefonu, gdzie każda liczba 0 reprezentuje wymaganą cyfrę. W branży IT oraz w procesie projektowania systemów bazodanowych, takie rozwiązania przyczyniają się do podniesienia jakości danych oraz upraszczają proces ich przetwarzania. Stosowanie masek wprowadzania jest zgodne z najlepszymi praktykami w dziedzinie zarządzania danymi, które podkreślają znaczenie walidacji danych na poziomie aplikacji oraz baz danych, aby uniknąć nieprawidłowych lub niekompletnych danych w systemie.

Pytanie 17

W PHP użyto funkcji is_float(). Które z wymienionych wywołań tej funkcji zwróci wartość true?

A. is_float(334)
B. is_float(NULL)
C. is_float(3.34)
D. is_float('3,34')
Funkcja is_float() w języku PHP jest używana do sprawdzania, czy dany argument jest typu float. W przypadku wywołania is_float(3.34), wartość 3.34 jest literalnym zapisem liczby zmiennoprzecinkowej, co oznacza, że jest to poprawny typ danych. W praktycznych zastosowaniach, weryfikacja typu zmiennej jest istotna, szczególnie przy pracy z danymi, gdzie precyzyjne typowanie jest kluczowe, na przykład w obliczeniach finansowych. Gdy pracujemy z danymi z formularzy, często musimy upewnić się, że wartości są odpowiednich typów, aby uniknąć błędów w obliczeniach. Warto również zauważyć, że PHP automatycznie konwertuje typy danych, ale zawsze lepiej jest explicite kontrolować typy, zwłaszcza w bardziej złożonych aplikacjach. Standardem dobrych praktyk jest stosowanie is_float() w sytuacjach, gdzie ważne jest potwierdzenie, że zmienna jest typu float przed jej użyciem w kontekście wymagającym tego typu, co zwiększa czytelność i stabilność kodu.

Pytanie 18

Funkcja agregująca MIN w SQL ma na celu obliczenie

A. liczby wierszy, które zostały zwrócone przez kwerendę
B. wartości najmniejszej w kolumnie wynikowej kwerendy
C. długości tekstu w rekordach zwróconych przez kwerendę
D. średniej wartości różnych pól w rekordzie zwróconym przez zapytanie
Funkcja agregująca MIN w języku SQL służy do obliczania wartości minimalnej w kolumnie zwróconej przez kwerendę. Działa ona na zbiorze rekordów i zwraca najmniejszą wartość spośród wartości znalezionych w specyfikowanej kolumnie. Przykładowo, jeśli w naszej bazie danych mamy tabelę 'Pracownicy' z kolumną 'Wynagrodzenie', zapytanie SQL 'SELECT MIN(Wynagrodzenie) FROM Pracownicy;' zwróci najniższe wynagrodzenie wśród wszystkich pracowników. Funkcja ta jest niezwykle przydatna w analizie danych, gdzie często chcemy zidentyfikować najniższe wartości, na przykład w raportach finansowych czy w analizach jakości danych. Dobrze jest też pamiętać, że MIN może być używana w połączeniu z klauzulą GROUP BY, co pozwala na uzyskanie minimalnych wartości w podgrupach danych, co jest standardem w analityce danych w SQL.

Pytanie 19

Który z poniższych języków jest używany do stylizacji stron WWW?

A. Python
B. HTML
C. SQL
D. CSS
CSS, czyli Cascading Style Sheets, to język używany do opisywania wyglądu dokumentu HTML. Dzięki niemu możemy określić, jak mają wyglądać elementy na stronie, takie jak kolory, czcionki, odstępy między elementami, a także układ całej strony. CSS jest nieodłącznym elementem nowoczesnego tworzenia stron internetowych, ponieważ pozwala na oddzielenie treści od formy, co jest jedną z zasad dobrych praktyk w web development. Umożliwia tworzenie responsywnych projektów, które dobrze wyglądają na różnych urządzeniach, od komputerów po smartfony. Stylowanie za pomocą CSS pozwala na zdefiniowanie stylów globalnych, które mogą być zastosowane do wielu elementów na stronie, co znacznie ułatwia zarządzanie wyglądem witryny. Praktycznym zastosowaniem CSS jest na przykład zmiana koloru tekstu na stronie za pomocą prostej reguły, czy też tworzenie zaawansowanych animacji, które zwiększają interaktywność stron. CSS jest kluczowy w procesie tworzenia estetycznych i funkcjonalnych stron internetowych, co czyni go niezbędnym narzędziem dla każdego web developera.

Pytanie 20

Prezentowany fragment dokumentu HTML z użyciem JavaScript spowoduje, że po naciśnięciu przycisku

<img src="obraz1.png">
<img src="obraz2.png" id="id1">
<button onclick="document.getElementById('id1').style.display='none'">Przycisk</button>
A. obraz1.png zostanie wymieniony przez obraz2.png
B. obraz1.png zostanie zniknięty
C. obraz2.png zostanie wymieniony przez obraz1.png
D. obraz2.png zostanie zniknięty
Odpowiedź jest poprawna, ponieważ przycisk w kodzie JavaScript powoduje, że po jego kliknięciu element HTML o identyfikatorze 'id1', który jest obrazem 'obraz2.png', zostanie ukryty. Wartość 'style.display' zmienia się na 'none', co jest standardowym sposobem na ukrycie elementu w dokumentach HTML. W praktyce takie podejście jest szeroko stosowane w interaktywnych aplikacjach webowych, aby poprawić doświadczenia użytkowników, umożliwiając im dynamiczne ukrywanie lub wyświetlanie treści w odpowiedzi na ich działania. Ukrywanie elementów zamiast ich usuwania z DOM ma swoje zalety, ponieważ umożliwia ich późniejsze przywrócenie, co jest bardziej efektywne w kontekście wydajności. Dobrym przykładem może być rozwijane menu na stronie, gdzie po kliknięciu na dany element, jego zawartość jest ukrywana lub pokazywana bez potrzeby przeładowywania całej strony.

Pytanie 21

Na stronie internetowej znajduje się formularz, do którego trzeba zaprogramować następujące funkcje:
– walidacja: podczas wypełniania formularza na bieżąco jest kontrolowana poprawność danych
– przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze
Aby zrealizować tę funkcjonalność w możliwie najprostszy sposób, należy zapisać

A. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
B. walidację i przesyłanie danych w języku JavaScript
C. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
D. walidację i przesyłanie danych w języku PHP
Walidacja w języku JavaScript jest kluczowym elementem tworzenia interaktywnych formularzy internetowych, ponieważ pozwala na sprawdzenie poprawności danych w czasie rzeczywistym, zanim użytkownik prześle formularz na serwer. Dzięki temu użytkownik otrzymuje natychmiastową informację zwrotną i może poprawić ewentualne błędy, co znacząco poprawia doświadczenie użytkownika. Typowe przykłady walidacji obejmują sprawdzanie, czy pola nie są puste, czy wprowadzone dane odpowiadają oczekiwanemu formatowi (np. adres e-mail czy numer telefonu). Po zatwierdzeniu formularza, przesyłanie danych do bazy danych powinno odbywać się przez skrypt PHP, który efektywnie obsługuje komunikację z serwerem i umożliwia zapis danych w bazie. PHP jest powszechnie stosowany w backendzie, co czyni go idealnym wyborem do przetwarzania i przechowywania danych. Przy takiej architekturze aplikacji webowej korzystamy z dobrych praktyk, takich jak oddzielenie logiki frontendowej od backendowej, co zwiększa bezpieczeństwo oraz łatwość w utrzymaniu aplikacji. Ponadto, zastosowanie AJAX w JavaScript do asynchronicznego przesyłania danych bez przeładowania strony stanowi dodatkowy atut, który poprawia płynność działania aplikacji.

Pytanie 22

Polecenie SQL:

GRANT CREATE, ALTER ON sklep.* TO adam;
Zakładając, że użytkownik adam wcześniej nie posiadał żadnych uprawnień, to powyższe polecenie SQL przyzna mu prawa jedynie do:
A. tworzenia oraz modyfikacji struktury w tabeli sklep
B. dodawania oraz modyfikacji danych we wszystkich tabelach bazy sklep
C. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
D. dodawania oraz modyfikacji danych w tabeli sklep
Wiele błędnych odpowiedzi opiera się na mylnym zrozumieniu zakresu przyznawanych uprawnień. Przede wszystkim, uprawnienia 'CREATE' i 'ALTER' odnoszą się wyłącznie do struktury tabel i innych obiektów, a nie do danych przechowywanych w tabelach. Stąd wstawianie (INSERT) i zmiana danych (UPDATE) nie są umożliwione przez polecenie 'GRANT CREATE, ALTER', co jest kluczowym błędem w niektórych odpowiedziach. Wstawianie danych wymaga przyznania uprawnień 'INSERT', a zmiana danych 'UPDATE', których w tym przypadku nie przyznano. Kolejnym powszechnym nieporozumieniem jest mylenie odniesienia do jednej tabeli z odniesieniem do całej bazy danych. Uprawnienie 'ON sklep.*' wyraźnie sugeruje, że dotyczy wszystkich tabel w bazie danych o nazwie 'sklep', a nie tylko pojedynczej tabeli. To zrozumienie jest fundamentem dla odpowiedniego zarządzania prawami dostępu w praktyce administracyjnej baz danych. Najlepsze praktyki wskazują, że przy przyznawaniu uprawnień należy dokładnie określać, do jakich obiektów użytkownik ma mieć dostęp, co zmniejsza ryzyko nieautoryzowanych zmian i naruszeń bezpieczeństwa.

Pytanie 23

W języku PHP uzyskano wyniki kwerend z bazy danych przy użyciu polecenia mysql_query. Aby wydobyć z otrzymanej kwerendy pojedynczy wiersz danych, konieczne jest użycie polecenia

A. mysql_fetch_lengths
B. mysql_fetch_row
C. mysql_list_fields
D. mysql_field_len
Odpowiedź mysql_fetch_row jest poprawna, ponieważ to funkcja, która pozwala na pobranie pojedynczego wiersza danych z zasobu zwróconego przez mysql_query. Zwraca ona tablicę, która zawiera wartości poszczególnych pól w wierszu, co umożliwia ich dalsze przetwarzanie. Dzięki tej funkcji programista może łatwo iterować przez wyniki kwerendy, co jest kluczowe w przypadku przetwarzania danych z baz danych. Na przykład, po wykonaniu kwerendy SELECT, można użyć pętli while, aby pobierać kolejne wiersze danych i je wyświetlać. Dobrą praktyką jest również sprawdzenie, czy zasób kwerendy jest poprawny przed użyciem tej funkcji, co pozwoli uniknąć błędów w czasie wykonywania skryptu. Warto dodać, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, które oferują bardziej zaawansowane możliwości i większe bezpieczeństwo przy pracy z bazami danych.

Pytanie 24

Do czego służy znacznik <i> w języku HTML?

A. umieszczania obrazu
B. zdefiniowania nagłówka w treści
C. zdefiniowania formularza
D. zmiany kroju pisma na pochylony
Znacznik <i> w języku HTML jest używany do przedstawienia tekstu w stylu kursywy. Jest to jeden z najprostszych znaczników, który jest często stosowany do podkreślenia pewnych elementów tekstowych, takich jak tytuły książek, nazwy filmów czy inne wyrazy, które mają znaczenie kontekstowe. Użycie tego znacznika jest zgodne z zasadami semantyki HTML, co oznacza, że zachowuje on znaczenie treści, a nie tylko jej wygląd. Warto również zauważyć, że w CSS istnieje wiele możliwości stylizacji tekstu, a znacznik <i> jest jednym z elementów, które w łatwy sposób można połączyć z regułami stylów, aby stworzyć atrakcyjne wizualnie strony internetowe. Przykładem zastosowania może być: <p>Ostatnio przeczytałem <i>Harry'ego Pottera</i> i bardzo mi się podobał.</p>. W tym przypadku tytuł książki jest wyróżniony, co przyciąga uwagę czytelnika. Warto pamiętać, że w nowoczesnym HTML zamiast <i> dla stylizacji można używać CSS, jednak <i> pozostaje ważnym elementem dla zachowania semantyki treści.

Pytanie 25

Jakie jest polecenie SQL, które pozwala na usunięcie bazy danych o nazwie firma?

A. ALTER firma DROP;
B. ALTER firma DROP DATABASE;
C. DROP firma;
D. DROP DATABASE firma;
Odpowiedź 'DROP DATABASE firma;' jest poprawnym poleceniem SQL, które służy do usunięcia bazy danych o nazwie 'firma'. Używanie polecenia 'DROP DATABASE' jest standardową praktyką w SQL, która zapewnia usunięcie całej struktury bazy danych, łącznie z wszystkimi tabelami, widokami, procedurami składowanymi oraz danymi. Jest to istotne w kontekście zarządzania bazami danych, gdyż przed wykonaniem takiego polecenia zaleca się wykonanie kopii zapasowej, aby uniknąć utraty danych. W praktyce, administratorzy baz danych używają tego polecenia w sytuacjach, gdy zachodzi potrzeba całkowitego usunięcia bazy danych, np. w przypadku dekompozycji projektu, migracji do innej bazy lub po zakończeniu testów w środowisku deweloperskim. Standardy SQL, takie jak ANSI SQL, definiują 'DROP DATABASE' jako część zestawu operacji DDL (Data Definition Language), co podkreśla jego znaczenie w kontekście strukturalnym zarządzania danymi.

Pytanie 26

Podane w ramce polecenie SQL ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość pola id_klasy w jednym rekordzie tabeli Uczen
B. ustawić wartość pola id_klasy na 1 dla wszystkich rekordów tabeli Uczen
C. ustawić wartość w kolumnie id_klasy na 1 dla wszystkich rekordów tabeli Uczen
D. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1; modyfikuje wszystkie rekordy w tabeli Uczen, bo nie ma w nim klauzuli WHERE. To jest kluczowa rzecz: brak WHERE oznacza, że polecenie dotyczy całej tabeli, a nie pojedynczego wiersza. Wyrażenie id_klasy = id_klasy + 1 oznacza aktualizację kolumny na podstawie jej dotychczasowej wartości – po prostu dodajemy 1 do obecnej wartości w każdej krotce. Nie ustawiamy stałej wartości, tylko wykonujemy operację arytmetyczną na kolumnie. W praktyce taki zapis stosuje się np. gdy chcemy przesunąć identyfikatory klas, zmienić numerację poziomów, podnieść wszystkim uczniom numer semestru albo zaktualizować jakiś licznik. W SQL to bardzo typowy wzorzec: UPDATE tabela SET kolumna = kolumna + wartość WHERE warunek; i w dobrych praktykach zawsze pilnuje się, żeby świadomie używać lub pomijać WHERE. Administratorzy baz danych zwykle wręcz powtarzają zasadę: przed uruchomieniem UPDATE bez WHERE zastanów się dwa razy, czy na pewno chcesz zmienić wszystkie wiersze. Moim zdaniem warto zapamiętać dwie rzeczy: po pierwsze, UPDATE bez WHERE = aktualizacja wszystkich rekordów; po drugie, po lewej stronie znaku równości zawsze jest nazwa kolumny, którą zmieniamy, a po prawej – wyrażenie, z którego zostanie policzona nowa wartość. To wyrażenie może używać starej wartości tej samej kolumny, tak jak tutaj. W wielu systemach bazodanowych (np. MySQL, PostgreSQL, SQL Server) ta konstrukcja działa identycznie, więc to taki uniwersalny, standardowy zapis, zgodny z ogólnymi zasadami języka SQL.

Pytanie 27

Zapis koloru w formacie #ff00e0 odpowiada zapisowi

A. rgb(255,0,224)
B. rgb(ff,0,e0)
C. rgb(f,0,e0)
D. rgb(255,0,128)
Analizując pozostałe odpowiedzi, można zauważyć kilka nieprawidłowości w ich interpretacji. Przy pierwszej odpowiedzi, zapis rgb(f,0,e0) jest błędny, ponieważ wartości w formacie RGB muszą być w przedziale od 0 do 255. 'f' jako wartość szesnastkowa odpowiada 15 w systemie dziesiętnym, co jest nieprawidłowe w kontekście całościowego zapisu koloru. Każda z trzech wartości RGB musi zawierać pełną gamę kolorów, co nie jest spełnione w tym przypadku. W drugiej odpowiedzi, rgb(ff,0,e0) również jest błędny, ponieważ zawiera nieprawidłowe dane. Chociaż 'ff' jest poprawnym zapisem szesnastkowym odpowiadającym wartości 255, to 'e0' nie zostało przeliczone na wartość dziesiętną, co skutkuje brakiem pełnej jasności koloru. Osoby zajmujące się projektowaniem powinny mieć na uwadze, że poprawne przeliczenie wartości jest kluczowe dla uzyskania zamierzonych efektów wizualnych. W trzeciej odpowiedzi, rgb(255,0,128) jest także błędne, ponieważ ta kombinacja odpowiada zupełnie innemu kolorowi, który jest mniej intensywnym odcieniem różowego. Wartości te przekładają się na kolor pomarańczowy, co nie jest zgodne z zadanym kolorem szesnastkowym #ff00e0. Przy projektowaniu graficznym, precyzyjność w definiowaniu kolorów jest niezwykle ważna, a każdy błąd w interpretacji wartości może prowadzić do niezamierzonych efektów.

Pytanie 28

W JavaScript zdefiniowano obiekt. W jaki sposób można uzyskać dostęp do właściwości nazwisko?

var osoba = {imie: "Anna", nazwisko: "Kowalska", rok_urodzenia: 1985};
A. osoba::nazwisko
B. osoba[1]
C. osoba[2]
D. osoba.nazwisko
Odpowiedź osoba.nazwisko jest prawidłowa, ponieważ w JavaScript do właściwości obiektu można odwoływać się za pomocą notacji kropkowej. Jest to jedna z najbardziej czytelnych i powszechnie stosowanych metod dostępu do właściwości obiektu w programowaniu obiektowym. Kiedy mamy obiekt o nazwie osoba, który został zdefiniowany z właściwościami takimi jak imie, nazwisko i rok_urodzenia, notacja kropkowa pozwala bezpośrednio i intuicyjnie odczytać wartość przypisaną do klucza nazwisko. Ważne jest, aby zrozumieć, że notacja kropkowa nie tylko zwiększa czytelność kodu, ale także ułatwia jego utrzymanie i modyfikację przez innych programistów. Stosowanie tego standardu jest zgodne z najlepszymi praktykami w branży, promującymi pisanie zrozumiałego i efektywnego kodu. Warto również pamiętać, że notacja kropkowa jest preferowana, gdy nazwy kluczy są znane i nie zawierają znaków, które mogą kolidować z syntaksą języka, takich jak spacje. W przypadku bardziej złożonych kluczy można używać notacji nawiasowej, która mimo że jest bardziej elastyczna, nie zawsze jest tak przejrzysta jak notacja kropkowa. Przykłady praktyczne obejmują zastosowania w aplikacjach webowych, gdzie obiekty mogą reprezentować zasoby użytkownika, a notacja kropkowa umożliwia bezpośredni dostęp do danych użytkownika w celu ich wyświetlenia lub edycji w interfejsie aplikacji.

Pytanie 29

W tabeli pracownicy utworzono klucz główny typu INTEGER z atrybutami NOT NULL oraz AUTO-INCREMENT. Dodatkowo zdefiniowano pola imie oraz nazwisko. W przypadku użycia przedstawionej w ramce kwerendy SQL wprowadzającej dane, gdzie pominięto pole klucza, w bazie danych MySQL dojdzie do

Ilustracja do pytania
A. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
B. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
C. zignorowania polecenia, tabela nie ulegnie zmianie
D. błędu związane z nieprawidłową liczbą pól
W przypadku bazy danych MySQL, klucz główny zdefiniowany z atrybutem AUTO-INCREMENT pełni ważną funkcję automatycznego przydzielania unikalnych wartości liczbowych dla każdego nowego rekordu. Jest to szczególnie przydatne w dużych bazach danych, gdzie ręczne przypisywanie wartości klucza mogłoby prowadzić do błędów czy konfliktów. W przedstawionym przypadku, query SQL typu INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak'); pomija pole klucza głównego. Dzięki zastosowaniu AUTO-INCREMENT, MySQL automatycznie przydzieli nową wartość klucza głównego, która będzie kolejną w sekwencji, zapewniając integralność danych. Tego rodzaju mechanizm jest standardem w zarządzaniu relacyjną bazą danych, co pozwala na efektywne i bezpieczne operowanie danymi bez ryzyka wystąpienia błędów związanych z ręcznym zarządzaniem kluczami. Dobre praktyki sugerują, aby w takich przypadkach polegać na funkcji AUTO-INCREMENT, co nie tylko ułatwia pracę z bazą danych, ale również minimalizuje możliwość wystąpienia duplikatów czy niespójności w danych. To podejście jest szeroko stosowane w branży IT, szczególnie w przypadkach systemów wymagających dużego wolumenu danych.

Pytanie 30

W języku C, aby zdefiniować stałą, należy zastosować

A. const
B. static
C. #INCLUDE
D. #CONST
W języku C, aby zadeklarować stałą, należy użyć słowa kluczowego 'const'. Użycie 'const' umożliwia programiście zdefiniowanie zmiennej, której wartość nie może być zmieniana w trakcie działania programu. To podejście jest zgodne z dobrymi praktykami programowania, ponieważ pozwala na większą kontrolę nad danymi i minimalizuje ryzyko przypadkowej modyfikacji istotnych wartości. Na przykład, jeżeli chcemy zdefiniować stałą wartość liczby pi, możemy użyć: 'const double PI = 3.14159;'. Taka deklaracja zapewnia, że PI pozostanie niezmienne w trakcie działania programu. Użycie 'const' jest również istotne w kontekście bezpieczeństwa kodu, ponieważ zmniejsza prawdopodobieństwo wystąpienia błędów związanych z modyfikacją wartości, które powinny pozostać stałe. Warto również zauważyć, że używanie stałych w programowaniu zwiększa czytelność kodu, ponieważ jasno wskazuje na zamiar programisty, że pewne wartości nie powinny być zmieniane. Dodatkowo, stałe mogą być używane w kontekście makr preprocesora, co wprowadza dodatkowe możliwości zdefiniowania stałych, które mogą być używane w całym kodzie przy zachowaniu zasad programowania defensywnego.

Pytanie 31

Jakie funkcje może pełnić program FileZilla?

A. kompilacji skryptu na stronie
B. debugowania skryptu na stronie
C. walidacji strony internetowej
D. publikacji strony internetowej
FileZilla to popularny klient FTP, który umożliwia przesyłanie plików między lokalnym komputerem a serwerem internetowym. Publikacja strony internetowej polega na umieszczeniu plików strony – takich jak HTML, CSS, JavaScript czy obrazy – na serwerze, aby były dostępne dla użytkowników w Internecie. Dzięki FileZilla użytkownicy mogą łatwo zarządzać tym procesem, korzystając z przyjaznego interfejsu graficznego, który pozwala na przeciąganie i upuszczanie plików. Program obsługuje różne protokoły, w tym FTP, FTPS i SFTP, co zapewnia bezpieczeństwo podczas przesyłania danych. Dobry klient FTP, taki jak FileZilla, jest niezbędnym narzędziem w pracy web developerów, pozwalając na efektywne zarządzanie plikami oraz synchronizację lokalnych zasobów z serwerem. Dodatkowo, FileZilla udostępnia funkcje takie jak edycja plików na serwerze, co umożliwia szybką modyfikację treści bez potrzeby ponownego przesyłania całej strony. W kontekście publikuje się również znaczenie zachowania odpowiednich struktur katalogów oraz standardów, co ułatwia przyszłe aktualizacje i konserwację strony.

Pytanie 32

W CSS określono styl paragrafu, który nada mu następujące właściwości:

background-color: red;
color: blue;
margin: 40px;
A. tło czerwone, kolor tekstu niebieski, marginesy wewnętrzne na poziomie 40 px
B. tło niebieskie, kolor tekstu czerwony, marginesy wewnętrzne na poziomie 40 px
C. tło niebieskie, kolor tekstu czerwony, marginesy zewnętrzne na poziomie 40 px
D. tło czerwone, kolor tekstu niebieski, marginesy zewnętrzne na poziomie 40 px
Wiele błędnych odpowiedzi opiera się na mylnym zrozumieniu właściwości CSS oraz ich roli w stylowaniu dokumentów HTML. W przypadku tła, koloru tekstu i marginesów istotne jest, aby poprawnie zidentyfikować, co każda z tych właściwości robi. Na przykład, w deklaracji 'background-color: red;' tło jest jednoznacznie określane jako czerwone, co wyklucza wszelkie inne kolory, jak niebieski, co jest mylnie sugerowane w niektórych odpowiedziach. Co więcej, właściwość 'color' ustala kolor tekstu, a nie tła, co oznacza, że nie może być jednocześnie czerwony i niebieski. Kolejnym częstym błędem jest mylenie marginesów zewnętrznych z wewnętrznymi. Marginesy zewnętrzne (margin) definiują przestrzeń wokół elementu, podczas gdy marginesy wewnętrzne (padding) dotyczą przestrzeni wewnątrz elementu. W kontekście tego pytania, 'margin: 40px;' odnosi się do marginesów zewnętrznych. Dlatego ważne jest, aby dokładnie zrozumieć, jak różne style CSS wpływają na wygląd i układ elementów na stronie, co jest kluczowe w profesjonalnym projektowaniu webowym. Błędne interpretacje mogą prowadzić do nieestetycznego układu i trudności w użytkowaniu stron, co jest szczególnie istotne w kontekście dostępności i użyteczności aplikacji internetowych.

Pytanie 33

W języku JavaScript poniższy fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
B. wyświetlić wszystkie elementy tablicy
C. obliczyć sumę wszystkich elementów tablicy
D. dodać do każdego elementu tablicy ustaloną wartość
Funkcja w podanym fragmencie rzeczywiście ma na celu policzenie sumy wszystkich elementów tablicy. Przy inicjalizacji zmiennej 'wynik' na 0, kod iteruje przez każdy element tablicy 'tab' przy użyciu pętli for. W każdej iteracji do 'wynik' dodawana jest wartość bieżącego elementu tablicy, co prowadzi do skumulowania wszystkich wartości. Tego typu operacje są powszechnie stosowane w programowaniu, szczególnie w analizie danych, gdzie często zachodzi potrzeba obliczenia sumy, średniej lub innych statystyk na podstawie zebranych danych. Ważne jest również, aby pamiętać o typach danych w JavaScript – elementy tablicy powinny być liczbami, aby suma była poprawna. Zastosowanie tej techniki jest standardem w wielu algorytmach i jest fundamentalne dla zrozumienia bardziej zaawansowanych koncepcji, jak np. funkcje redukujące.

Pytanie 34

Aby wykonać usunięcie tabeli, należy użyć kwerendy

A. DELETE
B. TRUNCATE TABLE
C. UNIQUE
D. DROP TABLE
Poprawna odpowiedź to DROP TABLE, ponieważ jest to standardowa komenda SQL używana do całkowitego usunięcia tabeli z bazy danych. Użycie tej komendy powoduje nie tylko usunięcie samej struktury tabeli, ale również wszystkich danych, które były w niej przechowywane. Przykładowo, jeśli mamy tabelę 'Użytkownicy' i chcemy ją usunąć, piszemy: DROP TABLE Użytkownicy; Należy jednak pamiętać, że po wykonaniu tej operacji nie można odzyskać ani tabeli, ani jej danych, dlatego ważne jest, aby przed takim krokiem wykonać odpowiednie kopie zapasowe lub upewnić się, że dane są już zbędne. W kontekście dobrych praktyk, przed usunięciem tabeli warto przeanalizować wpływ na inne obiekty bazy danych, takie jak klucze obce, które mogą być związane z usuwaną tabelą. Istotne jest również zrozumienie, że DROP TABLE nie można użyć, jeśli w tabeli istnieją aktywne ograniczenia lub jeśli jest ona częścią jakiejś transakcji. W takiej sytuacji, czynności te należy zrealizować w odpowiedniej kolejności, aby uniknąć błędów.

Pytanie 35

W SQL, który jest używany przez bazę danych MySQL w tabeli samochody, aby przypisać wartość 0 do kolumny przebieg, trzeba skorzystać z zapytania

A. UPDATE przebieg SET 0 FROM samochody;
B. UPDATE samochody SET przebieg VALUE 0;
C. UPDATE samochody SET przebieg=0;
D. UPDATE przebieg SET 0 TABLE samochody;
W języku SQL, aby zaktualizować wartość kolumny w tabeli, stosuje się polecenie UPDATE. Poprawna kwerenda 'UPDATE samochody SET przebieg=0;' jest zgodna z syntaksą SQL i oznacza, że dla wszystkich rekordów w tabeli 'samochody' wartość kolumny 'przebieg' zostanie ustawiona na 0. Taka operacja jest szczególnie przydatna w przypadku, gdy chcemy zresetować dane dotyczące przebiegu pojazdów, na przykład po wprowadzeniu nowego pojazdu do bazy danych. Ważne jest, aby pamiętać, że ta kwerenda zmodyfikuje wszystkie rekordy w tabeli, co może być niezamierzonym działaniem, dlatego w praktyce często stosuje się dodatkowe warunki w klauzuli WHERE, aby zaktualizować tylko wybrane wiersze. Przykład kwerendy z warunkiem: 'UPDATE samochody SET przebieg=0 WHERE id=1;' zaktualizuje tylko rekord o identyfikatorze 1. Znajomość składni SQL oraz zrozumienie działania instrukcji UPDATE są kluczowe dla efektywnego zarządzania danymi w bazach danych.

Pytanie 36

Jaką wartość w systemie RGB uzyskamy dla koloru zapisanego w kodzie heksadecymalnym: #1510FE?

A. rgb(21,16,FE)
B. rgb(21,16,254)
C. rgb(21,16,255)
D. rgb(15,10,FE)
Odpowiedź rgb(21,16,254) jest poprawna, ponieważ kolor zapisany w systemie heksadecymalnym #1510FE można rozłożyć na składowe RGB. W kodzie heksadecymalnym każdy z trzech kolorów (czerwony, zielony, niebieski) jest reprezentowany przez dwie cyfry. W przypadku #1510FE, pierwsze dwie cyfry (15) odnoszą się do wartości czerwonej, drugie dwie (10) do wartości zielonej, a ostatnie dwie (FE) do wartości niebieskiej. Te wartości musimy przeliczyć na system dziesiętny: czerwony to 21 (15 w systemie szesnastkowym to 21 w dziesiętnym), zielony to 16 (10 w szesnastkowym to 16 w dziesiętnym), a niebieski to 254 (FE w szesnastkowym to 254 w dziesiętnym). Tak więc końcowy wynik to rgb(21,16,254). W praktyce, znajomość konwersji kolorów jest kluczowa w projektowaniu graficznym, stron internetowych oraz aplikacji, gdzie precyzyjne odwzorowanie kolorów jest niezbędne dla uzyskania poprawnej estetyki i spójności wizualnej. Warto zaznaczyć, że standardy takie jak sRGB są powszechnie stosowane do definiowania kolorów w cyfrowych mediach, co zapewnia zgodność i przewidywalność w różnych urządzeniach wyświetlających te kolory.

Pytanie 37

Którego formatu należy użyć do zapisu zdjęcia z kompresją stratną?

A. PNG
B. JPEG
C. PCX
D. GIF
Format JPEG (Joint Photographic Experts Group) jest powszechnie stosowany do zapisu obrazów z kompresją stratną, co oznacza, że ​​część danych jest usuwana, aby zmniejszyć rozmiar pliku. JPEG jest szczególnie efektywny w przypadku fotografii i obrazów z wieloma kolorami oraz gradientami, gdzie niewielka utrata jakości jest akceptowalna dla użytkowników. Ten format kompresji stratnej działa na zasadzie analizy obrazu i eliminacji informacji, które są mniej zauważalne dla ludzkiego oka, co pozwala na znaczne zmniejszenie rozmiaru pliku. Przykładem zastosowania JPEG jest publikacja zdjęć w sieci, gdzie prędkość ładowania strony ma duże znaczenie. W praktyce format JPEG jest szeroko stosowany w mediach społecznościowych, portalach internetowych i w fotografii cyfrowej, co czyni go jednym z najpopularniejszych formatów graficznych. Dodatkowo, JPEG wspiera różne profile kolorów, co pozwala na lepszą reprezentację kolorystyczną w różnych urządzeniach wyjściowych, takich jak monitory i drukarki, co jest zgodne z najlepszymi praktykami w dziedzinie obróbki obrazu.

Pytanie 38

W HTML, aby dodać obrazek z tekstem umieszczonym pośrodku obrazka, konieczne jest użycie znacznika

A. <img src="obrazek.png" alt="obraz2" align="middle"> tekst
B. <img src="obrazek.png" alt="obraz4"> tekst
C. <img src="obrazek.png" alt="obraz1" hspace="30px"> tekst
D. <img src="obrazek.png" alt="obraz3" height="50%"> tekst
Odpowiedzi, które nie są poprawne, zawierają różne koncepcje i podejścia, które nie spełniają wymogów wyśrodkowania tekstu wokół obrazka. Na przykład, użycie <img src="obrazek.png" alt="obraz3" height="50%"> tekst jest niewłaściwe, ponieważ atrybut height nie wpływa na położenie tekstu w stosunku do obrazka. W rzeczywistości, atrybut ten jedynie zmienia wysokość obrazka, co nie ma związku z umiejscowieniem tekstu. To podejście może prowadzić do błędnych wniosków, że zmiana wymiarów obrazka automatycznie wpływa na układ tekstu, co jest mylne. Z kolei, <img src="obrazek.png" alt="obraz4"> tekst nie zawiera żadnych atrybutów, które mogłyby zdefiniować położenie tekstu, co sprawia, że tekst będzie po prostu wyświetlany obok obrazka, bez jakiejkolwiek kontroli nad jego wyrównaniem. W kontekście nowoczesnych standardów HTML5, brak zastosowania CSS do stylizacji układu nie tylko obniża estetykę strony, ale również nie spełnia oczekiwań dotyczących dostępności. Wiele aplikacji internetowych i stron korzysta z CSS do precyzyjnego zarządzania położeniem elementów, co jest zgodne z zasadami responsywnego projektowania. Użycie atrybutu align z wartością middle w odpowiedzi 2 jest najodpowiedniejszym sposobem na zapewnienie poprawnego wyśrodkowania tekstu, co jest kluczowe w projektowaniu stron internetowych, gdzie zarówno estetyka, jak i funkcjonalność mają duże znaczenie.

Pytanie 39

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45
B. 10 15 20 25 30 35 40 45
C. 0 5 10 15 20 25 30 35 40 45 50
D. 10 15 20 25 30 35 40 45 50
Dobrze zrozumiałeś działanie pętli while w języku PHP. Wybrana przez Ciebie sekwencja liczb (10, 15, 20, 25, 30, 35, 40, 45) jest poprawna. Pętla while, znajdująca się w skrypcie PHP, rozpoczyna działanie od wartości zmiennej, którą określono jako 10 i zwiększa ją o 5 za każdą iteracją, dopóki jej wartość jest mniejsza niż 50. Tak więc, ostatnią wydrukowaną liczbą jest 45, ponieważ w kolejnym kroku wartość zmiennej wynosiłaby już 50, co jest wartością większą od maksymalnej zdefiniowanej w warunku pętli. Zrozumienie działania pętli to klucz do efektywnego programowania, umożliwiającego tworzenie skomplikowanych algorytmów. Dobre praktyki zalecają, aby zawsze dokładnie analizować i rozumieć, jak daną pętle będą interpretowane przez interpreter języka.

Pytanie 40

Które z poniższych stwierdzeń dotyczących klucza głównego jest poprawne?

A. Może przyjmować tylko wartości numeryczne
B. Jest unikalny w obrębie tabeli
C. W tabeli z danymi osobowymi może to być pole z nazwiskiem
D. Składa się wyłącznie z jednego pola
Klucz podstawowy to atrybut lub zestaw atrybutów, który jednoznacznie identyfikuje każdy rekord w tabeli bazy danych. Najważniejszym wymogiem jest, aby klucz podstawowy był unikalny dla każdego wiersza, co oznacza, że nie może być powtórzony w obrębie tej samej tabeli. Przykładem może być numer identyfikacyjny (np. PESEL, NIP) przypisany do konkretnej osoby, który gwarantuje, że każda osoba w tabeli danych osobowych jest jednoznacznie identyfikowalna. Stosowanie kluczy podstawowych jest zgodne z zasadami normalizacji baz danych, co pozwala na minimalizację redundancji danych oraz poprawę integralności danych. Klucz podstawowy może składać się z jednego lub więcej pól, co daje elastyczność w projektowaniu bazy danych, aby pasowała do specyficznych potrzeb aplikacji. Dobre praktyki wskazują, że klucz podstawowy powinien być stabilny, czyli nie zmieniać się w czasie, oraz prosty do zaimplementowania i używania w zapytaniach SQL.