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 16:14
  • Data zakończenia: 8 czerwca 2026 16:36

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Dokument HTML określa akapit oraz obrazek. Aby obrazek był wyświetlany przez przeglądarkę w tej samej linii co akapit po jego lewej stronie, należy w stylu CSS obrazka uwzględnić właściwość

A. align: left;
B. style: left;
C. alt: left;
D. float: left;
Odpowiedź "float: left;" jest naprawdę trafna. Ta właściwość w CSS sprawia, że elementy układają się obok siebie, co w tym przypadku oznacza, że rysunek wyląduje po lewej stronie akapitu. Jak użyjemy float, to rysunek 'przesuwa się' na lewo, a tekst z akapitu otacza go z prawej strony. To taki popularny sposób w webdesignie, który pozwala na ładniejsze połączenie obrazków z tekstem. Warto pamiętać, że czasem trzeba zastosować clearfix, zwłaszcza gdy mamy pływające elementy w większym układzie, żeby uniknąć problemów z rozmieszczeniem. Stosowanie float w CSS to dobra praktyka, bo pomaga zachować czytelność i estetykę tekstu. Na przykład, jeśli mamy sekcję artykułu z obrazem, który ilustruje omawiany temat, to zastosowanie float: left; sprawi, że treść będzie ładnie się układać i poprawi wrażenia użytkownika.

Pytanie 2

W języku PHP funkcja trim służy do

A. podawania długości tekstu
B. redukcji tekstu o liczbę znaków określoną w parametrze
C. usuwania białych znaków lub innych określonych w parametrze znaków z obu końców tekstu
D. porównywania dwóch tekstów i wyświetlania ich wspólnej części
Funkcja <i>trim</i> w języku PHP ma na celu usuwanie białych znaków oraz innych znaków, które są określone w jej parametrach, z obu końców napisu. To niezwykle przydatne narzędzie w programowaniu, szczególnie podczas przetwarzania danych wejściowych, gdzie użytkownicy mogą nieświadomie dodawać zbędne spacje, tabulatory lub nowe linie. Na przykład, gdy przetwarzamy dane formularzy, może się zdarzyć, że użytkownik wprowadzi swoje imię z dodatkowymi spacjami na początku lub końcu. Użycie <i>trim</i> pozwala na zapewnienie, że dane będą miały odpowiednią formę przed dalszym przetwarzaniem, co jest kluczowe w kontekście walidacji i normalizacji danych. Dodatkowo, funkcja ta wspiera podawanie własnych znaków do usunięcia, co czyni ją bardzo elastycznym narzędziem w codziennym programowaniu. Używanie <i>trim</i> jako standardowej praktyki przy obróbce danych tekstowych jest rekomendowane przez wielu ekspertów, ponieważ zwiększa to jakość i spójność przetwarzanych informacji.

Pytanie 3

Gdzie w dokumencie HTML można umieścić kod JavaScript?

A. w <head> i <body>, w znaczniku <script>
B. tylko w <body>, w znaczniku <java>
C. tylko w <head>, w znaczniku <script>
D. w <head> i <body>, w znaczniku <java>
Kod JavaScript umieszcza się w znaczniku <script>, który można wstawić zarówno w <head>, jak i w <body>. Dlatego poprawne jest: w <head> i <body>, w znaczniku <script>.

Pytanie 4

Po wykonaniu instrukcji języka JavaScript  x = Math.ceil(2.4); wartość zmiennej x będzie wynosić

A. 4
B. 8
C. 2
D. 3
W tym przykładzie kluczowe jest zrozumienie, co dokładnie robi funkcja Math.ceil() w JavaScript. Ta funkcja zawsze zaokrągla liczbę w górę do najbliższej liczby całkowitej, i to niezależnie od tego, jak mała jest część ułamkowa. Dla wartości 2.4 najbliższa liczba całkowita „w górę” to 3, więc po wykonaniu instrukcji x = Math.ceil(2.4); zmienna x przyjmie wartość 3. Nie interesuje nas tu klasyczne zaokrąglanie matematyczne do „najbliższej” liczby, tylko zawsze w stronę dodatniej nieskończoności.
W standardzie ECMAScript Math.ceil() jest jedną z podstawowych funkcji do pracy z liczbami, obok Math.floor() (zaokrąglenie w dół) i Math.round() (zaokrąglenie do najbliższej liczby całkowitej). Dla porównania: Math.floor(2.4) da 2, Math.round(2.4) też da 2, a tylko Math.ceil(2.4) zwróci 3. W praktyce webowej takie funkcje są często używane np. przy dzieleniu elementów na strony (paginacja), liczeniu ilości stron w wynikach wyszukiwania, obliczaniu liczby wierszy w siatce (grid), czy przy przeliczaniu miejsc w koszyku, kiedy musisz zawsze „doliczyć” pełną jednostkę.
Moim zdaniem warto od razu wyrobić sobie nawyk, żeby przy liczbach zmiennoprzecinkowych w JavaScript pamiętać o różnicach między ceil, floor i round, bo to są podstawowe narzędzia przy każdym kalkulatorze, module cenowym, przeliczaniu czasu trwania, dzieleniu zadań na porcje itd. Dobra praktyka jest też taka, żeby zawsze jasno nazywać zmienne, np. totalPages = Math.ceil(itemsCount / itemsPerPage); – od razu widać, że chodzi o zaokrąglenie w górę.
Podsumowując: poprawna odpowiedź to 3, bo Math.ceil() zawsze przesuwa wynik do najbliższej większej lub równej liczby całkowitej. Dla 2.4 jest to właśnie 3.

Pytanie 5

Który format najlepiej nadaje się do zapisu RASTROWEGO obrazu z przezroczystością na stronę WWW?

A. SVG
B. BMP
C. JPG
D. PNG
Do rastrowego obrazu z przezroczystością przeznaczonego na stronę WWW najlepszy jest PNG - łączy kanał alfa, kompresję bezstratną i pełne wsparcie przeglądarek. Sprawdza się przy logo, ikonach i grafikach nakładanych na różne tła. Zapamiętaj: raster + przezroczystość + web = PNG.

