Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 12:01
  • Data zakończenia: 8 czerwca 2026 12:19

Egzamin zdany!

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

Jak system CMS realizuje oddzielenie treści serwisu od jego wyglądu?

A. treść z bazy danych, a wygląd za pomocą atrybutów HTML
B. treść ze statycznych plików HTML, a wygląd we Flashu
C. treść ze statycznych plików HTML, a wygląd ze szablonu
D. treść generuje z bazy danych, a wygląd ze zdefiniowanego szablonu
Istotą CMS jest rozdział treści (baza) i wyglądu (szablon). Warianty z treścią w statycznych plikach HTML przeczą dynamicznemu zarządzaniu treścią. Wygląd nie powstaje z atrybutów HTML ani we Flashu (technologia przestarzała), lecz z szablonu. CMS generuje treść z bazy danych, a wygląd ze zdefiniowanego szablonu.

Pytanie 2

Pole kolor w tabeli samochody może mieć wartości tylko ze słownika lakier. Która kwerenda ustanowi tę relację?

A.
ALTER TABLE samochody
ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
B.
ALTER TABLE samochody
ADD FOREIGN KEY kolor REFERENCES lakier;
C.
ALTER TABLE samochody
ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
D.
ALTER TABLE samochody
ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
Pozostałe zapisy są błędne. Brak nawiasu wokół kolumny (FOREIGN KEY kolor) jest niepoprawny składniowo. Warianty z barwa wskazują nieistniejącą kolumnę, a odwołania samochody.lakier czy samochody(kolor) kierują do złej tabeli. Poprawne jest ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId).

Pytanie 3

W języku CSS wprowadzone zostało następujące formatowanie:

h1 i {color:red;}
Kolor czerwony będzie stosowany do
A. całego tekstu nagłówka pierwszego stopnia oraz całego tekstu pochylonego, niezależnie od lokalizacji na stronie
B. całego tekstu nagłówka pierwszego stopnia oraz tekstu pochylonego w akapicie
C. tylko tekstu pochylonego nagłówka pierwszego poziomu
D. wyłącznie pochylonego tekstu w każdym rodzaju nagłówka
W języku CSS, zapis 'h1 i {color:red;}' wskazuje na regułę stylowania, która dotyczy elementów 'i' znajdujących się wewnątrz nagłówka pierwszego stopnia 'h1'. W związku z tym, tylko tekst, który jest oznaczone jako pochylony (italic) w obrębie h1, zostanie wyświetlony na czerwono. W CSS, selektor 'h1 i' jest przykładem selektora potomka, który działa na zasadzie dziedziczenia stylów przez elementy znajdujące się w danym kontekście. Przykładowo, skoro element 'i' jest bezpośrednio związany z 'h1', to tylko tekst w tym elemencie zyska czerwony kolor. W praktyce, jeśli w nagłówku pierwszego stopnia mamy tekst 'To jest nagłówek <i>pochylony</i>', to jedynie słowo 'pochylony' będzie czerwone, podczas gdy pozostała część nagłówka pozostanie w domyślnym kolorze. Tego typu stylizacje są zgodne z standardami CSS, które promują modularność i precyzyjność w określaniu stylów dla różnych elementów dokumentu.

Pytanie 4

Która z poniższych funkcji zdefiniowanych w języku PHP oblicza sumę połowy wartości a i połowy wartości b?

A. function licz($a, $b) {return $a/2 + $b/2;}
B. function licz($a, $b) {return $a/2 + $b;}
C. function licz($a, $b) {return 2/$a + 2/$b;}
D. function licz($a, $b) {return ($a/2 + $b)/2;}
Podczas analizy niepoprawnych odpowiedzi warto zauważyć, że niektóre z nich zawierają błędy w logice obliczeń. W pierwszej nieprawidłowej opcji funkcja zwraca sumę połowy a oraz pełnej wartości b. Takie podejście nie spełnia założenia pytania, które zakłada zwrócenie sumy połowy obu wartości. Koncepcja ta sugeruje nieporozumienie dotyczące operacji arytmetycznych i ich właściwego zastosowania. W drugiej przedstawionej odpowiedzi, operator '/' został użyty w niewłaściwy sposób, co prowadzi do całkowicie błędnego wyniku. Zamiast obliczać sumę połowy a i połowy b, funkcja ta nie tylko zmienia logikę obliczeń, ale również wprowadza potencjalne błędy zaokrągleń, które mogą wpływać na wynik końcowy. Ostatnia niepoprawna opcja wykazuje błędne zrozumienie pojęcia średniej, ponieważ dzieli sumę połowy a i b przez 2, co nie jest zgodne z wymaganym pytaniem. Wspólnym błędem we wszystkich tych przypadkach jest ignorowanie podstawowych zasad dotyczących operacji arytmetycznych i ich zastosowania w kontekście funkcji. To podkreśla znaczenie dokładnego zrozumienia problemu przed przystąpieniem do jego rozwiązania.

Pytanie 5

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. zostanie usunięty po jednym dniu od jego utworzenia.
B. będzie przechowywany na serwerze przez jeden dzień.
C. zostanie usunięty po jednej godzinie od jego utworzenia.
D. będzie przechowywany na serwerze przez jedną godzinę.
Widzę, że pomyślałeś, że plik cookie będzie trzymany na serwerze. To nie tak, bo wszystkie pliki cookie są przechowywane na komputerze użytkownika, a nie na serwerze. Serwer tylko korzysta z tych cookies, żeby wiedzieć, kto jest użytkownikiem i jak zarządzać sesjami. Kolejna sprawa – niektórzy myślą, że cookie wygasa po godzinie. Ale to nieprawda, bo w PHP argument wygaszenia to 3600 * 24, czyli 86400 sekund, co daje jeden dzień, a nie tylko godzinę. Te nieporozumienia mogą wynikać z braku zrozumienia funkcji setcookie() i tego, jak działają pliki cookie w webowych aplikacjach. Dobrze jest to wiedzieć, by tworzyć lepsze i bezpieczniejsze aplikacje.

Pytanie 6

Jaką kwerendę w bazie MariaDB należy zastosować, aby wybrać artykuły z cenami mieszczącymi się w zakresie obustronnie domkniętym <10, 20>?

