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 18:31
  • Data zakończenia: 8 czerwca 2026 18:45

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

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

Jakim rodzajem instrukcji jest w PHP konstrukcja foreach?

A. wyboru, dla elementów tablicy
B. warunkową, niezależnie od typu zmiennej
C. pętli, wyłącznie dla elementów tablicy
D. pętli, niezależnie od typu zmiennej
W PHP foreach to pętla przeznaczona WYŁĄCZNIE do iterowania po elementach tablicy (lub obiektu) - automatycznie przechodzi przez kolejne pary klucz-wartość. Dlatego foreach to pętla działająca tylko na tablicach.

Pytanie 2

Po wykonaniu przedstawionego kodu PHP, w zmiennej $napis zostaje zapisany ciąg znaków.

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. og
C. gr
D. ogram
W przypadku analizy funkcji substr() kluczowe jest zrozumienie jak działają indeksy i jak funkcja operuje na ciągach znaków. Przyjmowanie błędnych założeń co do indeksowania jest częstym błędem wśród programistów zwłaszcza u początkujących. Indeksy w PHP zaczynają się od zera co oznacza że pierwszy znak ciągu ma indeks 0 drugi ma indeks 1 i tak dalej. W podanym kodzie użyta jest funkcja substr() z parametrami 3 i 5 co oznacza że zaczynamy od czwartego znaku i wycinamy pięć znaków. Niepoprawne odpowiedzi mogą wynikać z braku uwzględnienia indeksowania od zera lub błędnej interpretacji długości wycinka. Przy wyborze odpowiedzi 'og' czy 'ogram' można podejrzewać pomyłkę w zrozumieniu jak działa długość wycinka oraz gdzie dokładnie zaczyna się wycinanie. Może to wynikać z błędnego wyobrażenia jak indeksy przypisują się do liter w danym ciągu. Ważne jest aby dokładnie śledzić jak indeksy przyporządkowują się do liter co pozwala na bardziej precyzyjne operowanie na napisach. Funkcja substr() jest jedną z podstawowych w PHP i jej zrozumienie jest niezbędne do efektywnego manipulowania ciągami znaków. Przy pracy z danymi tekstowymi warto stosować dobre praktyki w zakresie czytelności kodu oraz odpowiedniego nazywania zmiennych co pozwala unikać nieporozumień i zwiększa czytelność kodu.

Pytanie 3

Jakie polecenie HTML poprawnie odwzorowuje przedstawioną hierarchiczną strukturę tekstu, która została wyświetlona przez przeglądarkę w następujący sposób: Rozdział 1 tekst Podrozdział 1.1 tekst Podrozdział 1.2?

A. <h1>Rozdział 1</h1><p>tekst</p><h2>Podrozdział 1.1</h2><p>tekst</p><h2>Podrozdział 1.2</h2>
B. <h1>Rozdział 1<p>tekst<h2>Podrozdział 1.1<p>tekst<h2>Podrozdział 1.2
C. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
D. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
Poprawny kod HTML do definiowania hierarchicznej struktury tekstu oparty jest na semantycznym znaczeniu tagów. W tym przypadku, użycie <h1> dla 'Rozdział 1' jako głównego nagłówka jest zgodne z zasadami projektowania stron internetowych, gdyż <h1> powinien być używany dla najważniejszego nagłówka na stronie. Następnie zastosowanie <h2> dla 'Podrozdział 1.1' i 'Podrozdział 1.2' wskazuje na hierarchię, gdzie te podrozdziały są podkategoriami głównego rozdziału. Tag <p> jest użyty do definiowania paragrafów tekstowych, co zapewnia odpowiednie formatowanie i czytelność. Taki układ jest zgodny z wytycznymi W3C, które rekomendują używanie nagłówków w strukturze dokumentu HTML, co ułatwia zarówno przeglądarkom, jak i użytkownikom zrozumienie hierarchii treści. Przykładowo, strona internetowa z taką strukturą będzie lepiej indeksowana przez wyszukiwarki, co przyczyni się do poprawy SEO.

Pytanie 4

Pętla zapisana w języku PHP wstawi do tablicy liczby:

$x = 0;
for ($i = 0; $i < 10; $i++)
{
    $tabl[$i] = $x;
    $x = $x + 10;
}
A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
C. 0, 10, 20, 30, 40, 50, 60, 70, 80, 90
D. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
Niestety, Twoja odpowiedź jest nieprawidłowa. Błędne odpowiedzi sugerują, że pętla wstawia do tablicy liczby od 0 do 9 lub od 10 do 100, albo od 0 do 10. To jest niepoprawne, ponieważ pętla zaczyna się od $x = 0 i wykonuje się 10 razy ($i od 0 do 9), a w każdej rundzie pętli wartość $x jest zwiększana o 10. Dlatego po 10 rundach w tablicy znajdują się liczby: 0, 10, 20, 30, 40, 50, 60, 70, 80, 90. Wybór innej odpowiedzi może wynikać z błędnego zrozumienia działania pętli albo mylenia różnych rodzajów pętli, które mają różne zastosowania. Pętle są fundamentalnym elementem każdego języka programowania, w tym PHP, dlatego warto zrozumieć ich działanie. Proszę poświęcić więcej czasu na zrozumienie tego tematu, ponieważ jest to podstawa do dalszego programowania.

Pytanie 5

W przypadku podanego fragmentu kodu walidator HTML zgłosi błąd, ponieważ <img src="kwiat.jpg alt="kwiat">

A. użyto niewłaściwego znacznika do wyświetlenia obrazu
B. nie zamknięto cudzysłowu
C. zastosowano nieznany atrybut alt
D. brak obrazu kwiat.jpg
Pojawiające się nieprawidłowe odpowiedzi mogą wynikać z mylnych interpretacji zasad działania HTML. W przypadku pierwszej odpowiedzi, sugerujące zastosowanie błędnego znacznika, warto zauważyć, że znacznik <img> jest właściwym i standardowym elementem do wyświetlania obrazów w HTML. To powszechnie używany tag, który jest zgodny z normami HTML. Przywołanie drugiej odpowiedzi, dotyczącej nieznanego atrybutu alt, jest również mylące. Atrybut alt jest standardowym elementem, który służy do opisu zawartości obrazów, co jest istotne z punktu widzenia dostępności. Pomaga osobom niewidomym i słabowidzącym zrozumieć zawartość wizualną strony. Obecność tego atrybutu jest wręcz zalecana w dobrych praktykach programistycznych. Ostatnia odpowiedź, odnosząca się do problemu z odnalezieniem pliku 'kwiat.jpg', pomija fakt, że przyczyną błędu w walidacji nie jest brak pliku, ale składnia kodu. Przeglądarki, które napotykają błędy składniowe, mogą nie renderować strony zgodnie z zamierzeniem, a to prowadzi do frustracji użytkowników oraz obniżenia jakości doświadczeń na stronie. Dlatego kluczowe jest zrozumienie, jak poprawne formatowanie i przestrzeganie standardów HTML wpływa na funkcjonalność oraz dostępność stron internetowych.