Pytanie 6

Jak brzmi nazwa metody sortowania, która polega na wielokrotnym analizowaniu kolejnych elementów tablicy oraz zamianie miejscami sąsiadujących elementów, aby utrzymać porządek według ustalonej reguły?

A. Sortowanie bąbelkowe
B. Sortowanie przez wybór
C. Sortowanie kubełkowe
D. Sortowanie szybkie
Wybór sortowania przez wybór, sortowania szybkiego oraz sortowania kubełkowego odnosi się do różnych metod organizacji danych, które różnią się zarówno w zakresie algorytmicznym, jak i zastosowaniami praktycznymi. Sortowanie przez wybór (Selection Sort) polega na znajdowaniu najmniejszego (lub największego) elementu z nieposortowanej części tablicy i zamienieniu go z pierwszym elementem tej części. To podejście jest mniej efektywne dla dużych zbiorów danych, ponieważ również ma złożoność O(n²) i nie korzysta z optymalizacji, które mogłyby przyspieszyć proces sortowania. Z kolei sortowanie szybkie (Quick Sort) to bardziej zaawansowana technika, która dzieli tablicę na mniejsze podtablice i sortuje je rekurencyjnie, co daje średnią złożoność O(n log n). To sprawia, że jest preferowane w aplikacjach, gdzie wydajność jest kluczowa. Sortowanie kubełkowe (Bucket Sort) z kolei polega na podziale danych na kilka "kubełków" i sortowaniu ich wewnętrznie, co również ma na celu zwiększenie efektywności sortowania, zwłaszcza w przypadku danych rozłożonych równomiernie. Typowe błędy myślowe, które mogą prowadzić do niepoprawnych wniosków, to mylenie różnorodnych technik sortowania na podstawie ich nazwy lub złożoności, a także zakładanie, że prostsze metody, jak sortowanie bąbelkowe, są wystarczające dla wszystkich przypadków bez uwzględnienia wymagań dotyczących wydajności.

Pytanie 7

Zapytanie przedstawione poniżej zwróci wynik:

SELECT COUNT(cena) FROM uslugi;
A. liczbę wszystkich cen usług w tabeli
B. średnią wartość cen usług w tabeli
C. sumę wartości cen usług w tabeli
D. wszystkie wartości cen usług w tabeli
Zapytanie SQL, które zostało przedstawione, korzysta z funkcji agregującej COUNT(), która zlicza ilość wierszy w tabeli, w której znajduje się kolumna 'cena'. W kontekście tego zapytania, COUNT(cena) zbiera wszystkie wartości w kolumnie 'cena', co oznacza, że zwróci liczbę wszystkich wierszy, w których wartość kolumny 'cena' nie jest NULL. Jest to istotne, ponieważ w praktycznych zastosowaniach bazy danych często potrzebujemy znać ilość elementów dostępnych w danym zbiorze danych, co ma kluczowe znaczenie przy analizowaniu danych oraz generowaniu raportów. Na przykład, jeśli prowadzisz firmę oferującą różne usługi, takie zapytanie pozwala Ci szybko określić, ile różnych usług posiadasz w swojej ofercie oraz jakie są ich ceny. Dobrą praktyką jest używanie funkcji COUNT() w połączeniu z klauzulą WHERE, aby dokładnie określić, które wiersze mają być zliczane, co pozwala na bardziej precyzyjne analizy.

Pytanie 8

W zamieszczonym kodzie PHP, który łączy się z serwerem bazy danych, jakie działania powinny być umieszczone w instrukcji warunkowej w miejscu trzech kropek?

$db = mysqli_connect("localhost","root","qwerty","baza1");
if ( !$db ) {
...
}
A. Przetwarzanie danych otrzymanych z bazy
B. Zamknięcie połączenia z bazą danych
C. Informacja o udanym połączeniu z bazą
D. Zarządzanie błędem połączenia
Wykonywanie operacji na źle zestawionym połączeniu z bazą danych mogłoby prowadzić do nieprzewidywalnych zachowań aplikacji. Próba obsługi danych pobranych z bazy kiedy połączenie nie zostało nawiązane jest błędnym podejściem. Bez prawidłowego połączenia nie można pobrać danych dlatego nie ma sensu implementowanie takiej logiki w tym miejscu kodu. Podobnie komunikat o pomyślnym połączeniu nie znajduje uzasadnienia w konstrukcji warunku sprawdzającego nieudane połączenie. Jeśli warunek jest spełniony oznacza to że połączenie się nie powiodło i należy podjąć kroki w celu obsługi tego błędu a nie informować o sukcesie. Zamknięcie połączenia z bazą danych jest czynnością wykonywaną na końcu pracy z bazą a nie na początku co również czyni tę odpowiedź niepoprawną w kontekście błędnego nawiązywania połączenia. Dobre praktyki programistyczne wskazują na potrzebę właściwego zarządzania połączeniami do bazy danych co obejmuje ich otwieranie dopiero gdy są potrzebne i zamykanie gdy nie są już używane. Koncepcje błędnego umiejscowienia tych operacji w logice aplikacji mogą prowadzić do nieskuteczności i obniżenia wydajności aplikacji co podkreśla wagę poprawnego zrozumienia procesu nawiązywania połączeń z bazą danych.

Pytanie 9

W systemie MySQL należy użyć polecenia REVOKE, aby odebrać użytkownikowi anna możliwość wprowadzania zmian tylko w definicji struktury bazy danych. Odpowiednie polecenie do zrealizowania tej operacji ma formę

A. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
B. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
Wszystkie inne odpowiedzi są nieprawidłowe z kilku powodów. W pierwszej z nich, 'REVOKE ALL ON tabela1 FROM 'anna'@'localhost'', przyznawane są wszystkie uprawnienia, co jest sprzeczne z intencją odebrania tylko określonych praw. Użytkownicy powinni być ograniczani jedynie w tych obszarach, gdzie to konieczne. Z kolei odpowiedź 'REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'' zawiera 'UPDATE', co jest związane z danymi, a nie strukturą bazy, co również czyni ją niewłaściwą. Odmowa praw do aktualizacji danych nie jest odpowiednia w kontekście modyfikacji struktury bazy. Z kolei opcja 'REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'' ponownie nie odnosi się do struktury bazy, ponieważ odnosi się do manipulacji danymi, nie do struktury. Kluczowym błędem w tym kontekście jest mylenie uprawnień związanych z danymi z uprawnieniami związanymi ze strukturą bazy danych. W zarządzaniu uprawnieniami w MySQL istotne jest zrozumienie różnicy pomiędzy tymi kategoriami, aby skutecznie zabezpieczyć bazę danych. W praktyce dobrym podejściem jest wdrożenie zasady minimalnych uprawnień, co zmniejsza ryzyko nieautoryzowanych zmian w strukturze i danych bazy.

Pytanie 10

Który zapis definiuje w JavaScripcie komentarz JEDNOLINIOWY?

A.
#
B.
//
C.
?
D.
/*
# rozpoczyna komentarz w PHP lub Pythonie, nie w JS. /* otwiera komentarz BLOKOWY (zamykany */). ? to część operatora warunkowego. Komentarz do końca linii daje //.

Pytanie 11

Jak wygląda instrukcja przypisania wartości do elementu tablicy w języku JavaScript względem tablicy?

Tablica['technik'] = 'informatyk';
A. statycznej
B. asocjacyjnej
C. wielowymiarowej
D. numerycznej
W języku JavaScript tablice mogą być traktowane jako obiekty, a więc wykazują cechy struktur asocjacyjnych. Przypisując wartość do tablicy za pomocą notacji z nawiasami kwadratowymi, jak w przykładzie 'Tablica[\'technik\'] = \'informatyk\';', tworzymy nowy element o kluczu 'technik', co jest charakterystyczne dla obiektów asocjacyjnych. W JavaScript tablice są dynamiczne, co oznacza, że możemy dodawać elementy w dowolny sposób, a ich rozmiar nie jest ustalony z góry. Standard ECMAScript definiuje tablice jako obiekty, gdzie klucze są indeksami liczb całkowitych, ale można również używać stringów jako kluczy, co czyni tablice asocjacyjnymi. Przykładem może być obiekt, który przechowuje różne informacje, a elementy są dostępne zarówno za pomocą indeksów numerycznych, jak i stringów. Warto zaznaczyć, że użycie tablicy jako obiektu asocjacyjnego może być praktyczne w wielu zastosowaniach, np. w przechowywaniu konfiguracji czy zestawów danych. Dobrą praktyką jest jednak ograniczać użycie takich technik dla przejrzystości kodu."

Pytanie 12

Które z wymienionych NIE jest wykonywane po stronie serwera?

A. PHP
B. CSS
C. Perl
D. ASP
Pozostałe technologie działają na SERWERZE: ASP, PHP i Perl generują tam treść strony, zanim trafi do przeglądarki. CSS jest inny - to język opisu wyglądu wykonywany w przeglądarce klienta. Dlatego po stronie serwera nie wykonuje się CSS.

Pytanie 13

Wykonanie zapytania SQL spowoduje skasowanie rekordów:

DELETE FROM mieszkania WHERE status = 1;
A. tabeli mieszkania znajdującej się w bazie danych
B. elementów o nazwie status z tabeli mieszkania
C. tabel, w których wartość pola status wynosi 1, z bazy danych mieszkania
D. rekordów, w których wartość pola status jest równa 1, z tabeli mieszkania
Wskazanie, że kwerenda SQL usunie tabele, pola lub całą tabelę, jest niepoprawne i opiera się na nieporozumieniach dotyczących struktury zapytań SQL. Składnia SQL rozróżnia operacje na poziomie tabel, kolumn i rekordów. W przypadku zapytania DELETE, operacja dotyczy zawsze rekordów, które spełniają określony warunek, a nie struktur tabeli ani kolumn. Usunięcie tabeli wymagałoby użycia zapytania DROP TABLE, natomiast usunięcie kolumny to operacja ALTER TABLE, a następnie DROP COLUMN. Warto zauważyć, że nie można usunąć pola (kolumny) przy pomocy zapytania DELETE, ponieważ to zapytanie nie działa na poziomie strukturalnym bazy danych, a jedynie na danych. W procesie uczenia się SQL, ważne jest, aby zrozumieć, że każdy typ zapytania ma swoje specyficzne zastosowanie i niepoprawne zrozumienie ich funkcji może prowadzić do poważnych pomyłek. Dlatego kluczowe jest, aby przed przystąpieniem do edycji danych w bazie, zapoznać się z dokumentacją oraz najlepszymi praktykami zarządzania danymi, co pozwala uniknąć niepożądanych skutków.

Pytanie 14

W jakim języku została napisana podana linia kodu

Ilustracja do pytania
A. C#
B. PHP
C. Python
D. JavaScript
Linia kodu przedstawiona w pytaniu to przykład zastosowania języka JavaScript, co jest kluczowe do rozróżnienia od innych języków programowania. Kod w języku C# różniłby się znacząco, gdyż C# jest częściej używany w kontekście aplikacji desktopowych lub serwerowych, a jego składnia wymagałaby innego podejścia do manipulacji elementami interfejsu użytkownika. PHP, będąc językiem skryptowym działającym po stronie serwera, również nie używa DOM w taki sam sposób jak JavaScript. Jego rola w web development jest bardziej związana z przetwarzaniem danych na serwerze i generowaniem dynamicznych treści przed wysłaniem ich do przeglądarki. Python, znany ze swojej wszechstronności, jest rzadziej używany do bezpośredniej manipulacji DOM w aplikacjach webowych, chociaż istnieją biblioteki umożliwiające takie działania. Typowe błędy w rozróżnianiu tych języków wynikają z niezrozumienia ich specyficznych zastosowań i kontekstów działania. JavaScript jest unikalny ze względu na swoją zdolność do działania bezpośrednio w przeglądarce użytkownika, co pozwala na żywe i dynamiczne zmiany w treści strony bez potrzeby odświeżania. Rozumienie tych różnic jest kluczowe dla skutecznego rozwoju webowego i skutecznego wykorzystania odpowiednich narzędzi w odpowiednich kontekstach.