A. SELECT * FROM Artykuly WHERE Cena LIKE 1%, 2%
B. SELECT * FROM Artykuly WHERE Cena > 10 AND Cena < 20
C. SELECT * FROM Artykuly WHERE Cena IN (10, 20)
D. SELECT * FROM Artykuly WHERE Cena BETWEEN 10 AND 20
Odpowiedź ta jest prawidłowa, ponieważ wykorzystuje operator BETWEEN, który jest idealnym narzędziem do określenia przedziału wartości w bazie danych. W przypadku tego zapytania, operator BETWEEN obejmuje wszystkie wartości z przedziału obustronnie domkniętego od 10 do 20, co oznacza, że zostaną uwzględnione zarówno wartości 10 jak i 20. Tego typu zapytanie jest niezwykle przydatne w praktyce, gdy chcemy szybko wyselekcjonować dane spełniające określone kryteria. Wartością dodaną stosowania BETWEEN jest oszczędność czasu i zwiększenie czytelności zapytań, co jest zgodne z zasadami dobrych praktyk w programowaniu SQL. Przykładem zastosowania może być sytuacja, gdy w firmie potrzebujemy analizować sprzedaż produktów w określonym przedziale cenowym, aby ocenić efektywność promocji. Dzięki temu rozwiązaniu możemy szybko i efektywnie uzyskać potrzebne dane, co ułatwia podejmowanie decyzji biznesowych.

Pytanie 7

Jakie parametry powinny być ustawione w funkcji biblioteki mysqli, aby umożliwić połączenie z serwerem oraz bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
B. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
C. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
D. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
Odpowiedź jest poprawna, ponieważ w funkcji biblioteki mysqli_connect, która służy do nawiązywania połączenia z serwerem MySQL, argumenty mają określoną strukturę. Pierwszym argumentem ($a) jest adres serwera, na którym działa usługa MySQL. Może to być adres IP, np. '127.0.0.1', lub nazwa hosta, np. 'localhost'. Drugim argumentem ($b) jest login, czyli nazwa użytkownika, który ma dostęp do bazy danych. Trzecim argumentem ($c) jest hasło do konta użytkownika, natomiast czwartym argumentem ($d) jest nazwa bazy danych, z którą chcemy się połączyć. Przykładowe użycie tej funkcji może wyglądać następująco: $conn = mysqli_connect('localhost', 'root', 'password', 'my_database');. Prawidłowe ustawienie tych zmiennych zapewnia udane połączenie z serwerem i dostęp do danych. W standardach programowania PHP ważne jest również odpowiednie zarządzanie błędami, co zapewnia użycie 'or die()' w kodzie, aby informować o problemach z połączeniem. To podejście pozwala na szybką diagnostykę problemów w środowisku produkcyjnym.

Pytanie 8

Który kod HTML zapewni identyczny efekt formatowania jak na przedstawionym obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML
A. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
B. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> 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 </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
Odpowiedź numer 2 jest poprawna, ponieważ używa odpowiednich znaczników HTML do formatowania tekstu. Znacznik <i> stosowany jest do oznaczania tekstu kursywą, a znacznik <b> do pogrubienia. W tym przypadku tekst 'paragrafie' i 'sposoby formatowania' są otoczone znacznikiem <i>, co zgodnie z HTML oznacza kursywę. Natomiast słowo 'zobaczysz' jest otoczone zarówno <b> jak i <i>, co skutkuje pogrubieniem i kursywą jednocześnie. Taka struktura jest zgodna z konwencją hierarchii znaczników, która mówi, że znaczniki mogą być zagnieżdżane, aby uzyskać różne efekty formatowania. HTML pozwala na takie zagnieżdżanie, co jest częścią elastyczności tego języka w prezentowaniu treści. Dobrą praktyką jest także zapewnienie dostępności, gdzie znaczniki semantyczne mają szczególne znaczenie. Wykorzystanie <b> i <i> zamiast odpowiednio <strong> i <em> jest bardziej stylistyczne niż semantyczne, co ma swoje uzasadnienie w kontekście projektowym, ale w nowoczesnych praktykach powinno się również rozważyć znaczenie semantyczne i używać <strong> i <em> dla lepszego zrozumienia przez czytniki ekranowe.

Pytanie 9

Jakie wyniki zostaną wyświetlone po wykonaniu podanej w ramce kwerendy SQL SELECT na tabeli pracownicy, która zawiera rekordy?

idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
SELECT SUM(pensja) FROM pracownicy WHERE pensja > 4000;
A. Kwota 5400, co oznacza najwyższą pensję wśród pracowników
B. Kwota 19500, czyli suma wszystkich pensji zatrudnionych
C. Kwota 10000, co stanowi sumę pensji pracowników o id=4 i id=6
D. Dwie kwoty: 4600 oraz 5400, jako wynagrodzenia pracowników przekraczające 4000
Błędne zrozumienie zapytania SQL może wynikać z pominięcia szczegółów w klauzuli WHERE. Funkcja SUM w połączeniu z WHERE służy do zliczania tylko tych wartości, które spełniają określony warunek. W tym przypadku analizujemy pensje większe niż 4000. Mylną interpretacją byłoby bezkrytyczne założenie, że funkcja SUM zlicza wszystkie wartości w kolumnie, co prowadzi do niepoprawnego wniosku o sumie wszystkich pensji. Innym typowym błędem jest zakładanie, że zwracane zostaną konkretne wartości pensji, co wskazuje na brak zrozumienia działania funkcji agregujących, które zwracają jedną wartość wynikową, jak suma czy średnia. Powszechnym błędem jest ignorowanie zastosowania klauzuli WHERE, co prowadzi do błędnych interpretacji danych. Wiedza o tym, jak filtrować dane przed ich agregacją, jest kluczowa w skutecznej analizie danych. Zrozumienie roli klauzuli WHERE oraz funkcji agregujących, jak SUM, MAX, MIN, pozwala na tworzenie bardziej precyzyjnych i efektywnych raportów, co jest niezbędne w praktykach biznesowych i IT. Prawidłowe rozumienie tych konceptów jest nieodzowne w pracy z dużymi zbiorami danych i przy podejmowaniu decyzji opartych na danych.

Pytanie 10

W języku SQL wykonano przedstawione poniżej polecenia GRANT. Kto będzie miał prawo do przeglądania danych oraz ich zmiany?

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@localhost;
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tomasz i Adam
B. Adam i Anna
C. Jedynie Tomasz
D. Anna i Tomasz
Odpowiedź 'Tomasz i Adam' jest poprawna, ponieważ obaj użytkownicy mają przypisane odpowiednie uprawnienia do przeglądania oraz modyfikacji danych w bazie 'firmy'. Adam otrzymał pełne uprawnienia, co oznacza, że może przeglądać (SELECT) oraz modyfikować (INSERT, UPDATE, DELETE) dane, a także zmieniać strukturę tabel (ALTER, CREATE, DROP). Tomasz, z kolei, ma przydzielone szczegółowe uprawnienia do przeglądania danych (SELECT) oraz ich modyfikacji (INSERT, UPDATE). W praktyce, przydzielanie uprawnień w bazach danych odbywa się zgodnie z zasadą minimalnych uprawnień, co oznacza, że każdy użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do realizacji przydzielonych zadań. Dobrą praktyką jest regularna weryfikacja przydzielonych uprawnień oraz ich dostosowywanie do zmieniających się potrzeb organizacji.