Pytanie 6

W języku PHP wykonano poniższą operację. Aby uzyskać wszystkie rezultaty tego zapytania, należy:

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. zastosować pętlę z poleceniem mysqli_fetch_row
B. użyć polecenia mysql_fetch
C. wyświetlić zmienną $db
D. zaindeksować zmienną tab, tab[0] to pierwsze imię
Pojawiające się koncepcje w odpowiedziach błędnych wskazują na niezrozumienie procesu pobierania danych z bazy danych w PHP. Zaindeksowanie zmiennej tab, w myśli o tym, że tab[0] zwróci pierwsze imię, jest podejściem, które nie uwzględnia, że zmienna $tab nie jest tablicą, lecz wynikiem zapytania, które może zawierać wiele wierszy. Otrzymujemy obiekt typu mysqli_result, który musi być przetworzony przez odpowiednie funkcje, a nie za pomocą prostego indeksowania. Zastosowanie polecenia mysql_fetch jest również niepoprawne, ponieważ mysql_fetch jest przestarzałą funkcją z rodziny mysql, która nie jest już wspierana i powinna być zastąpiona przez mysqli_fetch_ lub PDO. Wyświetlanie zmiennej $db nie ma sensu w kontekście uzyskania wyników zapytania, ponieważ zmienna ta odnosi się do połączenia z bazą danych, a nie do danych z zapytania. Te błędne podejścia prowadzą do szerszego problemu, którym jest brak znajomości mechanizmów obsługi baz danych w PHP oraz różnicy między różnymi typami metod dostępu do danych. Kluczowe jest, aby nie tylko znać składnię, ale także rozumieć koncepty stojące za pobieraniem i przetwarzaniem danych w systemach baz danych. Właściwe podejście do zarządzania danymi wymaga umiejętności korzystania z odpowiednich funkcji oraz znajomości struktur danych, które są wykorzystywane w PHP.

Pytanie 7

Podczas edytowania grafiki w programie do obróbki rastrowej należy usunąć kolory z obrazu, aby uzyskać wizualizację w odcieniach szarości. W tym celu można zastosować funkcję

A. szumu RGB
B. kadrowania
C. filtru rozmycia
D. desaturacji
Desaturacja to proces, który polega na usunięciu kolorów z obrazu, co skutkuje uzyskaniem jego wersji w odcieniach szarości. W kontekście edytorów grafiki rastrowej, takich jak Adobe Photoshop lub GIMP, desaturacja jest kluczową funkcją, umożliwiającą szybkie przekształcenie zdjęcia kolorowego w monochromatyczne. Tego typu operacje są szczególnie przydatne w fotografii czarno-białej, w grafice artystycznej oraz w projektowaniu, gdzie kolor może odwracać uwagę od kompozycji lub detali. Aby wykonać desaturację, wystarczy zastosować odpowiednią funkcję menu, co pozwala na łatwe i efektywne pozbycie się kolorów. Dobrą praktyką jest również eksploracja różnych metod desaturacji, takich jak konwersja do skali szarości lub użycie filtrów, które mogą dać różne efekty wizualne. Warto również zaznaczyć, że desaturacja nie jest tym samym co konwersja do odcieni szarości, gdyż może zachować pewne informacje o luminancji, które są istotne w kontekście dalszej obróbki obrazu.

Pytanie 8

Baza danych przechowuje dane multimedialne (duże ilości danych binarnych). Którego typu danych należy użyć dla takich pól?

A.
LONGTEXT
B.
BLOB
C.
ENUM
D.
DOUBLE
Pozostałe typy nie nadają się do danych binarnych. ENUM pozwala przechować tylko jedną z wcześniej zdefiniowanych wartości tekstowych (np. „mały”, „duży”) - to typ wyliczeniowy, nie magazyn plików. DOUBLE to liczba zmiennoprzecinkowa, służąca do wartości ułamkowych. LONGTEXT przechowuje wprawdzie dużo danych, ale TEKSTOWYCH, z kodowaniem znaków, więc surowe bajty obrazu mógłby zniekształcić. Dane binarne multimediów trzyma się w polu typu BLOB, dlatego to on jest poprawny.

Pytanie 9

Co uzyskujemy po wykonaniu zapytania SQL?

Ilustracja do pytania
A. średnią wszystkich ocen uczniów
B. liczbę uczniów, których średnia ocen wynosi 5
C. suma ocen uczniów, których średnia ocen wynosi 5
D. całkowitą liczbę uczniów
Zapytanie SQL SELECT count(*) FROM Uczniowie WHERE srednia = 5; wykorzystuje funkcję agregującą count(*), która służy do zliczania liczby wierszy spełniających określone warunki. W tym przypadku warunkiem jest srednia = 5 co oznacza że zapytanie zlicza wszystkich uczniów których średnia ocen wynosi dokładnie 5. Jest to powszechna praktyka w analizie danych gdzie często potrzebujemy określić liczebność pewnych grup danych na przykład aby przeanalizować ich rozkład lub porównać je z innymi grupami. W profesjonalnej bazie danych zliczanie wierszy na podstawie kryteriów jest standardem co umożliwia generowanie raportów i podejmowanie decyzji na podstawie danych. Użycie count(*) bez dodatkowych parametrów jest zgodne z dobrymi praktykami ponieważ jest wydajne i łatwe w interpretacji. W praktyce stosowanie tego typu zapytań jest nieodzowne w działach analizy danych zarządzania relacjami z klientami czy w edukacji gdzie analizujemy wyniki uczniów.

Pytanie 10

Aby przenieść pliki strony internetowej na serwer, można skorzystać z programu:

A. Bugzilla
B. Go!Zilla
C. CloneZilla
D. FileZilla
Nazwy celowo brzmią podobnie (kończą się na „-zilla”), ale tylko jedna to klient FTP. Bugzilla służy zespołom programistycznym do rejestrowania i śledzenia błędów, więc z transferem plików nie ma nic wspólnego. Go!Zilla działa odwrotnie niż potrzebujemy - to menedżer pobierania, który ściąga pliki z sieci na dysk. CloneZilla tworzy obrazy i klonuje dyski, co przydaje się przy kopiach zapasowych systemu, a nie przy publikacji strony. Do przeniesienia plików witryny na serwer służy FileZilla - klient FTP/SFTP stworzony do transferu plików.

Pytanie 11

W trakcie weryfikacji stron internetowych nie analizuje się

A. źródeł pochodzenia narzędzi edytorskich
B. błędów składniowych w kodzie
C. zgodności z różnymi przeglądarkami
D. funkcjonowania linków
W procesie walidacji stron internetowych kluczowym celem jest upewnienie się, że kod HTML, CSS i inne zasoby są zgodne z obowiązującymi standardami W3C (World Wide Web Consortium). Walidacja skutecznie identyfikuje błędy składniowe, które mogą wpływać na renderowanie strony, analizuje działanie linków, a także sprawdza, jak strona zachowuje się w różnych przeglądarkach. Jednak aspekty związane z pochodzeniem narzędzi edytorskich nie są istotnym elementem tego procesu. Narzędzia edytorskie, takie jak edytory tekstowe czy IDE, są jedynie środkiem do tworzenia kodu, a ich źródło nie powinno wpływać na to, czy strona jest poprawnie zaimplementowana. Na przykład, strona może być poprawnie zwalidowana niezależnie od tego, czy została zbudowana w popularnym edytorze, takim jak Visual Studio Code, czy innym mniej znanym narzędziu. Dlatego koncentrowanie się na źródłach narzędzi edytorskich w kontekście walidacji byłoby nieuzasadnione i nieprzydatne.

Pytanie 12

<form>
  <input type="email" id="addr" required>
  <input type="submit" value="Zapisz">
</form>
Na podstawie przedstawionego kodu formularza HTML można powiedzieć, że pole edycyjne:
A. nie może być puste i wymaga wpisania tekstu ze znakiem @.
B. nie powinno zawierać znaków numerycznych.
C. wymaga wpisania jedynie znaków alfanumerycznych.
D. może być puste.
Kod formularza, który został pokazany w pytaniu, wykorzystuje dwa mechanizmy walidacji wbudowane w HTML5: typ pola ustawiony na email oraz atrybut required. Jeśli się je dobrze rozumie, to łatwo odrzucić wszystkie błędne interpretacje. Spójrzmy na to bardziej od strony tego, co faktycznie robi przeglądarka.

Pomysł, że pole może być puste, jest sprzeczny z działaniem atrybutu required. Ten atrybut wprost oznacza, że użytkownik musi coś wpisać. Jeżeli zostawi pole puste i kliknie przycisk „Zapisz”, przeglądarka zablokuje wysłanie formularza i wyświetli swój komunikat, np. „Wypełnij to pole”. To nie jest kwestia „dobrej praktyki”, tylko twardej reguły zapisanej w specyfikacji HTML. W praktyce to bardzo przydatne, bo od razu na froncie wymusza uzupełnienie danych.

Stwierdzenie, że pole nie powinno zawierać znaków numerycznych, też jest błędne. Pole typu email dopuszcza cyfry, bo wiele poprawnych adresów e‑mail zawiera liczby, np. [email protected]. Przeglądarka nie ma żadnego zakazu cyfr w takim polu, patrzy tylko na ogólny format adresu.

Nieprawidłowy jest też pogląd, że wymagane są „jedynie znaki alfanumeryczne”. Adres e‑mail zawiera zwykle kropki, znak @, czasem myślniki, podkreślenia i inne dopuszczalne znaki. Gdyby przeglądarka pozwalała tylko na litery i cyfry, większość realnych adresów zostałaby odrzucona. Walidacja typu email jest skoncentrowana na strukturze (część przed @, znak @, część po @), a nie na tak prymitywnym ograniczeniu jak „tylko litery i cyfry”.

Typowy błąd myślowy przy takich pytaniach to mylenie różnych poziomów walidacji: jedni zakładają, że HTML w ogóle nie sprawdza formatu, inni z kolei wyobrażają sobie zbyt restrykcyjne reguły, które w praktyce by uniemożliwiły wpisanie normalnego adresu. Dobrym nawykiem jest patrzenie na to, co gwarantuje przeglądarka: w tym wypadku wymagane jest, żeby pole nie było puste (required) oraz żeby wpisany tekst przypominał adres e‑mail, czyli zawierał m.in. znak @ w odpowiednim miejscu. Wszystkie inne interpretacje wychodzą poza to, co naprawdę wynika z kodu formularza.

Pytanie 13

W PHP tablice asocjacyjne to struktury, w których

A. elementy tablicy są zawsze numerowane od zera
B. indeks może być dowolnym ciągiem znaków
C. w każdej pozycji tablicy znajduje się inna tablica
D. są co najmniej dwa wymiary
Tablice asocjacyjne w języku PHP są strukturami danych, które łączą unikalne klucze (indeksy) z wartościami. Klucze mogą być dowolnymi napisami, co oznacza, że programista ma dużą swobodę w definiowaniu, jak będą wyglądały indeksy. Na przykład, można używać nazw użytkowników jako kluczy, co pozwala na łatwe odwoływanie się do powiązanych danych. Przykład zastosowania tablic asocjacyjnych to przechowywanie informacji o użytkownikach w formacie: $użytkownicy = array('jan' => 'Jan Kowalski', 'ania' => 'Anna Nowak'). W praktyce, tablice asocjacyjne są niezwykle użyteczne, gdyż pozwalają na bardziej intuicyjny dostęp do danych, a także umożliwiają organizowanie danych w sposób, który jest zrozumiały dla programisty oraz osób współpracujących z kodem. Dobrą praktyką jest stosowanie nazw kluczy, które jednoznacznie opisują przechowywane dane, co zwiększa czytelność i ułatwia późniejsze modyfikacje w kodzie. Warto również dodać, że tablice asocjacyjne w PHP są implementowane jako hashe, co zapewnia szybki dostęp do wartości na podstawie kluczy. To czyni je efektywnym narzędziem w codziennej pracy programisty, szczególnie przy pracy z dużymi zbiorami danych.