Pytanie 15

Zakładając, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL przyzna użytkownikowi anna jedynie uprawnienia do

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
A. wybierania, dodawania pól oraz modyfikacji struktury tabeli o nazwie klienci
B. wybierania, dodawania pól oraz modyfikacji struktury wszystkich tabel w bazie o nazwie klienci
C. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
D. wybierania, wstawiania oraz modyfikacji danych w wszystkich tabelach w bazie o nazwie klienci
To polecenie SQL, które widzisz, czyli GRANT SELECT INSERT UPDATE ON klienci TO anna, po prostu przyznaje użytkownikowi anna konkretne uprawnienia do tabeli klienci. Dzięki temu, ona może odczytywać dane z tej tabeli, co jest naprawdę ważne, zwłaszcza przy robieniu różnych zapytań czy raportów. A jakbyś chciał dodać nowe rekordy, to właśnie INSERT na to pozwala. To mega istotne, bo w bazach danych często coś się zmienia! Natomiast UPDATE daje możliwość zmieniania już istniejących danych, co jest bardzo przydatne, żeby utrzymać wszystko w porządku i aktualności. To jakby standard w zarządzaniu bazami danych. Przyznawanie uprawnień do konkretnej tabeli, a nie całej bazy, zmniejsza ryzyko, że ktoś dostanie dostęp do danych, które nie są dla niego przeznaczone. To wszystko działa zgodnie z zasadą minimalnych uprawnień, co jest super ważne! Można też lepiej kontrolować, kto i jakie operacje może robić na danych, co zapewnia bezpieczeństwo i integralność danych w firmie.

Pytanie 16

Aby zrealizować opisane czynności w JavaScript, konieczne jest umieszczenie poniższego kodu w znaczniku <script>

Ilustracja do pytania
A. A = alert("Podaj kwalifikację: ");
document.write("Kwalifikacja: "+A)
B. A = prompt("Podaj kwalifikację: ");
document.write("Kwalifikacja: ".A)
C. A << prompt("Podaj kwalifikację: ");
document.write("Kwalifikacja: "+A)
D. A = prompt("Podaj kwalifikację: ");
document.write("Kwalifikacja: "+A)
Rozważając podane odpowiedzi warto zauważyć kilka typowych błędów koncepcyjnych związanych z używaniem funkcji w JavaScript. Po pierwsze, w jednej odpowiedzi użyto kropki zamiast operatora konkatenacji przy próbie łączenia łańcuchów znaków, co jest błędne w JavaScript. W tym języku operator + jest standardowym sposobem na łączenie tekstu z wartościami zmiennych. Użycie kropki w tym kontekście jest błędne, ponieważ odnosi się do operacji obiektowych, nie do konkatenacji łańcuchów. Innym błędem jest wykorzystanie operatora <<, który w rzeczywistości służy do przesunięć bitowych, a nie do przypisywania wartości czy wywoływania funkcji. Takie pomyłki mogą wynikać z niezrozumienia różnic między operacjami bitowymi a przypisaniem wartości. Kolejna opcja sugerowała użycie alert() zamiast prompt(), co oznaczałoby wyświetlenie jedynie komunikatu bez możliwości wprowadzenia danych przez użytkownika, co nie spełnia założeń zadania polegających na pobraniu wartości od użytkownika. Wszystkie te błędne odpowiedzi wynikają z nieznajomości lub niepoprawnego użycia podstawowych funkcji i operatorów języka JavaScript co podkreśla znaczenie dokładnego zrozumienia podstaw języka oraz ich praktycznego zastosowania. Poprawne użycie prompt() i document.write() jest kluczowe w implementacji interaktywnych elementów na stronach internetowych, co pozwala na dynamiczne przetwarzanie danych użytkowników w aplikacjach webowych. Dobrze jest stosować się do standardów i dobrych praktyk, aby unikać podobnych błędów w przyszłości oraz by tworzyć aplikacje, które są zarówno funkcjonalne, jak i bezpieczne.

Pytanie 17

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. dodatnich elementów tablicy
B. nieparzystych elementów tablicy
C. parzystych elementów tablicy
D. wszystkich elementów tablicy
Kod analizuje tablicę liczby i sumuje wyłącznie te elementy, które są parzyste. Nie można zatem mówić o sumowaniu nieparzystych czy wszystkich elementów tablicy. Warunek liczby[i] % 2 == 0 jednoznacznie wskazuje na sumowanie wyłącznie parzystych wartości – reszta z dzielenia przez 2 równa 0 jednoznacznie identyfikuje liczbę jako parzystą. W kontekście sumowania wszystkich elementów, kod nie spełnia tej funkcji, gdyż wykorzystuje warunek ograniczający sumowanie do parzystych liczb. Rozważania o sumowaniu wszystkich elementów lub tylko dodatnich nie znajdują uzasadnienia w analizowanym kodzie. Częstym błędem może być mylenie operacji logicznych i warunkowych w pętli, co prowadzi do niepoprawnych interpretacji zadania. W praktyce, prawidłowe zrozumienie i zastosowanie operatorów warunkowych, takich jak modulo, jest niezbędne w programowaniu, szczególnie przy operacjach na tablicach i dużych zestawach danych. Warunki, jak ten zastosowany w kodzie, umożliwiają precyzyjne filtrowanie danych, co jest kluczowe w wielu aplikacjach, w tym w analizie danych czy automatyzacji procesów. Zrozumienie tych mechanizmów jest fundamentalne dla programisty, zarówno w kontekście wydajności, jak i poprawności działania algorytmów.

Pytanie 18