Pytanie 11

Który zapis znacznika hr jest poprawny zgodnie z walidacją HTML5?

A.
</ hr>
B.
</ hr />
C.
</hr?>
D.
<hr>
<hr> to element PUSTY (void), więc poprawny zapis to po prostu <hr> - bez znacznika zamykającego i bez ukośnika (w HTML5 <hr/> jest zbędny). Dlatego poprawny jest <hr>.

Pytanie 12

Do czego służy pole insert_id z biblioteki MySQLi w PHP?

A. do pobrania najwyższego indeksu bazy do inkrementacji
B. do uzyskania id ostatnio wstawionego wiersza
C. do pobrania pierwszego wolnego indeksu
D. do uzyskania kodu błędu nieudanego wstawienia
insert_id dotyczy udanego wstawienia, a nie kodu błędu (od tego są errno/error). Nie pobiera też „pierwszego wolnego” ani „najwyższego” indeksu z góry - zwraca konkretny id WSTAWIONEGO właśnie rekordu. To id ostatnio wstawionego wiersza.

Pytanie 13

Prawa CREATE, ALTER, DROP nadane w GRANT dotyczą:

A. pobierania danych z bazy
B. przyznawania uprawnień innym
C. pracy ze STRUKTURĄ bazy
D. pracy z danymi
Pozostałe opcje dotyczą innych grup poleceń. Praca z DANYMI (wstawianie, zmiana, usuwanie rekordów) to DML (INSERT, UPDATE, DELETE), a pobieranie danych to SELECT. Przyznawanie uprawnień innym to DCL (GRANT, REVOKE). CREATE, ALTER i DROP dotyczą struktury bazy.

Pytanie 14

Wskaźnik HTML, który umożliwia oznaczenie tekstu jako błędnego lub nieodpowiedniego poprzez jego przekreślenie, to jaki?

A. <u> </u>
B. <em> </em>
C. <s> </s>
D. <b> </b>
Element <s> w HTML służy do oznaczania tekstu jako nieaktualnego, błędnego albo już nieobowiązującego poprzez jego przekreślenie. Przeglądarka domyślnie renderuje taki fragment z poziomą linią przez środek tekstu. W praktyce używa się go np. przy cenach promocyjnych: <p>Stara cena: <s>199 zł</s> Nowa cena: 149 zł</p> albo przy korektach treści, kiedy chcemy pokazać, że coś zostało zmienione, ale wciąż widoczne jest, co było wcześniej. Warto wiedzieć, że historycznie do podobnych celów używano też <strike>, ale ten znacznik jest przestarzały (deprecated) w standardzie HTML i nie powinien być już stosowany. Moim zdaniem lepiej od razu przyzwyczajać się do poprawnych, aktualnych tagów, bo to się później opłaca przy większych projektach. W nowszych specyfikacjach HTML5 zaleca się stosowanie <s> właśnie do treści nieaktualnych, ale nie takich, które zostały formalnie wycofane – do tego jest znacznik <del>, który dodatkowo semantycznie wskazuje usunięcie fragmentu, często używany w systemach kontroli wersji treści. Z mojego doświadczenia warto rozróżniać <s>, <del> i <ins>, bo w połączeniu z CSS i narzędziami do dostępności (np. czytnikami ekranu) daje to lepszą semantykę dokumentu. Dobrą praktyką jest też nie nadużywać przekreśleń tylko dla „efektu wizualnego” – jeśli chcesz coś tylko wyróżnić graficznie, lepiej użyć CSS, a znaczników semantycznych używać zgodnie z ich przeznaczeniem.

Pytanie 15

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. obliczyć sumę wszystkich elementów tablicy
C. dodać do każdego elementu tablicy ustaloną wartość
D. wyświetlić wszystkie elementy tablicy
Wybór odpowiedzi dotyczącej wprowadzenia aktualnej wartości zmiennej i do każdego elementu tablicy jest mylny, ponieważ kod nie wykonuje takiej operacji. W rzeczywistości, zmienna 'i' jest jedynie wskaźnikiem iteracji w pętli i nie jest modyfikowana w żaden sposób w kontekście wartości elementów tablicy. Kolejna odpowiedź sugerująca wyświetlenie wszystkich elementów tablicy jest również błędna, ponieważ w kodzie nie pojawia się żadna operacja wyświetlająca. W języku JavaScript, aby wyświetlić elementy tablicy, używalibyśmy np. funkcji console.log() lub innej metody interakcji z użytkownikiem. Odpowiedź mówiąca o dodawaniu stałej wartości do każdego elementu tablicy odnosi się do innej operacji matematycznej, która nie znajduje odzwierciedlenia w podanym kodzie. W rzeczywistości, dodawanie stałej wartości wymagałoby zdefiniowania tej wartości oraz zmodyfikowania sposobu, w jaki elementy tablicy są przetwarzane. Typowe błędy myślowe przy analizie kodu mogą wynikać z nieprecyzyjnego zrozumienia, co każda linia kodu rzeczywiście wykonuje, a także z braku znajomości podstawowych operacji na tablicach, co prowadzi do błędnych wniosków. Zrozumienie, co dokładnie robi dany fragment kodu, jest kluczowe dla efektywnego programowania i unikania takich nieporozumień.

Pytanie 16

W języku HTML, aby uzyskać następujący efekt formatowania
pogrubiony pochylony lub w górnym indeksie
należy zapisać kod:

A. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
B. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
C. <b>pogrubiony <i>pochylony</i></b> lub w <sup>górnym indeksie</sup>
D. <i>pogrubiony </i><b>pochylony </b>lub w <sub>górnym indeksie</sub>
Odpowiedź, w której użyłeś znaczników <b> i <i> w odpowiednich miejscach, jest całkiem dobra. Znak <b> jest świetny do pogrubiania tekstu, co przydaje się, gdy chcesz podkreślić coś ważnego. Natomiast <i> pozwala na pochylanie tekstu, co dodaje mu charakteru i może sugerować cytaty czy tytuły. Co ciekawe, znacznik <sup> stosujemy, gdy chcemy pokazać górny indeks, np. przy potęgach czy jednostkach miar. Przykład takiego użycia byłby taki: <b>Waga</b> <i>w kilogramach</i> wynosi <sup>2</sup> dla dwóch jednostek. Jak widać, stosowanie HTML w odpowiedni sposób pozwala robić czytelne i estetyczne prezentacje, co jest zgodne z dobrymi praktykami w web designie oraz standardami W3C. Warto też pamiętać, że dobrze dobrane znaczniki mają znaczenie nie tylko wizualne, ale także pomagają w indeksowaniu treści przez wyszukiwarki, co z kolei wpływa na SEO.