Pytanie 14

Aby zdefiniować krój czcionki w stylu CSS, należy użyć właściwości:

A.
text-style
B.
text-family
C.
font-style
D.
font-family
Łatwo tu wybrać nazwę, która brzmi logicznie, ale nie istnieje albo robi co innego. text-style oraz text-family wyglądają sensownie, jednak takich właściwości w CSS po prostu nie ma - przeglądarka je zignoruje. font-style to z kolei prawdziwa właściwość, lecz odpowiada za odmianę pisma, czyli pochylenie tekstu (wartość italic), a nie za wybór samego kroju. Rodzinę czcionki ustawia font-family, w której wskazuje się nazwę czcionki wraz z listą zapasowych - i dlatego to ona jest poprawną odpowiedzią.

Pytanie 15

Jak wygląda poprawny zapis znaczników, który jest zgodny z normami języka XHTML i odpowiada za łamanie linii?

A. </br/>
B. </ br>
C. <br/>
D. <br/>
Zapis znacznika </ br> jest niepoprawny, ponieważ nie można w ten sposób zamknąć znacznika, który nie ma zawartości. W XHTML wszystkie tagi muszą być poprawnie sformatowane, a takie umieszczenie spacji w znaczniku zamknięcia oraz użycie nieodpowiedniego formatu są całkowicie niezgodne z wymaganiami standardów. Kolejną niepoprawną koncepcją jest użycie </br/> - chociaż syntaktyczna forma jest bliska poprawnej, znaczniki otwierające i zamykające muszą mieć odpowiednie konteksty. W przypadku znaczników samozamykających się, takich jak <br/>, nie ma potrzeby umieszczania pary znaczników, ponieważ ich funkcjonalność polega na wstawieniu łamania linii, a nie na wytwarzaniu dodatkowego bloku. Ostatnią z wymienionych odpowiedzi, <br>, również nie jest zgodna z odpowiednim formatowaniem XHTML, ponieważ brakuje ukośnika, co czyni go niepoprawnym w kontekście stricte przestrzegania standardu. Podstawowym błędem w myśleniu, który prowadzi do tych niepoprawnych wniosków, jest niewłaściwe zrozumienie zasady samozamykania znaczników oraz ich roli w strukturze dokumentu HTML. Ignorowanie zasadności i standardów tworzenia HTML prowadzi do wielu problemów z interpretacją kodu przez różne środowiska oraz przeglądarki, co wpływa na ostateczną jakość i dostępność stron internetowych.

Pytanie 16

Funkcja napisana w PHP ma na celu

Ilustracja do pytania
A. nawiązanie połączenia z bazą danych
B. zabezpieczenie bazy danych
C. pobranie informacji z bazy danych
D. ustawienie hasła do bazy danych
Funkcja mysql_query z języka PHP jest używana do wykonywania zapytań SQL w bazie danych MySQL. W przedstawionym przykładzie zapytanie SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. Jest to klasyczne zapytanie używane do uzyskania danych z bazy danych co czyni je podstawowym narzędziem programisty PHP operującego na bazach danych. Zwrócone dane mogą następnie być przetwarzane wyświetlane lub używane w dalszych operacjach aplikacji. Ważnym aspektem pracy z bazami danych jest ochrona przed atakami SQL Injection co można osiągnąć poprzez stosowanie przygotowanych wyrażeń lub funkcji takich jak mysqli_prepare. Warto też pamiętać że funkcja mysql_query jest przestarzała i niezalecana w nowych projektach a zamiast niej powinno się używać mysqli lub PDO. Obie te biblioteki oferują większe bezpieczeństwo i lepszą obsługę błędów co jest zgodne z aktualnymi standardami w branży. Praca z danymi wymaga nie tylko ich pobierania ale także odpowiedniego zarządzania czym zajmują się bardziej złożone mechanizmy jak ORM-y co upraszcza pracę z bazami danych i zwiększa czytelność kodu.

Pytanie 17

W pokazanym fragmencie zapytania w języku SQL, polecenie SELECT ma na celu uzyskanie wyników z komendy SELECT COUNT(wartosc) FROM....?

A. średnią wartości w kolumnie wartosc
B. średnią wartości w tabeli
C. sumę wartości w kolumnie wartosc
D. liczbę rekordów
W analizowanych odpowiedziach, wybór średniej tabeli, sumy w kolumnie wartosc oraz średniej w kolumnie wartosc jest niepoprawny z uwagi na różnice między funkcjami agregującymi. Średnia tabeli oznaczałaby zliczenie wartości i ich podzielenie przez liczbę elementów, co w przypadku użycia COUNT nie ma miejsca, ponieważ COUNT nie oblicza średniej, a jedynie zlicza ilość rekordów. Dodatkowo, funkcja SUM, która zlicza sumę wartości w określonej kolumnie, wymaga użycia innej syntaktyki, na przykład SELECT SUM(wartosc) FROM... Ponadto, gdyby celem zapytania było zwrócenie średniej wartości w kolumnie wartosc, należałoby użyć zapytania SELECT AVG(wartosc) FROM..., które jest odrębną funkcją od COUNT i ma zupełnie inny cel. W związku z tym, każda z wymienionych odpowiedzi, które sugerują zwrócenie średniej lub sumy, są technicznie błędne, ponieważ nie odpowiadają na zapytanie, które jest skoncentrowane na zliczaniu ilości wierszy, co jest fundamentalną funkcjonalnością polecenia COUNT w systemach baz danych.

Pytanie 18

Jakie polecenie należy zastosować, aby w trakcie tworzenia tabeli dodać klucz obcy obejmujący wiele kolumn?

A. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
B. CONSTRAINT(nazwisko,imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
C. CONSTRAINT(nazwisko,imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D. CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
Wszystkie odpowiedzi inne niż 'CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)' zawierają błędy, które mogą prowadzić do nieprawidłowego definiowania klucza obcego. Pierwsza odpowiedź niepoprawnie używa terminu 'FOREIGN REFERENCES KEY', co jest błędną konstrukcją, ponieważ nie istnieje taki termin w standardzie SQL. Poprawnym terminem jest 'FOREIGN KEY', który jasno wskazuje na rolę kolumn w kontekście relacji między tabelami. Dwie kolejne odpowiedzi błędnie zdefiniowały składnię definicji klucza obcego, używając niepoprawnych konstrukcji, takich jak 'ON' czy niewłaściwego umiejscowienia nazwy ograniczenia. Klucz obcy powinien być zdefiniowany w kontekście kolumn, które są nim objęte, a także powinien odnosić się do kolumn w innej tabeli, co w tych przypadkach nie zostało zrobione prawidłowo. Typowe błędy myślowe prowadzące do takich wniosków obejmują mylenie terminów i składni SQL, co może wynikać z braku znajomości standardów SQL lub po prostu z nieuwagi. Ważne jest, aby osoby pracujące z bazami danych dokładnie znały zasady składni oraz funkcje, jakie pełnią różne elementy definicji tabel i relacji, aby unikać takich błędów i zapewniać integralność danych.

Pytanie 19

Który efekt został zaprezentowany na filmie?

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

$x = mysql_query('SELECT * FROM mieszkanci'); if (!$x) echo "??????????????????????????????"; W podanym kodzie PHP, w miejscu znaków zapytania powinien wyświetlić się komunikat:

A. Nieprawidłowa nazwa bazy danych
B. Złe hasło do bazy danych
C. Zapytania zakończono sukcesem
D. Błąd w trakcie przetwarzania zapytania
W przedstawionym kodzie PHP mamy do czynienia z próbą wykonania zapytania SQL do bazy danych przy pomocy funkcji mysql_query. Ta funkcja zwraca wartość false, jeśli wystąpił błąd w trakcie przetwarzania zapytania. W kontekście tego kodu, komunikat 'Błąd przetwarzania zapytania.' jest odpowiedni, ponieważ wskazuje, że zapytanie nie zostało poprawnie wykonane. Istotne jest, aby programista zrozumiał, że błędy mogą wynikać z różnych przyczyn, takich jak błędna składnia SQL, problemy z połączeniem do bazy danych lub inne czynniki techniczne. Ważną praktyką jest dodawanie mechanizmów obsługi błędów, które mogą dać więcej informacji na temat problemu, np. użycie mysql_error() do uzyskania szczegółowych informacji o błędzie. Standardy dotyczące programowania w PHP oraz najlepsze praktyki wskazują na konieczność stosowania try-catch dla lepszej kontroli błędów oraz logowania, co może pomóc w diagnozowaniu problemów na etapie produkcyjnym. Warto zaznaczyć, że mysql_query jest przestarzałą funkcją, a obecnie zaleca się użycie mysqli lub PDO do komunikacji z bazą danych, co poprawia bezpieczeństwo i wydajność aplikacji.

Pytanie 21

W edytorze grafiki wektorowej zbudowano kształt, który składa się z dwóch figur: trójkąta oraz koła. Aby uzyskać ten kształt, po narysowaniu figur i ich odpowiednim ustawieniu, trzeba użyć funkcji

Ilustracja do pytania
A. rozdzielenia
B. różnicy
C. sumy
D. wykluczenia
Funkcja sumy w programach do grafiki wektorowej, takich jak Adobe Illustrator czy CorelDRAW, pozwala na połączenie dwóch lub więcej kształtów w jeden obiekt. To takie sprytne narzędzie! Sumowanie, znane też jako unia lub łączenie ścieżek, integruje geometrię wszystkich wybranych kształtów. Na przykład, jak narysujesz trójkąt i koło, a potem je odpowiednio ustawisz, to używając funkcji sumy, stworzysz nowy kształt, który obejmuje całą powierzchnię obu figur. Często to robi się przy projektowaniu logo, gdzie trzeba uprościć złożone kształty do jednej ścieżki. Taki sposób działania jest przyjęty w branży, bo ułatwia tworzenie czytelnych grafik, które są łatwe do edytowania. A co najważniejsze, połączenie figur w jedną upraszcza późniejsze zmiany i wpisuje się w zasady projektowania minimalistycznego, dzięki czemu można robić przejrzyste kompozycje. Warto mieć na uwadze, że takie podejście też ułatwia drukowanie i wycinanie, co jest mega ważne w produkcji materiałów reklamowych czy wyrobów przemysłowych.

Pytanie 22

Kwerenda

ALTER TABLE artykuly MODIFY cena float;
ma na celu dokonanie zmian w tabeli artykuly.
A. zmienić typ kolumny cena na float
B. zmienić nazwę kolumny cena na float
C. dodać kolumnę o nazwie cena z typem float, jeżeli jeszcze nie istnieje
D. usunąć kolumnę o nazwie cena typu float
Twoja odpowiedź na temat usunięcia lub zmiany kolumny nie jest najlepsza w tym kontekście. Jeśli usuniemy kolumnę cena, to stracimy wszystkie dane, które tam były – a to na pewno by zaszkodziło, zwłaszcza gdy mówimy o cenach. Takie operacje robi się tylko wtedy, gdy dany atrybut jest naprawdę niepotrzebny albo był źle wprowadzony. Dodanie kolumny cena, o ile nie istnieje, wydaje się zmieniać strukturę danych, ale jeżeli już jest, to nie ma sensu. Taki ruch mógłby prowadzić do zduplikowania danych, co stoi w sprzeczności z zasadami normalizacji. A zmiana nazwy kolumny z cena na float to już w ogóle nieporozumienie, bo float to typ danych, a nie nazwa, więc wprowadziłoby to zamieszanie. Wszystkie te błędy wynikają z braku zrozumienia, jak działa struktura tabel w bazach danych. Zrozumienie tego jest kluczowe, zanim podejmiesz jakiekolwiek kroki, żeby coś zmieniać.

Pytanie 23

Aby z tabeli Pracownicy wybrać tylko nazwiska kończące się na literę „i”, można zastosować następującą kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%";
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%";
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i";
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i;
Prawidłowa kwerenda SQL do wyszukania nazwisk pracowników, których ostatnią literą jest 'i', to 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. Operator LIKE w SQL jest używany do wyszukiwania wzorców w danych tekstowych. W tym przypadku symbol '%' przed literą 'i' oznacza, że przed 'i' może występować dowolna liczba znaków (w tym zero), co umożliwia znalezienie wszystkich nazwisk kończących się na tę literę. Przykładowe nazwiska, które mogą być zwrócone przez tę kwerendę to 'Kowalski', 'Nowak', czy 'Wiśniewski'. Zgodnie z standardem SQL, użycie podwójnych cudzysłowów dla wzorca jest właściwe w kontekście baz danych, jednak w wielu systemach baz danych, w tym MySQL, częściej stosuje się pojedyncze cudzysłowy. Warto także zauważyć, że technika ta jest przydatna przy pracy z bazami danych, gdyż umożliwia elastyczne wyszukiwanie informacji oraz jest szczególnie cenne w aplikacjach wymagających filtrowania danych według specyficznych kryteriów.

Pytanie 24

Kanał alfa jest wykorzystywany do określenia

A. podstawowych właściwości obiektu graficznego
B. przezroczystości grafiki obiektu
C. jasności oraz kontrastu barw
D. wybranego fragmentu grafiki obiektu
Jasność i kontrast kolorów, zaznaczony fragment obiektu graficznego oraz podstawowe parametry obiektu graficznego to elementy, które są nieodłącznie związane z przetwarzaniem i wyświetlaniem grafik, jednak nie mają one związku z kanałem alfa. Jasność i kontrast dotyczą modyfikacji kolorystycznych, które wpływają na intensywność i różnice w odcieniach, ale nie dotyczą one przezroczystości. W kontekście projektowania graficznego, zmiana jasności może wpływać na to, jak widz odbiera daną grafikę, lecz nie ma to związku z przezroczystością, która jest kluczowa przy tworzeniu efektów takich jak cienie czy zmiany tła. Zaznaczony fragment obiektu graficznego odnosi się raczej do technik edycyjnych, takich jak maskowanie, które pozwala na wyodrębnienie określonych części obrazu, ale także nie dotyczy kanału alfa. Podstawowe parametry obiektu graficznego obejmują takie aspekty jak rozmiar, kształt, i lokalizacja, co również nie jest związane z kanałem alfa. Pojęcia te są często mylone, ponieważ wszystkie dotyczą atrakcyjności wizualnej, ale ich zrozumienie jest istotne dla skutecznego wykorzystania narzędzi graficznych. Typowym błędem myślowym jest zakładanie, że wszystkie aspekty obróbki obrazu odnoszą się do jednego, ogólnego pojęcia; w rzeczywistości każdy z tych elementów ma swoje unikalne zastosowania i funkcje w grafice komputerowej.

Pytanie 25

W języku PHP wyniki zapytania z bazy danych zostały pobrane przy użyciu polecenia mysql_query(). Aby uzyskać dane w postaci wierszy z tej zwróconej kwerendy, należy użyć polecenia:

A. mysql_field_len()
B. mysql_fetch_row()
C. mysql_list_fields()
D. mysql_fetch_lengths()
Niepoprawne odpowiedzi pokazują, że wiele osób ma problem z funkcjami, które są dostępne w starym rozszerzeniu MySQL w PHP. Na przykład, funkcja mysql_field_len() to nie to, co potrzebujesz do pobierania danych w wierszach – ona tylko zwraca długość danego pola w zestawie wyników. A mysql_fetch_lengths() z kolei zwraca długość danych w danym wierszu, co też nie rozwiązuje sprawy, bo nie dostajesz samej zawartości. Funkcja mysql_list_fields() służy do zwracania informacji o polach w zestawie wyników, co jednak nie ma związku z przetwarzaniem danych. Często popełnia się błąd w odróżnianiu funkcji dotyczących struktury danych od tych, które naprawdę zwracają dane. W programowaniu w PHP ważne jest, by wybierać odpowiednie funkcje w zależności od tego, co chcesz osiągnąć. Ludzie mogą się mylić myśląc, że funkcje związane ze strukturą i długością są tak samo przydatne jak te, które zwracają dane. Niestety, kończy się to dość kiepskim kodem, który nie działa jak należy. Dlatego warto znać różnice między tymi funkcjami, bo to naprawdę ma znaczenie przy pracy z PHP i przy wynikach zapytań do baz danych.

Pytanie 26

Podany kod źródłowy ma na celu pokazanie:

$liczba = 1;
while ($liczba != 0)
{
  $liczba = rand(0, 100);
  echo $liczba;
}
A. kolejne liczby od 1 do 100
B. liczby wprowadzane z klawiatury do momentu, gdy wczytana zostanie wartość 0
C. wylosowane liczby od 1 do 99
D. losowe liczby od 0 do 100 aż do momentu, gdy wylosowana zostanie wartość 0
Odpowiedź "losowe liczby od 0 do 100 tak długo, aż nie zostanie wylosowana wartość 0" jest poprawna, ponieważ kod źródłowy wykorzystuje funkcję rand(), która generuje losowe liczby z zadanego zakresu, w tym przypadku od 0 do 100. Pętla while działa w taki sposób, że kontynuuje swoje działanie, dopóki zmienna $liczba nie przyjmie wartości 0. Oznacza to, że wszystkie wylosowane liczby, niezależnie od tego, czy są to liczby parzyste, nieparzyste, czy wartości graniczne, będą wyświetlane na ekranie do momentu, aż wylosowana zostanie wartość 0, która przerwie działanie pętli. Przykładem zastosowania tego typu kodu może być generowanie próbki danych w celu testowania algorytmów lub symulacji. Praktyka ta jest zgodna z dobrymi standardami programowania, gdzie często wykorzystuje się losowe dane do różnych celów, takich jak testowanie, analizy statystyczne lub gry. Ponadto, rozumienie jak działa generowanie liczb losowych i kontrola pętli jest podstawową umiejętnością w programowaniu, która pomaga w rozwoju bardziej zaawansowanych aplikacji.

Pytanie 27

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

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

Pytanie 28

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

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

Pytanie 29

Kiedy zachowana jest integralność ENCJI w bazie danych?

A. gdy klucz główny jest zawsze liczbą całkowitą
B. gdy każdy klucz główny ma odpowiadający klucz obcy w innej tabeli
C. gdy każda kolumna ma przypisany typ danych
D. gdy każda tabela ma utworzony klucz główny
Pozostałe warunki nie dotyczą integralności encji. Klucz główny nie musi być liczbą całkowitą (może być np. tekstem). Przypisanie typu kolumnom to osobna kwestia. Powiązanie z kluczem obcym w innej tabeli to integralność REFERENCYJNA, nie encji. Integralność encji zapewnia klucz główny w każdej tabeli.

Pytanie 30

Aby wybrać z bazy danych rekordy spełniające określone kryteria, należy utworzyć:

A. makro
B. formularz
C. kwerendę (zapytanie)
D. raport
Pozostałe obiekty służą do czego innego. Formularz to interfejs do wygodnego wprowadzania i edycji danych, a nie do ich filtrowania według warunków. Raport prezentuje już wybrane dane w czytelnej formie do wydruku - sam nie definiuje kryteriów selekcji (często bazuje na wyniku kwerendy). Makro automatyzuje powtarzalne czynności w bazie, lecz nie wybiera rekordów. Dane spełniające określone kryteria wybiera kwerenda (zapytanie), dlatego to ona jest poprawna.

Pytanie 31

Jakie zadanie wykonuje funkcja agregująca AVG w poniższym zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. wyznaczyć największą cenę za usługi
B. obliczyć średnią arytmetyczną cen wszystkich usług
C. sprawdzić, ile usług znajduje się w tabeli
D. zsumować ceny wszystkich usług
Dobra robota z odpowiedzią! Funkcja AVG w SQL służy do obliczania średniej z wartości w danej kolumnie, tutaj mamy kolumnę 'cena' w tabeli 'uslugi'. Korzystając z AVG, możesz łatwo dowiedzieć się, jaki jest średni koszt usług, co jest mega pomocne w analizowaniu wydatków. Moim zdaniem, średnia arytmetyczna ma spore znaczenie w raportach finansowych, przy podejmowaniu decyzji w biznesie i śledzeniu trendów rynkowych. Fajnie jest też wiedzieć, że ta funkcja ignoruje wartości NULL, co sprawia, że wyniki są bardziej wiarygodne, kiedy nie wszystkie usługi mają podane ceny. Warto pamiętać, że najlepiej używać funkcji agregujących z klauzulami GROUP BY, żeby móc dokładniej analizować, na przykład średnie ceny w różnych kategoriach usług.

Pytanie 32

W której części dokumentu HTML umieszcza się wewnętrzny arkusz stylów (znacznik <style>)?

A. w treści strony (<body>)
B. w skrypcie dołączonym do strony
C. w sekcji nagłówkowej (<head>)
D. wewnątrz znacznika, którego dotyczy
Pozostałe lokalizacje są niewłaściwe. Umieszczenie <style> w <body> nie jest zgodne ze standardem. „Skrypt dołączony do strony” dotyczy plików zewnętrznych (JS lub osobny CSS przez <link>), a nie wewnętrznego <style>. Stylowanie pojedynczego znacznika to atrybut style (inline), a nie arkusz. Arkusz wewnętrzny należy do <head>.

Pytanie 33

W skrypcie JavaScript zmienne mogą być definiowane

A. jedynie wtedy, gdy podamy typ zmiennej oraz jej nazwę
B. zawsze poprzedzone znakiem $ przed nazwą
C. wyłącznie na początku skryptu
D. w chwili pierwszego użycia zmiennej
Wykorzystanie zmiennych w JavaScript jest bardziej elastyczne i złożone, niż sugerują tego niektóre odpowiedzi. Faktem jest, że w JavaScript nie ma wymogu deklarowania zmiennych na początku skryptu. Odpowiedź sugerująca, że zmienne mogą być deklarowane tylko na początku, jest nieprawidłowa, ponieważ JavaScript pozwala na deklarację w dowolnym miejscu kodu, a silnik interpretuje zmienne zgodnie z regułami hoistingu. Kolejna niepoprawna koncepcja związana jest z mylnym przekonaniem, że wcześniej należy określić typ zmiennej. JavaScript jest językiem dynamicznie typowanym, co oznacza, że nie jest konieczne podawanie typu przy deklaracji zmiennej. Dla przykładu, w wielu językach programowania, jak Java czy C#, typ musi być jawnie określony, lecz w JavaScript nie jest to wymagane, co czyni kod bardziej zwięzłym i elastycznym. Ponadto, stwierdzenie, że zmienne w JavaScript muszą być poprzedzone znakiem '$', również jest błędne. Chociaż '$' jest dozwolony w nazwach zmiennych, nie jest to wymóg. Dobre praktyki programistyczne sugerują, aby nazwy zmiennych były zrozumiałe i opisywały ich zawartość, co zwiększa czytelność kodu. W związku z tym, zrozumienie, jak i gdzie można deklarować zmienne w JavaScript, jest kluczowe dla efektywnego pisania kodu w tym języku.

Pytanie 34

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';
Wskaź, które zapytanie zwróci te same dane.
A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
Wszystkie niepoprawne odpowiedzi zawierają błędy syntaktyczne lub logiczne, które uniemożliwiają prawidłowe wykonanie zapytania. W pierwszej odpowiedzi użycie aliasu 'AS' jest niewłaściwe w tym kontekście, ponieważ nie można zastosować aliasu dla warunku w klauzuli WHERE. SQL nie interpretuje 'OR' w ten sposób, co powoduje, że zapytanie nie zwróci żadnych wyników. Druga odpowiedź z zastosowaniem klauzuli HAVING jest także błędna, ponieważ HAVING służy do filtrowania wyników po agregacji, a nie do prostego filtrowania danych w kolumnach. W tym przypadku poprawne byłoby użycie WHERE, które jest dedykowane do tego celu. Ostatnia odpowiedź z użyciem 'BETWEEN' jest zupełnie nieprawidłowa, ponieważ operator BETWEEN oczekuje dwóch wartości do porównania oraz nie może być używany z wieloma wartościami za pomocą 'OR'. W przypadku miast, powinno się stosować warunek, który precyzyjnie zdefiniuje, które miasta mają być brane pod uwagę, co w tej sytuacji nie zostało spełnione. Te błędy wskazują na nieprawidłowe zrozumienie zasad działania SQL oraz różnic pomiędzy operatorami logicznymi.

Pytanie 35

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

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

Pytanie 36

Fragment kodu SQL wskazuje, że klucz obcy

Ilustracja do pytania
A. jest obecny w tabeli obiekty
B. jest ustawiony na kolumnie obiekty
C. wiąże się z kolumną imiona
D. stanowi odniesienie do siebie samego
Klucz obcy w SQL nie umieszcza się w kolumnie obiekty, ani nie jest referencją do samego siebie. Główną funkcją klucza obcego jest zapewnienie, że dane w jednej tabeli są zgodne z danymi w innej tabeli, co jest podstawą utrzymania integralności referencyjnej w bazie danych. Po pierwsze, klucz obcy nie odnosi się do samego siebie, ponieważ jego celem jest wskazywanie na klucze główne lub unikalne kolumny w innej tabeli. Samoistne odniesienie nie miałoby sensu w kontekście zapewniania spójności danych. Po drugie, klucz obcy nie jest fizycznie umieszczony w jakiejkolwiek kolumnie w tabeli obiekty. Zamiast tego, jego definicja w kodzie SQL wskazuje, że istnieje logiczne powiązanie między kolumnami dwóch tabel. Istnieje również mylne założenie, że klucz obcy może być ustawiony na dowolną kolumnę w tabeli, na przykład w tabeli obiekty. W rzeczywistości klucz obcy musi być zdefiniowany w kontekście relacji między dwiema tabelami, a jego zadaniem jest wskazywanie na kolumnę w tabeli docelowej, która powinna zawierać wartości odpowiadające wartościom w kolumnie źródłowej. Takie niejasne rozumienie klucza obcego może prowadzić do błędów w projektowaniu struktury baz danych, co w dłuższej perspektywie może skutkować problemami z integralnością danych i wydajnością zapytań do bazy danych. Zrozumienie poprawnego zastosowania kluczy obcych jest kluczowe dla skutecznego zarządzania relacyjnymi bazami danych, dlatego ważne jest unikanie tych typowych błędów przy ich implementacji.

Pytanie 37

Metainformacja „Description” zawarta w pliku źródłowym HTML powinna zawierać

<head>
    <meta name="description" content="...">
</head>
A. nazwę programu, przy użyciu którego została stworzona strona.
B. opis tego, co znajduje się na stronie.
C. informację o tym, kto jest autorem strony.
D. wyrazy kluczowe, z których korzystają wyszukiwarki sieciowe.
Należy podkreślić, że choć autor strony czy program, którym strona została stworzona, to informacje mogą być ciekawe, nie są one celem metainformacji 'Description'. Informacje o autorstwie czy narzędziach służących do stworzenia strony mogą zostać uwzględnione w innych metatagach lub sekcjach strony, ale nie w 'Description'. Na przykład, metatag 'author' jest przeznaczony do wskazywania autora strony. Podobnie, informacje o oprogramowaniu, które zostało użyte do stworzenia strony, zwykle są zawarte w metatagu 'generator'. Co do wyrazów kluczowych, to choć są one istotne dla optymalizacji strony pod kątem wyszukiwarek, nie powinny być jedyną zawartością metatagu 'Description'. Kluczowe słowa powinny być raczej wplecione w naturalny, czytelny dla użytkownika opis strony. W ten sposób 'Description' staje się efektywnym narzędziem SEO, które pomaga zwiększyć ruch na stronie.

Pytanie 38

Zmienna należąca do typu integer lub int jest w stanie przechować

A. liczbę całkowitą
B. znak
C. liczbę rzeczywistą
D. ciąg znaków
Widzę, że mogło być trochę zamieszania z wyborem odpowiedzi. To, że próbujesz przechowywać znak jako zmienną typu integer, to niestety błąd. Znak to zazwyczaj typ char, który trzyma w sobie wartość w postaci liczby całkowitej związanej z kodem ASCII. A co do ciągów znaków, to one są nazywane stringami i składają się z wielu znaków, więc potrzebują innego typu danych, a nie integer. Te ciągi mogą mieć różne długości, co sprawia, że nie da się ich zapisać jako jednej liczby całkowitej. Jeszcze jedna nieprawidłowa odpowiedź dotyczy liczb rzeczywistych, które mają część dziesiętną i są przechowywane jako float lub double. Te typy danych to zupełnie inna liga, bo obsługują części całkowite i ułamkowe. Dlatego int nie nadaje się do trzymania wartości, które potrzebują większej precyzji, jak liczby rzeczywiste.

Pytanie 39

Na tabeli 'dania', której wiersze zostały pokazane, wykonano przedstawioną kwerendę:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 13
B. 2
C. 8
D. 5
Wybór błędnych odpowiedzi często wynika z nieprawidłowego zrozumienia warunków filtracji danych w zapytaniach SQL. Odpowiedzi takie jak 5, 8 oraz 13 mogą sugerować, że osoba udzielająca odpowiedzi nie dostrzega kluczowych ograniczeń nałożonych przez zapytanie. Po pierwsze, kwerenda ogranicza wynik do tych pozycji, które mają typ mniejszy niż 3 oraz cenę mniejszą niż 30. W odpowiedzi 5, na przykład, można błędnie założyć, że więcej pozycji spełnia te warunki, jednak po dokładnej analizie danych z tabeli tylko dwie pozycje (Gazpacho i Krem z warzyw) są zgodne z tymi kryteriami. Kolejna odpowiedź sugerująca 8 również popełnia błąd w ocenie, ponieważ nie uwzględnia dodatkowych ograniczeń dotyczących ceny. Ostatecznie odpowiedź 13, wskazująca na bezpośrednią liczbę wszystkich wierszy w tabeli, jest całkowicie mylna, ponieważ nie uwzględnia żadnych filtrów. W praktyce, kluczowym krokiem w efektywnym korzystaniu z SQL jest umiejętność precyzyjnego określania warunków, co pozwala na uzyskanie tylko tych danych, które są naprawdę potrzebne. Warto zwrócić uwagę na to, że prawidłowe zrozumienie tych zasad jest podstawą do analizy danych i podejmowania decyzji opartych na rzeczywistych informacjach.

Pytanie 40

Aby za pomocą CSS zdefiniować przedstawione na rysunku opływanie obrazu tekstem należy w stylu obrazu wprowadzić zapis

Ilustracja do pytania
A. clear: both;
B. float: left;
C. table: left;
D. float: right;
Twoja odpowiedź nie jest prawidłowa. Wszystkie podane błędne odpowiedzi są niepoprawne, ponieważ nie tworzą żądanego efektu opływania obrazu przez tekst. 'clear: both;' jest własnością CSS, która służy do zapobiegania opływaniu, a nie jego tworzeniu. Jest używana, gdy nie chcemy, aby dany element był opływany przez inne. 'table: left;' nie jest istniejącą własnością CSS, i nie ma związanego z nią konkretnego efektu. Właściwość 'float: left;' powoduje, że obraz zostaje przesunięty na lewą stronę strony, co powoduje, że tekst opływa go od prawej strony, a nie od lewej, jak to jest wymagane w pytaniu. Pamiętaj, aby zawsze dobrze zrozumieć, jakie efekty daje użycie konkretnych właściwości CSS, zanim zastosujesz je w praktyce.