Aby w MySQL nadać użytkownikowi prawo do nadawania i modyfikowania uprawnień innym użytkownikom, należy użyć klauzuli:

A.
FLUSH PRIVILEGES
B.
GRANT OPTION
C.
ALL PRIVILEGES
D.
TRIGGER
Klauzula WITH GRANT OPTION dodana do polecenia GRANT daje użytkownikowi prawo przekazywania innym tych uprawnień, które sam otrzymał. Np. GRANT SELECT ON baza.* TO jan WITH GRANT OPTION pozwala Janowi nadawać SELECT kolejnym osobom. Dlatego do delegowania uprawnień służy GRANT OPTION.

Pytanie 19

Który znacznik służy do budowania hierarchii (struktury) tekstu nagłówkami?

A.
<u>
B.
<head>
C.
<style>
D.
<h6>
Pozostałe znaczniki nie budują hierarchii nagłówków. <u> podkreśla tekst, <head> to sekcja metadanych (nie nagłówek treści!), a <style> zawiera reguły CSS. Nagłówkiem struktury tekstu jest <h6>.

Pytanie 20

Elementem wykorzystywanym w bazie danych do podsumowywania, prezentowania oraz drukowania danych jest

A. raport
B. zapytanie
C. formularz
D. zestawienie
Zapytanie, formularz i zestawienie, choć mogą być używane w kontekście pracy z danymi, pełnią inne funkcje niż raport. Zapytanie to instrukcja w języku zapytań, najczęściej SQL, która pozwala na pobranie określonych danych z bazy danych. Zapytania są fundamentalne dla interakcji z bazami danych, ponieważ umożliwiają użytkownikom selekcjonowanie, filtrowanie i sortowanie informacji, ale same w sobie nie dostarczają gotowych podsumowań ani analiz. Formulario to interaktywny element, który umożliwia użytkownikom wprowadzanie danych; jego głównym celem jest zbieranie informacji, a nie ich prezentacja. Użytkownicy często mylą formularze z raportami, co prowadzi do nieporozumień w zakresie ich zastosowania. Zestawienie, z kolei, może odnosić się do porównania wartości lub grup danych, ale nie jest standardowym terminem w kontekście raportów, co może powodować niejasności. Warto zrozumieć, że raporty są narzędziem do podsumowywania wyników, podczas gdy zapytania, formularze i zestawienia mają różne cele i funkcje. Kluczowa jest umiejętność rozróżniania tych elementów, aby skutecznie zarządzać danymi i prezentować je w odpowiedni sposób.

Pytanie 21

Zestawienie dwóch kolorów znajdujących się po przeciwnych stronach na kole barw stanowi zestawienie

A. monochromatycznym
B. dopełniającym
C. sąsiednim
D. trójkątnym
Wybór sąsiadujących barw oznaczałby połączenie kolorów, które leżą obok siebie na kole barw, co prowadzi do efektu harmonijnego i spokojnego, ale nie intensywnego, jak w przypadku barw dopełniających. Tego typu zestawienia są często stosowane w projektach wymagających łagodnych przejść kolorystycznych, np. w architekturze wnętrz. Monochromatyczne zestawienia, z drugiej strony, polegają na używaniu różnych odcieni, tonów lub nasycenia jednej barwy, uzyskując efekt spójności, ale bez kontrastu. Takie podejście może być stosowane w minimalistycznych projektach, ale nie wykorzystuje pełnego potencjału kontrastów. Natomiast koncepcja trójkątnych zestawień kolorystycznych odnosi się do używania trzech kolorów, które tworzą trójkąt równoboczny na kole barw, co także prowadzi do harmonii, ale niekoniecznie do dynamiki i intensywności, które charakteryzują połączenia dopełniające. Typowym błędem myślowym jest pomylenie pojęcia kontrastu z harmonią, co prowadzi do niepoprawnych wniosków o funkcji poszczególnych zestawień kolorystycznych w praktyce projektowej.

Pytanie 22

Którą właściwość CSS należy zastosować, aby ustawić rozmiar (wielkość) tekstu?

A.
font-size
B.
font-weight
C.
font-style
D.
text-size
Rozmiar tekstu ustawia w CSS właściwość font-size, w której podaje się wartość z jednostką, np. font-size: 16px albo font-size: 1.2em. Im większa wartość, tym większe litery. Dla responsywności często używa się jednostek względnych (em, rem, %). Dlatego do ustawienia wielkości tekstu służy font-size.

Pytanie 23

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 24

Który atrybut <img> trzeba uzupełnić, aby strona była dostępna dla osób NIEWIDOMYCH?

A.
style
B.
alt
C.
text
D.
src
Pozostałe atrybuty nie pełnią tej roli. src wskazuje ścieżkę do pliku obrazu - jest konieczny, by obraz się wyświetlił, ale nic nie mówi czytnikowi ekranu. Atrybut text dla <img> nie istnieje, a style odpowiada wyłącznie za wygląd. Treść dla czytników ekranu niesie alt.

Pytanie 25

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
B. zliczanie liczby wizyt na stronie
C. pokazanie ciasteczka z zapisanym parametrem
D. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
Program w PHP pokazany w pytaniu wykorzystuje mechanizm ciasteczek do zliczania liczby odwiedzin strony przez użytkownika. Mechanizm ten opiera się na zmiennej 'ciastko', która jest przechowywana w ciasteczku w przeglądarce użytkownika. Przy pierwszym uruchomieniu strony, jeśli ciasteczko nie istnieje, ustawiana jest jego wartość na 1. W kolejnych odwiedzinach wartość ta jest odczytywana i zwiększana o 1, a następnie ponownie zapisywana do ciasteczka. Dzięki temu użytkownik, odświeżając stronę, widzi aktualizowaną liczbę odwiedzin. Takie rozwiązanie jest skuteczne w śledzeniu aktywności użytkownika na stronie, ale ma swoje ograniczenia. Na przykład, jeśli użytkownik wyczyści ciasteczka w swojej przeglądarce, licznik zostanie zresetowany, co może być niepożądane w niektórych aplikacjach. Zliczanie odwiedzin z wykorzystaniem ciasteczek jest jednak popularnym podejściem ze względu na prostotę implementacji i brak potrzeby skomplikowanej infrastruktury serwerowej. W praktyce, dla bardziej zaawansowanej analizy odwiedzin, często korzysta się również z narzędzi analitycznych, jak Google Analytics, które pozwalają na śledzenie użytkowników bez wpływu na ich lokalne ustawienia przeglądarki