Pytanie 17

W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę

A. UPDATE artykuly SET nowy = TRUE;
B. INSERT INTO artykuly VALUE nowy = TRUE;
C. INSERT INTO nowy FROM artykuly SET TRUE;
D. UPDATE nowy FROM artykuly VALUE TRUE;
W tym zadaniu kluczowe jest zrozumienie różnicy między poleceniami UPDATE i INSERT w SQL oraz poprawnej składni tych instrukcji. Chodzi o modyfikację istniejących rekordów w tabeli artykuly, a nie o dodawanie nowych wierszy. To jest taki typowy błąd początkujących: pomieszanie operacji wstawiania danych z operacją ich aktualizacji. Jeśli tabela już zawiera dane i chcemy zmienić wartość w konkretnej kolumnie dla wszystkich wierszy, zawsze sięgamy po UPDATE.
Instrukcje wykorzystujące INSERT, typu INSERT INTO artykuly VALUE nowy = TRUE; czy INSERT INTO nowy FROM artykuly SET TRUE;, są niepoprawne składniowo i logicznie. INSERT służy do dodawania nowych rekordów, czyli tworzenia kolejnych wierszy w tabeli. Poprawny wzorzec wygląda mniej więcej tak: INSERT INTO artykuly (kolumna1, kolumna2) VALUES (wartość1, wartość2);. Nie aktualizuje on istniejących pól, tylko dokłada nowe rekordy. Gdybyśmy próbowali użyć INSERT do „ustawienia” kolumny nowy, to w rzeczywistości tworzyliśmy nowe wiersze, a stare rekordy pozostałyby nietknięte, co jest sprzeczne z treścią pytania.
Z kolei konstrukcje w rodzaju UPDATE nowy FROM artykuly VALUE TRUE; przypominają czasem składnię innych języków lub narzędzi, ale nie są poprawnym SQL-em. Standard SQL wymaga, żeby po słowie UPDATE pojawiła się nazwa tabeli, a po SET lista kolumn i przypisanych im wartości. Nie ma tu słów kluczowych FROM i VALUE w takiej kombinacji. FROM bywa używane w bardziej zaawansowanych UPDATE’ach, np. w PostgreSQL, ale w formie UPDATE tabela1 SET kolumna = coś FROM tabela2 WHERE warunek; – czyli z zupełnie inną logiką i strukturą.
Typowy błąd myślowy polega też na tym, że ktoś próbuje tłumaczyć składnię SQL „na polski” i układa komendy w stylu „INSERT INTO nowy FROM artykuly SET TRUE”, bo brzmi to logicznie w języku naturalnym. Niestety, SQL jest językiem ściśle zdefiniowanym, z bardzo konkretną kolejnością słów kluczowych. Standardowe podejście branżowe jest takie: jeśli modyfikujesz wartości w istniejących wierszach – używasz UPDATE; jeśli dodajesz nowe wiersze – używasz INSERT. Dobrą praktyką jest też najpierw napisać SELECT, który wybiera dokładnie te rekordy, które chcesz zmienić, a dopiero potem na jego podstawie zbudować UPDATE z odpowiednim SET i ewentualnym WHERE. Dzięki temu unikasz przypadkowego uszkodzenia danych.

Pytanie 18

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

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

Pytanie 19

W podanym fragmencie zapytania w języku SQL, komenda SELECT jest używana do zwrócenia SELECT COUNT(wartosc) FROM …

A. średniej w kolumnie wartosc
B. ilości wierszy
C. średniej wartości z tabeli
D. summy w kolumnie wartosc
Tak, masz rację! To zapytanie zwraca liczbę wierszy. Użycie funkcji COUNT w SQL jest jakby liczeniem, ile jest niepustych wartości w danej kolumnie. Kiedy piszemy coś takiego jak SELECT COUNT(wartosc) FROM ..., to ta funkcja sprawdza, ile wierszy ma coś w kolumnie 'wartosc'. Przykładowo, w tabeli z danymi sprzedażowymi, kolumna 'wartosc' może mieć wszystkie wartości transakcji. To zapytanie pokaże nam, ile transakcji się odbyło, co jest super przydatne, gdy analizujemy biznes. Funkcja COUNT jest szalenie popularna, bo daje nam jasny obraz tego, co się dzieje w naszych danych. A jeśli zamiast COUNT(wartosc) zrobimy COUNT(*), to dostaniemy ogólną liczbę wszystkich wierszy, niezależnie od tego, czy coś w nich jest, co może być też przydatne, gdy chcemy ogarnąć całą tabelę.

Pytanie 20

Który plik konfiguracyjny pozwala ustawić parametry PHP dla całego serwera?

A.
httpd.conf
B.
config.inc.php
C.
my.ini
D.
php.ini
Pozostałe pliki konfigurują inne oprogramowanie. my.ini to plik ustawień serwera bazodanowego MySQL (w systemach Windows), niezwiązany z PHP. httpd.conf to główna konfiguracja serwera WWW Apache - steruje samym serwerem, a nie interpreterem PHP. config.inc.php to plik konfiguracyjny konkretnej aplikacji napisanej w PHP (np. phpMyAdmin), a nie globalnych ustawień języka. Parametry PHP dla całego serwera ustawia php.ini, dlatego ta odpowiedź jest poprawna.

Pytanie 21

Aby pobrać dane (rekordy) z tabeli w bazie danych, należy użyć polecenia:

A.
SELECT
B.
GRANT
C.
CREATE
D.
INSERT
Do pobierania danych z tabel służy polecenie SELECT. Wskazuje się w nim kolumny i tabelę, a opcjonalnie warunki (WHERE), sortowanie (ORDER BY) czy złączenia. Przykładowo SELECT imie, nazwisko FROM klienci zwróci wybrane kolumny wszystkich klientów. To najczęściej używane zapytanie w pracy z bazą. Dlatego do odczytu rekordów z tabeli stosuje się SELECT.

Pytanie 22

Czego użyć, aby zbadać ROZKŁAD ILOŚCIOWY kolorów (jasności) na zdjęciu?

A. balansu kolorów
B. rozmycia Gaussa
C. desaturacji
D. histogramu
Pozostałe pojęcia to operacje EDYCJI obrazu, a nie analizy. Desaturacja odbiera nasycenie (szarość), balans kolorów zmienia proporcje barw, a rozmycie Gaussa wygładza obraz - żadne z nich nie pokazuje rozkładu. Rozkład ilościowy jasności obrazuje histogram.

Pytanie 23

W tabeli Recepta pola Imię oraz Nazwisko odnoszą się do pacjenta, dla którego recepta została wystawiona. Jaką kwerendę należy wykorzystać, aby dla wszystkich recept uzyskać datę ich wystawienia oraz imię i nazwisko lekarza, który je wystawił?

Ilustracja do pytania
A. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta
B. SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
C. SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id
D. SELECT Imie, Nazwisko, DataWystawienia FROM Recepta
Patrząc na inne odpowiedzi, widzę, że sporo osób ma problem z rozumieniem relacji między tabelami w bazach danych. W tym przypadku, kluczowe jest korzystanie z JOIN, żeby połączyć dane z Recepty i Lekarza. Kiedy ktoś nie używa tej klauzuli, no to nie ma jak prawidłowo powiązać lekarza z datą wystawienia recepty, co jest wymagane. Jeżeli kwerenda się ogranicza do jednej tabeli, to niestety nie dostaniesz wszystkich potrzebnych informacji. No i musisz pamiętać, że Imie i Nazwisko dotyczą lekarza, a nie pacjenta. Zrozumienie, jak działa klucz obcy (Lekarz_id) w Recepta to kluczowa sprawa. Właściwe skonstruowanie kwerendy polega na połączeniu tych danych przez JOIN – to podstawa, jak chcesz zarządzać bazami danych. Umiejętności w SQL są naprawdę niezbędne w wielu technicznych zawodach, a złe zapytania mogą skutkować błędnymi wynikami, co w pracy może mieć poważne konsekwencje. Myślę, że warto dobrze zrozumieć, jak te relacje działają.

Pytanie 24

W języku PHP instrukcja foreach jest rodzajem

A. pętli, przeznaczonej wyłącznie dla elementów tablicy
B. instrukcji warunkowej, niezależnie od typu zmiennej
C. instrukcji wyboru, dla elementów tablicy
D. pętli, niezależnie od rodzaju zmiennej
Trochę mylne jest stwierdzenie, że <i>foreach</i> to pętla, która może działać na każdej zmiennej. W rzeczywistości <i>foreach</i> jest ściśle związana z tablicami. Jak spróbujesz użyć jej na zmiennej, która nie jest tablicą, to dostaniesz błąd. I nie ma co mówić, że <i>foreach</i> to instrukcja warunkowa, bo to też nieprawda. Instrukcje warunkowe, jak <i>if</i>, podejmują decyzje, a <i>foreach</i> jest do tego, żeby iterować. I to, co ktoś napisał o pętli wyboru, też wprowadza w błąd. Pętle jak <i>for</i> czy <i>while</i> powtarzają kod na podstawie warunków, a <i>foreach</i> to po prostu iteracja po elementach tablicy. Tak że tu ważne jest, żeby nie mylić pętli iteracyjnych z warunkowymi oraz rozumieć, gdzie można używać <i>foreach</i>, bo jak się tego nie zrozumie, to mogą być problemy w programowaniu w PHP i można nie wykorzystać dostępnych narzędzi jak trzeba.

Pytanie 25

Jakiego wyniku można się spodziewać po wykonaniu zapytania na przedstawionej tabeli?

SELECTCOUNT(DISTINCT wykonawca)
FROM`muzyka`;
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzesław Niemen2005Przyjdź W Taka Noc itp.
2IkonaStan Borys2014
3AerolitCzesław Niemen2017Winylowa reedycja płyty "Aerolit"
4JourneyMikołaj Czechowski2013
A. 3
B. 4
C. 1
D. 0
Zapytanie SELECT COUNT(DISTINCT wykonawca) FROM muzyka; ma na celu zliczenie unikalnych wykonawców w tabeli muzyka. Kluczowym błędem jest brak zrozumienia działania funkcji DISTINCT która eliminuje duplikaty i pozwala na zliczenie jedynie różniących się wartości. Należy zatem odrzucić wszelkie odpowiedzi sugerujące liczbę większą niż 3 ponieważ w tabeli są obecne tylko trzy unikalne wartości w kolumnie wykonawca: Czesław Niemen Stan Borys oraz Mikołaj Czechowski. Często popełnianym błędem jest mylne założenie że każda unikalna wartość w konkretnej kolumnie powinna być liczona wielokrotnie co odbiega od celu analizy unikalności danych. W kontekście administracji bazami danych i analizy SQL zrozumienie funkcji DISTINCT jest kluczowe dla dokładności raportowania i optymalizacji wydajności zapytań. Wiedza o tym jak działa COUNT w połączeniu z DISTINCT pomaga w skutecznym projektowaniu zapytań w celu uzyskania dokładnych wyników. Zastosowanie tej wiedzy jest niezbędne w analizie danych biznesowych i przy tworzeniu precyzyjnych raportów dla różnych interesariuszy. Poprawne zrozumienie i implementacja tego mechanizmu wspiera efektywne zarządzanie danymi i podejmowanie decyzji opartych na faktach. Przygotowanie do egzaminu powinno obejmować praktyczne zastosowanie tych koncepcji co ułatwi ich intuicyjne wykorzystanie w sytuacjach zawodowych.

Pytanie 26

Interpreter PHP zwróci błąd i zaniecha wykonania kodu, jeżeli programista