Pytanie 26

W HTML atrybut alt elementu img służy do określenia

A. lokalizacji i nazwy pliku źródłowego grafiki
B. opisu, który pojawi się pod grafiką
C. treści, która zostanie pokazana, gdy grafika nie może być załadowana
D. parametrów grafiki, takich jak wymiary, ramka, wyrównanie
Istnieje wiele nieporozumień dotyczących roli atrybutu <b>alt</b> w znaczeniu <b>img</b>. Niektórzy mogą błędnie sądzić, że atrybut ten służy do definiowania parametrów grafiki, takich jak rozmiar czy obramowanie. Warto jednak zauważyć, że rozmiar i obramowanie obrazów są regulowane przez inne atrybuty HTML oraz style CSS, a nie przez atrybut <b>alt</b>. Atrybut ten nie ma również nic wspólnego z podpisami pod grafiką, które można osiągnąć za pomocą elementów takich jak <b>figure</b> i <b>figcaption</b>. Kolejnym błędnym podejściem jest mylenie atrybutu <b>alt</b> ze ścieżką do pliku źródłowego grafiki, co jest regulowane przez atrybut <b>src</b>. Atrybut <b>alt</b> nie dostarcza informacji o lokalizacji pliku, ale raczej o jego zawartości w przypadku, gdy nie jest on dostępny. Takie błędne interpretacje mogą prowadzić do nieprawidłowego zrozumienia zagadnień dostępności i optymalizacji treści w sieci, co jest kluczowe w nowoczesnym projektowaniu stron internetowych. Dlatego istotne jest, aby dokładnie poznawać funkcje każdego z atrybutów HTML oraz stosować je zgodnie z ich przeznaczeniem, co przyczyni się do lepszej dostępności i jakości tworzonych treści.

Pytanie 27

Element <meta charset="utf-8"> definiuje metadane odnoszące się do strony internetowej dotyczące

A. języka używanego na stronie
B. słów kluczowych
C. opisu witryny
D. kodowania znaków
Element <meta charset="utf-8"> jest kluczowym składnikiem metadanych w dokumentach HTML, który określa sposób kodowania znaków używanych na stronie internetowej. Użycie kodowania UTF-8, które jest najczęściej stosowanym standardem, pozwala na wyświetlanie różnorodnych znaków z różnych języków, w tym znaków diakrytycznych. Dzięki temu, strony internetowe mogą być dostępne dla szerokiego grona użytkowników bez obaw o błędy związane z wyświetlaniem tekstu. Kiedy przeglądarka internetowa napotyka ten element, wie, że powinna interpretować zawartość dokumentu zgodnie z określonym kodowaniem. Jest to szczególnie ważne w kontekście globalizacji internetu, gdzie treści mogą być tworzone w wielu językach. Ustalając odpowiednie kodowanie, programiści minimalizują ryzyko wystąpienia problemów z wyświetlaniem, takich jak zamienione znaki czy nieczytelne fragmenty tekstu. Właściwe ustawienie metadanych jest zgodne z wytycznymi W3C oraz zaleceniami dla twórców stron internetowych, co czyni ten element niezbędnym w każdej współczesnej witrynie.

Pytanie 28

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

A. mysql_field_len
B. mysql_fetch_lengths
C. mysql_list_fields
D. mysql_fetch_row
Wszystkie inne odpowiedzi są nieprawidłowe z różnych powodów, które warto dokładnie zrozumieć. mysql_field_len to funkcja używana do uzyskania długości pola w danej tabeli, a więc nie ma zastosowania w kontekście pobierania wierszy danych. To podejście jest typowym błędem myślowym, w którym zamiast skupić się na operacji, która dotyczy danych wynikowych, użytkownik myli funkcje związane z metadanymi i długościami pól. mysql_list_fields, z kolei, służy do uzyskiwania listy pól w danej tabeli, co również nie odpowiada na potrzebę pobrania danych z kwerendy. Znowu, może to wynikać z nieporozumienia dotyczącego różnicy między metadanymi a rzeczywistymi danymi. Ostatnia funkcja, mysql_fetch_lengths, zwraca długości wszystkich pól w ostatnio pobranym wierszu, co jest przydatne, ale również nie sprosta zadaniu pobrania wiersza danych. Zrozumienie, że różne funkcje mają różne zastosowania, jest kluczowe w programowaniu, szczególnie w pracy z bazami danych, gdzie precyzyjność i znajomość funkcjonalności API są niezbędne do efektywnego działania aplikacji. Warto również dodać, że w kontekście nowoczesnych aplikacji zamiast przestarzałych funkcji mysql, lepiej jest używać mysqli lub PDO, które są bardziej bezpieczne i oferują lepsze wsparcie dla nowoczesnych praktyk programistycznych.

Pytanie 29

Którego atrybutu użyć, aby wartości w kolumnie NIE mogły się powtarzać?

A.
UNIQUE
B.
DEFAULT
C.
NOT NULL
D.
IDENTITY
Atrybut UNIQUE wymusza, by wartości w kolumnie się NIE powtarzały - baza odrzuci próbę wstawienia duplikatu. Stosuje się go np. dla adresów e-mail czy numerów PESEL. Dlatego unikalność zapewnia UNIQUE.

Pytanie 30

Który atrybut HTML wyświetla podpowiedź (dymek) pokazywaną po najechaniu kursorem na element?