A. będzie definiował zmienne w obrębie warunku
B. nie umieści średnika po wyrażeniu w instrukcji if, jeśli za nim znajduje się sekcja else
C. pobierze wartość z formularza, w którym pole input nie zostało wypełnione
D. będzie tworzył kod bez odpowiednich wcięć
Pojęcie wcięć w kodzie PHP ma charakter stylistyczny, a nie składniowy, co sprawia, że nie są one wymagane do poprawnego działania kodu. PHP nie wymaga wcięć, aby zrozumieć logikę programu, co oznacza, że kod bez wcięć będzie działał poprawnie, chociaż może być trudniejszy do odczytania. Deklaracja zmiennych wewnątrz warunków również nie prowadzi do błędów. Możliwość deklarowania zmiennych w każdej instrukcji warunkowej jest zgodna z zasadami języka PHP, a zmienne te są lokalne dla danego zakresu, co jest zgodne z dobrymi praktykami programistycznymi. Co do pobierania wartości z formularzy, nawet jeśli pole input nie zostało wypełnione, PHP nie zgłasza błędów, lecz zwraca wartość null lub pusty ciąg, co jest normalnym zachowaniem. Typowe błędy myślowe przy podejmowaniu decyzji o tym, co może powodować błędy w PHP, często wynikają z braku zrozumienia różnicy między błędami składniowymi a błędami logicznymi. Błędy składniowe są związane z niepoprawnym formatowaniem kodu, podczas gdy błędy logiczne mogą występować w wyniku niepoprawnej logiki działania programu. Dlatego ważne jest, aby dokładnie rozumieć zasady działania języka i jego składni, aby uniknąć frustracji w procesie tworzenia aplikacji.

Pytanie 27

W tabeli programiści znajdują się kolumny: id, nick, ilosc_kodu, ocena. W kolumnie ilosc_kodu zapisano liczbę linii kodu, które programista napisał w danym miesiącu. Jakie zapytanie umożliwi obliczenie całkowitej liczby linii kodu stworzonych przez wszystkich programistów?

A. SELECT MAX(ilosc_kodu) FROM programisci
B. SELECT COUNT(programisci) FROM ilosc_kodu;
C. SELECT SUM(ocena) FROM ilosc_kodu;
D. SELECT SUM(ilosc_kodu) FROM programisci;
Poprawna odpowiedź to 'SELECT SUM(ilosc_kodu) FROM programisci;'. To polecenie wykorzystuje funkcję agregującą SUM, która sumuje wartości w kolumnie 'ilosc_kodu' dla wszystkich wpisów w tabeli 'programisci'. Jest to najbardziej odpowiednia metoda do obliczenia całkowitej liczby linii kodu napisanych przez wszystkich programistów w danym miesiącu. Funkcje agregujące, takie jak SUM, COUNT, AVG, MAX czy MIN, są kluczowe w SQL, ponieważ pozwalają na efektywne przetwarzanie danych i uzyskiwanie podsumowań na podstawie określonych kryteriów. Dobrą praktyką jest również używanie jednoznacznych aliasów w zapytaniach oraz dbanie o czytelność kodu, co ułatwia jego późniejsze modyfikacje oraz utrzymanie. Przykładowo, można rozszerzyć zapytanie o dodatkowe filtry, aby obliczyć sumę linii tylko dla programistów o określonej ocenie, używając klauzuli WHERE. Tego typu umiejętności są niezbędne w codziennej pracy analityka danych, programisty lub administratora baz danych, gdzie przetwarzanie informacji w sposób efektywny i zrozumiały ma kluczowe znaczenie dla podejmowania decyzji biznesowych.

Pytanie 28

Która rozdzielczość daje proporcje obrazu 16:9 (przy kwadratowym pikselu)?

A. 320 × 240
B. 2560 × 2048
C. 800 × 480
D. 1366 × 768
Proporcje obrazu to stosunek szerokości do wysokości; dla 16:9 wynosi on 16/9 ≈ 1,78. Wystarczy podzielić liczbę pikseli poziomych przez pionowe: 1366 / 768 ≈ 1,78, więc ta rozdzielczość jest panoramiczna 16:9 (typowa dla ekranów laptopów i telewizorów HD). Dlatego proporcje 16:9 daje 1366 × 768.

Pytanie 29

Podane w ramce polecenie SQL nadaje prawo SELECT

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich pól w tabeli hurtownia.
B. dla użytkownika 'root' na serwerze localhost.
C. dla użytkownika 'root' na serwerze sprzedawca.
D. do wszystkich tabel w bazie hurtownia.
To polecenie GRANT jest typowym przykładem, gdzie drobny szczegół składni całkowicie zmienia znaczenie. Wiele osób intuicyjnie myśli, że skoro pojawia się nazwa hurtownia, to chodzi o tabelę o takiej nazwie, albo że skoro często pracuje się na koncie root, to uprawnienia dotyczą właśnie jego. Tutaj jednak kluczowe są dwie rzeczy: zapis hurtownia.* oraz dokładna forma 'sprzedawca'@'localhost'.
W MySQL konstrukcja nazwa_bazy.* jednoznacznie oznacza całą bazę danych, czyli wszystkie tabele znajdujące się w tej bazie. Gwiazdka nie oznacza „wszystkich pól w tabeli”, jak w SELECT * FROM tabela; tylko „wszystkie obiekty danego typu w tym kontekście”, czyli w tym wypadku wszystkie tabele w bazie hurtownia. Błąd myślowy bierze się stąd, że ludzie przenoszą swoje skojarzenia z SELECT * na GRANT, a to są jednak różne miejsca w składni SQL.
Jeśli chcielibyśmy nadać uprawnienie tylko do jednej tabeli, używamy zapisu nazwa_bazy.nazwa_tabeli, bez gwiazdki. Na przykład GRANT SELECT ON hurtownia.klienci TO 'sprzedawca'@'localhost'; dotyczyłoby tylko tabeli klienci. Wtedy dopiero można by mówić o dostępie do wszystkich pól w tej konkretnej tabeli, bo SELECT z założenia domyślnie widzi wszystkie kolumny, chyba że zastosujemy uprawnienia na poziomie kolumn, co jest już bardziej zaawansowanym tematem.
Druga częsta pomyłka to utożsamianie każdego polecenia GRANT z użytkownikiem root. W MySQL użytkownik jest identyfikowany przez parę login@host. W naszym przykładzie stoi tam wyraźnie 'sprzedawca'@'localhost', więc nie ma tu żadnego roota. Gdyby chodziło o konto root, składnia musiałaby wyglądać np. 'root'@'localhost'. Co więcej, host sprzedawca w ogóle nie występuje w tym poleceniu – pojawia się tylko jako nazwa użytkownika. To powoduje czasem dodatkowe zamieszanie: ktoś widzi słowo sprzedawca i myśli, że to nazwa serwera, a localhost to użytkownik, co jest całkowicie odwrotnie.
Z punktu widzenia dobrych praktyk administracji bazą danych, nadawanie uprawnień rootowi poleceniem GRANT w aplikacjach produkcyjnych jest zresztą złym pomysłem. Standardem jest tworzenie osobnych kont, takich jak sprzedawca, księgowy czy aplikacja_web, z precyzyjnie dobranymi uprawnieniami do konkretnych baz. Wtedy dokładnie wiemy, kto może co czytać i modyfikować. Z mojego doświadczenia wynika, że większość problemów z bezpieczeństwem wynika właśnie z używania zbyt szerokich uprawnień, głównie konta root tam, gdzie absolutnie nie jest potrzebne.
Podsumowując: to polecenie nie nadaje dostępu do „wszystkich pól w tabeli hurtownia”, bo hurtownia jest tu bazą, a nie tabelą. Nie dotyczy też użytkownika root ani żadnego serwera o nazwie sprzedawca. Nadaje ono prawo SELECT do wszystkich tabel w bazie hurtownia konkretnemu użytkownikowi o nazwie sprzedawca, który łączy się z hosta localhost. Zrozumienie tej składni jest kluczowe przy zarządzaniu uprawnieniami w MySQL i ogólnie w systemach baz danych.

Pytanie 30

W języku działającym po stronie serwera tworzysz ankietę, której wynik ma być zapamiętany w postaci małego pliku po stronie użytkownika. Jaki mechanizm wykorzystasz?

A. ciasteczka (cookies)
B. sesję
C. bazę danych SQL
D. tablicę globalną $_FILES
Ciasteczko (cookie) to niewielki plik zapisywany przez serwer w przeglądarce użytkownika i odsyłany przy kolejnych żądaniach. Idealnie nadaje się do zapamiętania drobnej informacji po stronie klienta, np. że ktoś wziął już udział w ankiecie. W PHP ustawia się je funkcją setcookie(). Dlatego dane zapisywane w małym pliku u użytkownika to ciasteczka.

Pytanie 31

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

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

Pytanie 32

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

A. stworzyć kwerendę, która wyszukuje tytuły książek
B. Zdefiniować relację 1..n między tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
C. Ustalić relację 1..1 pomiędzy tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
D. utworzyć dwie oddzielne kwerendy: pierwszą, która wyszuka tytuły książek, a drugą, która pobierze nazwiska autorów
Zdefiniowanie relacji 1..n między tabelami 'ksiazki' oraz 'autorzy' jest kluczowe dla prawidłowego modelowania danych w bazach danych. Relacja 1..n oznacza, że jeden autor może mieć wiele książek, co jest w pełni zgodne z rzeczywistością w kontekście księgarni. Aby stworzyć raport sprzedanych książek z tytułami i nazwiskami autorów, konieczne jest, aby obie tabele były połączone w sposób umożliwiający łatwy dostęp do danych. Po utworzeniu relacji można skorzystać z kwerendy SQL, która wykorzystuje złączenie (JOIN) do pobrania informacji z obu tabel. Przykładowe zapytanie może wyglądać następująco: SELECT ksiazki.tytul, autorzy.nazwisko FROM ksiazki JOIN autorzy ON ksiazki.idAutor = autorzy.id. Tego typu podejście jest zgodne z dobrymi praktykami w projektowaniu baz danych, umożliwiając łatwe skalowanie oraz modyfikację w przyszłości.

Pytanie 33

Jak brzmi nazwa edytora, który wspiera proces tworzenia stron internetowych i którego działanie można określić w polskim tłumaczeniu słowami: widzisz to, co otrzymujesz?

A. VISUAL EDITOR
B. WEB STUDIO
C. IDE
D. WYSIWYG
Termin WYSIWYG to skrót od "What You See Is What You Get", co w dosłownym tłumaczeniu oznacza "to, co widzisz, to, co otrzymasz". Odnosi się to do edytorów graficznych, które pozwalają użytkownikowi na wizualne projektowanie stron internetowych w sposób, który odzwierciedla finalny wygląd strony. Dzięki edytorom WYSIWYG, użytkownicy mogą tworzyć i edytować treści bez konieczności znajomości języków programowania, takich jak HTML czy CSS. Przykładem takiego edytora może być Adobe Dreamweaver, które oferuje zarówno tryb wizualny, jak i możliwość edycji kodu. W praktyce, korzystanie z edytora WYSIWYG przyspiesza proces tworzenia stron, ponieważ pozwala na szybkie wprowadzanie zmian, przetestowanie ich w czasie rzeczywistym oraz łatwe zarządzanie elementami graficznymi. Standardy branżowe promują takie podejście, ponieważ zwiększa ono dostępność tworzenia stron internetowych dla osób bez technicznego wykształcenia, co jest szczególnie istotne w kontekście rozwijającej się digitalizacji i rosnącego zapotrzebowania na treści online.

Pytanie 34

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku zdecydowano o podwyżce pensji dla wszystkich pracowników o 100 zł. Ta aktualizacja w bazie danych powinna mieć formę

A. UPDATE pracownicy SET pensja = pensja + 100
B. UPDATE pensja SET 100
C. UPDATE pracownicy SET pensja = 100
D. UPDATE pensja SET +100
W analizowanym kontekście występują różne niepoprawne podejścia do aktualizacji pensji pracowników. W pierwszym przypadku, 'UPDATE pensja SET 100;' jest syntaktycznie błędne, ponieważ aktualizacja powinna odnosić się do tabeli, a nie do pojedynczej kolumny oraz brak tu wskazania, jak ma wyglądać nowa wartość. Drugą niepoprawną opcją, 'UPDATE pracownicy SET pensja = 100;', jest niewłaściwa, ponieważ ustawia pensję wszystkich pracowników na stałą wartość 100 zł, co nie jest zgodne z założeniem, aby zwiększyć ich dotychczasowe pensje. Również 'UPDATE pensja SET +100;' jest błędne, ponieważ nie wskazuje, do której tabeli odnosi się operacja, a syntaktycznie pomija konkretne przypisanie. Takie podejścia mogą prowadzić do katastrofalnych skutków w bazach danych, takich jak utrata informacji lub niezamierzona zmiana danych. W praktyce bazy danych powinny być aktualizowane w sposób, który zapewnia integralność danych oraz ich spójność, co wymaga stosowania odpowiednich operacji matematycznych w kontekście kolumn, a nie stałych wartości. Zrozumienie tych zasad jest kluczowe dla uniknięcia typowych błędów w pracy z SQL i zapewnienia prawidłowego zarządzania informacjami.

Pytanie 35

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zwiększenie ostrości zdjęcia.
C. Zmiana jasności zdjęć.
D. Zmniejszenie kontrastu zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 36

Jaki format CSS dla akapitu definiuje styl szarej ramki z następującymi cechami?

p {
  padding: 15px;
  border: 2px dotted gray; }