A.
id
B.
alt
C.
src
D.
title
Pozostałe atrybuty pełnią inne funkcje. alt niesie tekst alternatywny obrazu - pokazuje się, gdy obraz się nie wczyta, i odczytuje go czytnik ekranu, ale nie jest dymkiem po najechaniu. src wskazuje ścieżkę do pliku (np. obrazu lub skryptu). id nadaje elementowi unikalny identyfikator używany w CSS i JavaScript. Podpowiedź w postaci dymka wyświetla atrybut title, dlatego to on jest poprawny.

Pytanie 31

Wskaż zapytanie, w którym dane zostały uporządkowane.

A. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
B. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
C. SELECT DISTINCT produkt, cena FROM artykuly;
D. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
Odpowiedź SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek jest poprawna, ponieważ zawiera klauzulę ORDER BY, która jest używana do sortowania wyników zapytania w SQL. W tym przypadku, dane są sortowane według wieku mieszkańców, co pozwala na łatwe zrozumienie rozkładu wiekowego w tej grupie. Klauzula ORDER BY jest standardowym elementem SQL, który może sortować wyniki w porządku rosnącym (ASC) lub malejącym (DESC). Przykładowe zastosowanie to raporty, w których użytkownik chce zobaczyć dane uporządkowane według konkretnego kryterium, np. wiek, cena, data. Dobre praktyki sugerują, aby zawsze jasno definiować, które kolumny mają być używane do sortowania, a także zrozumieć, że sortowanie wpływa na wydajność zapytań, zwłaszcza przy dużych zbiorach danych. W przypadku bardziej złożonych zapytań można także łączyć klauzulę ORDER BY z innymi klauzulami, takimi jak GROUP BY, co zwiększa elastyczność w analizie danych.

Pytanie 32

Wynik wykonania zapytania SQL to

SELECT count(*) FROM Uczniowie WHERE srednia = 5;
A. liczba uczniów, których średnia ocen wynosi 5
B. całkowita liczba uczniów
C. średnia ocen wszystkich uczniów
D. suma ocen uczniów, których średnia ocen to 5
Poprawna odpowiedź to liczba uczniów, których średnia ocen wynosi 5. Zapytanie SQL zawiera funkcję agregującą count(*), która zlicza wszystkie rekordy spełniające warunek określony w klauzuli WHERE. W tym przypadku filtrujemy uczniów, których średnia ocen jest równa 5. Tego rodzaju operacje są powszechnie stosowane w bazach danych do uzyskiwania statystyk oraz analizowania danych. Na przykład, jeśli chcemy ocenić skuteczność programu nauczania, możemy zastosować podobne zapytanie, aby zidentyfikować liczbę uczniów osiągających określony poziom w nauce. W praktyce ważne jest, aby zrozumieć, że przy używaniu funkcji agregujących w SQL, wyniki mogą być niezwykle cenne dla menedżerów edukacyjnych, którzy podejmują decyzje na podstawie danych. Rekomendowane jest również zrozumienie kontekstu, w jakim są stosowane takie zapytania, oraz sposób, w jaki można je optymalizować dla większych zbiorów danych, aby uzyskać szybkie i dokładne wyniki.

Pytanie 33

Skrypt strony internetowej stworzony w PHP

A. może być uruchomiony bez wsparcia serwera WWW
B. jest realizowany po stronie klienta
C. jest realizowany po stronie serwera
D. jest przetwarzany na tych samych zasadach co JavaScript
Wybór niewłaściwych odpowiedzi wskazuje na pewne nieporozumienia dotyczące architektury aplikacji internetowych. Istotne jest, że kod PHP jest przetwarzany na serwerze, a nie po stronie klienta. Odpowiedzi, które wskazują na wykonanie kodu po stronie klienta, mylą koncepcję PHP z językami, takimi jak JavaScript, które rzeczywiście działają w przeglądarkach użytkowników. PHP generuje HTML, CSS, oraz inne zasoby, które są następnie przesyłane do klienta, ale sam kod PHP nie jest bezpośrednio wykonywany w przeglądarkach. Kolejnym błędnym założeniem jest myślenie, że PHP może być uruchomione bez obsługi serwera WWW. PHP wymaga serwera, takiego jak Apache czy Nginx, aby móc interpretować skrypty i odpowiadać na żądania HTTP. W przypadku pracy lokalnej programiści często korzystają z narzędzi takich jak XAMPP czy MAMP, które symulują środowisko serwera. Ostatnia niewłaściwa odpowiedź sugeruje, że PHP jest przetwarzane na tych samych zasadach co JavaScript. Choć oba języki są kluczowe w rozwijaniu aplikacji webowych, różnią się one istotnie zachowaniem i miejscem wykonywania kodu. JavaScript działa po stronie klienta, co pozwala na interakcję z użytkownikiem bez konieczności ponownego ładowania strony, podczas gdy PHP jest odpowiedzialne za przetwarzanie danych na serwerze i generowanie odpowiedzi, które są następnie przesyłane do klienta.

Pytanie 34

Uprawnienia obiektowe przyznawane użytkownikom serwera bazy danych mogą umożliwiać lub ograniczać

A. przechodzić uprawnienia
B. realizować operacje na bazie, takie jak wstawianie lub modyfikowanie danych
C. wykonywać polecenia, takie jak tworzenie kopii zapasowej
D. zmieniać role i konta użytkowników
Uprawnienia obiektowe w kontekście baz danych pozwalają na kontrolowanie dostępu do różnych zasobów, takich jak tabele, widoki czy procedury składowane. Odpowiedź dotycząca wykonywania operacji na bazie, takich jak wstawianie czy modyfikowanie danych, jest prawidłowa, ponieważ uprawnienia te bezpośrednio wpływają na możliwości użytkownika w zakresie manipulacji danymi. Przykładowo, jeśli użytkownik posiada uprawnienie do INSERT, może dodawać nowe rekordy do tabeli, natomiast uprawnienie UPDATE pozwala na zmianę istniejących danych. Takie zarządzanie uprawnieniami jest kluczowe w kontekście bezpieczeństwa danych oraz zapewnienia integralności systemu, ponieważ pozwala na ograniczenie dostępu tylko do tych operacji, które są niezbędne dla danego użytkownika. W praktyce administratorzy baz danych stosują zasady minimalnych uprawnień, przyznając użytkownikom tylko te uprawnienia, które są niezbędne do wykonywania ich pracy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bezpieczeństwem baz danych.