A. linia kropkowa; grubość 2 px; marginesy między tekstem a ramką 15 px
B. linia kreskowa; grubość 2 px; marginesy poza ramką 15 px
C. linia ciągła; grubość 2 px; marginesy poza ramką 15 px
D. linia ciągła; grubość 2 px; marginesy między tekstem a ramką 15 px
Odpowiedź numer jeden jest poprawna, ponieważ prawidłowo opisuje stylizację akapitu przy użyciu CSS zgodnie z przedstawionym kodem. Właściwość 'border' definiuje styl obramowania elementu. W tym przypadku użyto stylu 'dotted', który oznacza linię kropkowaną, o grubości 2 pikseli i kolorze szarym. Jest to użyteczne w sytuacjach, gdy chcemy wizualnie wyróżnić element, ale w sposób subtelny i nienachalny. Dodatkowo, właściwość 'padding' określa margines wewnętrzny, czyli odstęp między zawartością elementu a jego krawędzią. Zapewnienie marginesu wewnętrznego 15 pikseli pozwala tekstowi oddalić się od krawędzi obramowania, co zwiększa czytelność i estetykę. Praktyczne zastosowanie takich stylizacji można znaleźć w projektowaniu stron internetowych, gdzie często używa się różnych stylów obramowań do organizowania treści. Zgodność z dobrymi praktykami web designu zakłada użycie spójnych i intuicyjnych stylów, co poprawia doświadczenia użytkownika oraz ułatwia nawigację po stronie internetowej. Tego typu formatowanie jest zgodne ze standardami CSS, co czyni kod bardziej przewidywalnym i łatwiejszym w utrzymaniu

Pytanie 37

Wskaż przycisk sformatowany przedstawionym stylem CSS.

#przycisk {
    background-color: white;
    padding: 10px;
    border-width: 2px;
    border-bottom-style: dashed;
}



Przycisk 1

Przycisk 2

Przycisk 3

Przycisk 4
A. Przycisk 3
B. Przycisk 4
C. Przycisk 1
D. Przycisk 2
Przycisk 2 jest jedynym, który spełnia wszystkie warunki określone w podanym stylu CSS. Białe tło, odstęp wewnętrzny 10 pikseli, szerokość obramowania 2 piksele oraz przerywana dolna krawędź obramowania są elementami, które zostały ustawione w stylach CSS dla przycisku 2. Ta wiedza jest niezwykle przydatna przy projektowaniu i tworzeniu stron internetowych, gdzie kształtowanie elementów interaktywnych, takich jak przyciski, jest często kluczowym elementem doświadczenia użytkownika. Pamiętaj, że CSS pozwala na dużą swobodę w dostosowywaniu wyglądu poszczególnych elementów strony, a zrozumienie, jak działa selekcja elementów i stylizacja, to fundamenty tworzenia atrakcyjnych i funkcjonalnych projektów webowych. Zrozumienie, jakie style zostały zastosowane do danego elementu, pozwala na szybkie i efektywne dostosowywanie strony do potrzeb klienta.

Pytanie 38

Metoda i zmienna są dostępne dla metod tej klasy ORAZ klas po niej dziedziczących (potomnych). Który modyfikator?

A.
public
B.
protected
C.
static
D.
private
Modyfikator protected udostępnia składowe metodom TEJ klasy ORAZ klasom po niej DZIEDZICZĄCYM (potomnym), ale nie kodowi z zewnątrz. To pośredni poziom między private a public, przydatny, gdy klasa bazowa ma coś udostępnić dziedzicom, lecz ukryć przed światem. Zapamiętaj: protected = „dla mnie i moich potomków”.

Pytanie 39

Jak wykonanie zapytania SQL przedstawionego poniżej wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Utworzy kolumnę plec o typie znakowym o stałej długości 9.
B. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
D. Utworzy kolumnę plec o typie znakowym o zmiennej długości 9.
Wiele osób może mylnie zakładać, że polecenie SQL ALTER TABLE z instrukcją MODIFY dodaje nową kolumnę, co jest nieprawdziwe. W rzeczywistości, ta instrukcja wprowadza zmiany w już istniejącej kolumnie, a nie tworzy nowej. Pojęcie „dodawania kolumny” odnosi się do instrukcji ADD, a nie MODIFY. Kolejnym błędnym założeniem może być mylenie typów danych - istnieje tendencja do myślenia, że „zmienna długość” oznacza typ char, podczas gdy jest to charakterystyczne dla typu varchar. Typ char jest używany do przechowywania danych o stałej długości, co oznacza, że nawet jeśli przechowywana wartość jest krótsza niż zadana długość, system automatycznie wypełni pozostałe znaki spacjami. Zmiana typu danych na char(9) nie umożliwia przechowywania zmiennych długości danych, a użycie varchar w tym kontekście byłoby właściwsze, gdyby istniała potrzeba przechowywania danych o różnej długości. Wydaje się, że niektórzy mogą też źle interpretować pojęcie „zmiennej długości” i myśleć, że jest to coś, co można przypisać kolumnie typu char, co prowadzi do nieprawidłowych wniosków.

Pytanie 40

W języku JavaScript, aby zmodyfikować wartość atrybutu znacznika HTML, po uzyskaniu obiektu przez metodę getElementById, należy zastosować

A. metody setAttribute
B. pola attribute i podać nazwę atrybutu
C. pola innerHTML
D. metody getAttribute
Wybór odpowiedzi, która sugeruje użycie pola innerHTML do zmiany atrybutów, jest nieprawidłowy, ponieważ pole to służy do manipulacji zawartością HTML wewnątrz danego elementu, a nie do zmiany jego atrybutów. Na przykład, użycie innerHTML do wstawienia nowej zawartości do elementu mogłoby spowodować nadpisanie wszystkich jego atrybutów i potencjalnie prowadzić do błędów, jeżeli nie zostaną zachowane pierwotne atrybuty. Z drugiej strony, metoda getAttribute tylko odczytuje wartość atrybutu, nie pozwala na jego modyfikację, co czyni ją niewłaściwym wyborem w kontekście zmiany wartości atrybutu. Z kolei pole attribute nie istnieje w kontekście HTML DOM jako typ właściwości, co prowadzi do nieporozumień w interpretacji. Zrozumienie tych różnic jest kluczowe dla efektywnego zarządzania elementami DOM w JavaScript. Powszechny błąd polega na myleniu funkcji związanych z manipulowaniem zawartością i atrybutami, co może prowadzić do nieefektywnego i trudnego do debugowania kodu. Kluczowym aspektem programowania w JavaScript jest znajomość metod i właściwości dostępnych w obiektach DOM oraz umiejętność ich poprawnej aplikacji w zależności od kontekstu operacji.