Pytanie 35

Co robi w SQL polecenie INSERT INTO?

A. wprowadza dane (nowy wiersz) do tabeli
B. tworzy tabelę
C. modyfikuje istniejące rekordy
D. dodaje kolumny do tabeli
Polecenie INSERT INTO wprowadza do tabeli nowy wiersz z danymi, np. INSERT INTO osoby (imie) VALUES ("Ala"). Dlatego INSERT INTO wprowadza nowy wiersz do tabeli.

Pytanie 36

W tabeli pracownicy (kolumny: nazwisko, imie, pensja, wiek) chcemy obliczyć średnią pensję. Które zapytanie jest poprawne?

A.
SELECT AVG(nazwisko) FROM pracownicy
B.
SELECT AVG(pensja) FROM pracownicy
C.
SELECT VAR(pensja) FROM nazwisko
D.
SELECT VAR(pracownicy) INTO pensja
Średnią wartość z kolumny liczy funkcja agregująca AVG, której podaje się nazwę kolumny liczbowej, a po FROM - nazwę tabeli. Aby uzyskać średnią pensję, zapisuje się SELECT AVG(pensja) FROM pracownicy. Dlatego to zapytanie jest poprawne.

Pytanie 37

Wybierz prawidłowy sposób umieszczania komentarzy w kodzie źródłowym HTML

A. <!-- informacje komentarza -->
B. -- informacje komentarza --
C. "" informacje komentarza ""
D. /* informacje komentarza */
Komentarze w HTML mają swoją bardzo konkretną składnię i to jest coś, czego przeglądarka trzyma się dość sztywno. Wiele osób myli tu różne języki i przenosi nawyki z innych technologii. Na przykład zapis w stylu -- informacje komentarza -- wygląda trochę jak fragment właściwego komentarza, bo są myślniki, ale brakuje kluczowych elementów: otwierającego ciągu <!-- i zamykającego -->. Bez tych znaków przeglądarka potraktuje taki tekst po prostu jako zwykłą treść strony lub wręcz jako błędny fragment kodu, co może rozwalić strukturę dokumentu. Taki zapis nie jest nigdzie opisany w specyfikacji HTML, więc po prostu nie działa jako komentarz. Z kolei zapis /* informacje komentarza */ pochodzi z zupełnie innego świata – to składnia komentarzy w CSS, w JavaScript (dla komentarza blokowego), w wielu językach programowania typu C, Java, PHP. I tu pojawia się typowy błąd: ktoś zna już programowanie, więc „z przyzwyczajenia” używa tych samych komentarzy w HTML. Niestety HTML nie jest językiem programowania, tylko językiem znaczników i ma własne zasady. Przeglądarka zignoruje /* */ jako komentarz HTML, a jeśli w środku będą jakieś znaki specjalne, może to nawet powodować dziwne efekty w wyświetlaniu. Podobnie zapis w cudzysłowach, czyli "" informacje komentarza "", jest po prostu tekstem w cudzysłowie. W HTML takie coś może się pojawić np. jako wartość atrybutu, ale na pewno nie jako komentarz. Przeglądarka to normalnie wyświetli, bo nie ma żadnego powodu, żeby to ukrywać. Typowy błąd myślowy jest tu taki, że skoro komentarz to „coś, czego użytkownik nie widzi”, to wystarczy „jakoś to oznaczyć”. Niestety, w technologiach webowych nie działa „jakoś”, tylko dokładnie to, co przewiduje standard. Jedyną poprawną formą komentarza w HTML jest <!-- treść komentarza -->. Warto to sobie dobrze utrwalić, bo mieszanie składni z CSS, JavaScriptu czy języków backendowych w HTML prowadzi do trudnych do wykrycia błędów i nieczytelnego kodu.

Pytanie 38

Klucz obcy w tabeli jest używany w celu

A. połączenia go z innymi kluczami obcymi w tabeli
B. umożliwienia jednoznacznej identyfikacji rekordu w danej tabeli
C. opracowania formularza do wprowadzania danych do tabeli
D. zdefiniowania relacji 1..n łączącej go z kluczem głównym innej tabeli
Klucz obcy w tabeli pełni kluczową rolę w definiowaniu relacji między tabelami w bazach danych. Dzięki zastosowaniu klucza obcego możliwe jest określenie relacji 1..n, co oznacza, że jeden rekord w tabeli głównej może być powiązany z wieloma rekordami w tabeli podrzędnej. Przykładem może być tabela 'Klienci' i tabela 'Zamówienia', gdzie klucz obcy w tabeli 'Zamówienia' wskazuje na klucz główny w tabeli 'Klienci'. To pozwala na gromadzenie wielu zamówień dla jednego klienta, co jest niezbędne w systemach e-commerce. Praktyczne wdrożenie kluczy obcych wspiera integralność danych oraz zapobiega ich duplikacji. Właściwe projektowanie relacji w bazach danych zgodnie z zasadami normalizacji wprowadza przejrzystość i efektywność w zarządzaniu danymi, a także ułatwia ich późniejszą analizę i raportowanie. W branży IT standardem jest stosowanie kluczy obcych w celu zapewnienia spójności i relacyjności danych, co jest istotne dla każdej aplikacji opierającej się na bazach danych.

Pytanie 39

Wskaż prawdziwe stwierdzenie dotyczące polecenia:

CREATE TABLE IF NOT EXISTS adres (ulica VARCHAR(70) CHARACTER SET utf8);
A. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
B. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
C. Klauzula CHARACTER SET utf8 jest obowiązkowa.
D. Rekordem tabeli nie może być '3 MAJA'.
Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.

Pytanie 40

Który efekt został zaprezentowany na filmie?

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