Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 6 września 2026 12:55
Zakończenie: 6 września 2026 13:16 Rozwiązano w aplikacji mobilnej
Egzamin zdany!
Wynik: 26/40 punktów (65,0%)
Wymagane minimum: 20 punktów (50%)
Twój wynik na tle innych
Twój wynik jest lepszy niż 47% podejść do kwalifikacji INF.03.
Porównanie z 40259 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Poprawa! Poprzednio 47,5%, teraz 65,0% (+17,5 p.p.).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
Naciśnięcie przycisku o nazwie "niebieski" spowoduje uruchomienie podanego kodu JavaScript. Jaki będzie rezultat jego działania?
A. Zmiana koloru przycisku na niebieski
B. Zmiana koloru tekstu "i skrypt" na niebieski
C. Zmiana koloru tekstu "Przykładowy tekst" na niebieskiPoprawna odpowiedź
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieskiTwoja odpowiedź
Niepoprawna odpowiedź. W analizowanym kodzie JavaScript celem operacji jest zmiana koloru tekstu przy użyciu funkcji changeColor. Funkcja ta została zaprojektowana do modyfikacji koloru tekstu konkretnego elementu HTML z identyfikatorem 'para1'. Błędne interpretacje wynikały z nieprawidłowego rozumienia struktury kodu i mechanizmu działania funkcji. Jednym z częstych błędów myślowych jest przypuszczenie, że przycisk uruchamiający funkcję zmienia swój własny kolor, jednak w rzeczywistości funkcja modyfikuje tylko wskazany element za pomocą getElementById. Kolejna niepoprawna interpretacja dotyczyła modyfikacji tekstu 'i skrypt', który znajduje się w osobnym paragrafie bez id, przez co nie jest objęty zmianą koloru. Funkcja changeColor została zaprojektowana tak, aby modyfikować jedynie elem.style.color dla określonego elementu identycznego z parametrem id. Błędy w analizie tego kodu często wynikają z pomijania istotnych szczegółów oraz z niedokładnej interpretacji funkcji JavaScript. Ważne jest odpowiednie zrozumienie kontekstu działania funkcji oraz ich parametrów, co pozwala na uniknięcie takich pomyłek. W praktyce programistycznej, dokładne poznanie metod operujących na elementach DOM jest kluczowe dla tworzenia interaktywnych i dynamicznych stron internetowych.
Pytanie 2
Wymiary:
4272x2848px
Rozdzielczość:
72 dpi
Format:
JPG
W ramce przedstawiono właściwości pliku graficznego. W celu optymalizacji czasu ładowania rysunku na stronę WWW należy
A. zmniejszyć rozmiary obrazuTwoja odpowiedź
B. zwiększyć rozdzielczość
C. zmienić format grafiki na CDR
D. dostosować proporcje szerokości do wysokości
Poprawna odpowiedź. Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę internetową. Wymiary rysunku 4272x2848px są znaczące, co oznacza, że obraz ma dużą ilość pikseli, co przekłada się na większy rozmiar pliku. Przy standardowej rozdzielczości 72 dpi, która jest odpowiednia do wyświetlania na ekranach, mniejsze wymiary skutkują zmniejszeniem liczby pikseli, co automatycznie obniża wagę pliku. Przykładem może być przeskalowanie obrazu do wymiarów 800x600px, co może znacznie przyspieszyć czas ładowania strony. W praktyce, witryny internetowe powinny dążyć do używania obrazów o wymiarach dostosowanych do wyświetlacza, a optymalne wymiary to te, które są zgodne z responsywnym designem. Ponadto, standardy dotyczące wydajności stron, takie jak Web Page Test czy Google PageSpeed Insights, zalecają minimalizację rozmiaru plików graficznych jako kluczowy element poprawy szybkości ładowania. Zmniejszenie wymiarów rysunku jest zatem jednym z najprostszych i najbardziej efektywnych rozwiązań, które mogą przynieść znaczące korzyści w zakresie wydajności stron internetowych.
Pytanie 3
Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT
SELECT model FROM samochody WHERE rocznik=2016;
Jakie wartości zostaną zwrócone w wyniku tego zapytania?
A. Fiat, Opel, Toyota
B. Czerwony, grafitowy
C. Punto, Corsa, CorollaTwoja odpowiedź
D. Punto, Corsa, Astra, Corolla, Yaris
Poprawna odpowiedź. Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.
Pytanie 4
Aby zobaczyć wyniki działania skryptu PHP będącego elementem strony WWW, musi on zostać:
A. skompilowany po stronie klienta
B. skompilowany po stronie serweraTwoja odpowiedź
C. zinterpretowany po stronie klienta
D. zinterpretowany po stronie serweraPoprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe odpowiedzi błędnie opisują sposób wykonania PHP. Dwie z nich mówią o kompilacji, tymczasem PHP nie jest językiem kompilowanym - jego kod jest interpretowany na bieżąco, więc nie powstaje osobny plik wykonywalny. Wariant „zinterpretowany po stronie klienta” również jest błędny, bo przeglądarka nie zna PHP i go nie wykonuje - po stronie klienta działają HTML, CSS i JavaScript. Skrypt PHP wykonuje interpreter na serwerze, który odsyła gotowy wynik, dlatego poprawne jest „zinterpretowany po stronie serwera”.
Pytanie 5
Fragment kodu w języku PHP przedstawia się następująco (patrz ramka): W wyniku wykonania pętli zostaną wyświetlone liczby
Poprawna odpowiedź. Pętla for w PHP to naprawdę podstawowe narzędzie, które pozwala nam w łatwy sposób powtarzać różne operacje na danych. W tej pętli zaczynamy od $i równego 0, a kończymy, kiedy $i osiągnie 20. W każdej iteracji dodajemy 4 do $i, więc wypisujemy liczby od 0 do 20, co 4 jednostki. Super sprawa, jeśli chcemy równomiernie przetwarzać dane. Przykładowo, gdy mamy jakieś tabele z danymi albo potrzebujemy wygenerować wykresy w regularnych odstępach, to taka pętla się przydaje. Stosowanie pętli to też dobra praktyka programistyczna, bo automatyzuje nam powtarzalne zadania, co czyni kod bardziej przejrzystym. Jak zrozumiesz, jak działa ta pętla, to dużo łatwiej będzie ci tworzyć różne algorytmy, co jest super ważne w informatyce.
Pytanie 6
Której wartości użyć w CSS, aby obramowanie było linią KRESKOWĄ?
A.
solid
B.
dotted
C.
dashed
Twoja odpowiedź
D.
groove
Poprawna odpowiedź. Styl obramowania ustawia border-style. Wartość dashed rysuje ramkę linią KRESKOWĄ (z krótkich kresek). Dlatego linię przerywaną kreskową daje dashed.
Pytanie 7
Zaprezentowane pole input daje możliwość
<inputtype="checkbox"name="text1"value="text2">
A. wprowadzenia hasła
B. wybrania opcjiPoprawna odpowiedź
C. wpisania dowolnego tekstu
D. zaznaczenia opcji z listy zawierającej wartości text1 i text2Twoja odpowiedź
Niepoprawna odpowiedź. Pole input typu text umożliwia wpisanie dowolnego tekstu przez użytkownika co jest powszechnie używane w formularzach do wprowadzania danych takich jak imiona adresy email czy inne informacje tekstowe. Błąd polega na tym że checkbox nie służy do wpisywania tekstu lecz do wyboru opcji. Pole input typu password z kolei pozwala ukrywać wprowadzany tekst maskując go co jest typowym zastosowaniem dla pól wprowadzania haseł w formularzach logowania. Pomimo że oba te pola wykorzystują tag <input> ich przeznaczenie oraz sposób działania znacząco się różnią. Innym typem pola wyboru jest select które w połączeniu z elementem <option> pozwala użytkownikowi wybrać jedną spośród zdefiniowanych opcji. Select różni się od checkboxa tym że zazwyczaj domyślnie pozwala na wybór jednej opcji co jest bardziej zbliżone do działania radio buttonów. Wybór niepoprawnych odpowiedzi często wynika z niedostatecznego zrozumienia specyfiki oraz zastosowań różnych typów pól input co jest kluczowe dla poprawnego projektowania i implementacji formularzy internetowych. Zrozumienie funkcji i zastosowań różnych typów elementów input pozwala na tworzenie bardziej intuicyjnych i funkcjonalnych interfejsów użytkownika spełniających standardy dostępności i użyteczności co jest szczególnie ważne w kontekście projektowania zgodnego z zasadami UX.
Pytanie 8
Baza danych MySQL uległa uszkodzeniu. Które z działań NIE pomoże w jej naprawie?
A. wykonanie replikacji bazy danychTwoja odpowiedź
B. próba naprawy poleceniem REPAIR
C. odtworzenie bazy z kopii zapasowej
D. utworzenie nowej bazy i przeniesienie do niej tabel
Poprawna odpowiedź. Pytanie wskazuje działanie, które NIE pomoże. Replikacja to mechanizm kopiowania danych na inny serwer w celu zwiększenia dostępności lub rozłożenia obciążenia - jeśli dane są uszkodzone, replikacja powieli je w takiej postaci na replikę, zamiast je naprawić. Realnie pomagają: REPAIRTABLE, odtworzenie z kopii zapasowej czy przeniesienie tabel do nowej bazy. Dlatego naprawie nie służy replikacja.
Pytanie 9
Co umożliwia polecenie BACKUPLOG w MS SQL Server?
A. wykonanie pełnej kopii bazy
B. zalogowanie się do kopii zapasowejTwoja odpowiedź
C. kopię zapasową dziennika transakcjiPoprawna odpowiedź
D. odczyt komunikatów z tworzenia kopii
Niepoprawna odpowiedź. Pozostałe opisy nie pasują do tego polecenia. Pełną kopię całej bazy robi BACKUPDATABASE, a nie BACKUPLOG. „Zalogowanie się do kopii” czy „odczyt komunikatów” to nie są operacje tworzenia backupu. BACKUPLOG dotyczy konkretnie dziennika transakcji.
Pytanie 10
Jakie oprogramowanie do zarządzania treścią umożliwia proste tworzenie oraz aktualizację witryny internetowej?
A. CMSTwoja odpowiedź
B. SQL
C. PHP
D. CSS
Poprawna odpowiedź. Systemy zarządzania treścią, znane jako CMS (Content Management System), są narzędziami stworzonymi specjalnie do łatwego tworzenia, edycji oraz zarządzania treściami na stronach internetowych. Dzięki CMS użytkownicy, nawet ci bez zaawansowanej wiedzy technicznej, mogą z łatwością aktualizować swoje witryny, dodawać nowe artykuły, zdjęcia oraz inne multimedia. Przykładami popularnych systemów CMS są WordPress, Joomla, czy Drupal. Te platformy oferują szeroką gamę wtyczek oraz szablonów, co pozwala na dostosowanie wyglądu i funkcjonalności strony do indywidualnych potrzeb. Standardy branżowe, takie jak WCAG dla dostępności czy SEO dla optymalizacji pod kątem wyszukiwarek, są również wspierane przez wiele systemów CMS, co czyni je idealnym rozwiązaniem dla osób chcących prowadzić profesjonalne serwisy internetowe. Zastosowanie CMS-u znacząco przyspiesza proces tworzenia stron oraz umożliwia ich łatwe dostosowywanie do zmieniających się potrzeb rynku.
Pytanie 11
Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka?
A. HTML5Twoja odpowiedź
B. XHTML 1.1
C. HTML 4.01 Strict
D. HTML 4.01 Transitional
Poprawna odpowiedź. Znaczniki <header>, <article>, <section> oraz <footer> są częścią standardu HTML5, który wprowadza nowe semantyczne elementy, mające na celu poprawę struktury dokumentów HTML. Element <header> używany jest do definiowania nagłówków sekcji lub całej strony, co ułatwia nawigację i zrozumienie układu treści. <article> natomiast służy do oznaczania samodzielnych jednostek treści, które mogą być niezależnie dystrybuowane lub zrozumiane. <section> dzieli dokument na tematyczne sekcje, a <footer> zazwyczaj zawiera informacje o autorze, prawach autorskich czy linki do powiązanych materiałów. Stosowanie tych elementów zgodnie z ich przeznaczeniem sprzyja lepszej dostępności oraz optymalizacji SEO, ponieważ wyszukiwarki mogą lepiej interpretować strukturę strony. Przykładem zastosowania może być blog, w którym każdy post jest oznaczony jako <article>, co pozwala systemom wyszukiwania na łatwiejsze indeksowanie poszczególnych wpisów. Warto pamiętać, że HTML5 wspiera także inne aspekty nowoczesnego web designu, takie jak media, formularze i API, co czyni go standardem przyszłości.
Pytanie 12
Aby obraz w filmie zmieniał się płynnie, liczba klatek na sekundę powinna wynosić co najmniej:
A. 16 - 19 fps
B. 20 - 23 fps
C. 24 - 30 fpsTwoja odpowiedź
D. 31 - 36 fps
Poprawna odpowiedź. Płynność ruchu na ekranie zależy od liczby wyświetlanych klatek na sekundę (fps). Ludzkie oko odbiera ruch jako ciągły mniej więcej od 24 klatek na sekundę - to klasyczny standard filmowy (telewizja używa 25 lub 30). Poniżej tej wartości ruch wydaje się szarpany. Dlatego minimalny zakres dający płynny obraz to 24 - 30 fps.
Pytanie 13
Linia kodu przedstawiona w PHP ma na celu
A. porównać dwa ciągi znaków
B. przypisać wartości do tablicy
C. zdefiniować stałą o nazwie OSOBATwoja odpowiedź
D. ustalić wartość dla zmiennej $OSOBA
Poprawna odpowiedź. W języku PHP funkcja define() służy do definiowania stałych które są wartościami niezmiennymi po zdefiniowaniu. W przykładzie define(OSOBA Anna Kowalska) definiujemy stałą o nazwie OSOBA z przypisaną wartością Anna Kowalska. Stałe są używane gdy potrzebujemy zagwarantować że dana wartość pozostanie niezmienna przez cały czas działania programu co jest kluczowe w zapewnieniu spójności i integralności danych. PHP odróżnia stałe wielkością liter więc zgodnie z konwencją stałe zapisuje się wielkimi literami dla lepszej czytelności. Funkcja ta jest często używana do definiowania wartości konfiguracyjnych takich jak ścieżki do plików czy dane dostępowe które nie powinny być zmieniane podczas wykonywania skryptu. Dzięki funkcji define() unikamy przypadkowego nadpisania istotnych wartości co jest jedną z dobrych praktyk programistycznych. Warto zaznaczyć że od PHP 7 istnieje możliwość definiowania stałych tablicowych co ułatwia organizację bardziej złożonych danych.
Pytanie 14
Jak ustawić tło body obrazem rys.png, powtarzanym TYLKO w poziomie?
Niepoprawna odpowiedź. Pozostałe wartości robią co innego. repeat powiela obraz w obu kierunkach (kafelki), repeat-y tylko w pionie, a round skaluje i dopasowuje liczbę powtórzeń. Powtarzanie wyłącznie w poziomie daje repeat-x.
Pytanie 15
Którym poleceniem wyświetli się konfigurację serwera PHP (m.in. wersję PHP, system operacyjny, wartości zmiennych predefiniowanych)?
A.
phpinfo();
Twoja odpowiedź
B.
phpcredits();
C.
echophpversion();
D.
print_r(ini_get_all());
Poprawna odpowiedź. Pełną konfigurację serwera PHP wyświetla phpinfo(); - generuje stronę z wersją PHP, systemem operacyjnym serwera, załadowanymi rozszerzeniami i wartościami zmiennych predefiniowanych. To pierwsze narzędzie diagnostyczne, gdy sprawdzasz, czy środowisko jest poprawnie skonfigurowane. Zapamiętaj: phpinfo() = kompletny „raport o serwerze”.
Pytanie 16
Czym jest w języku C++ konstrukcja double*x;?
A. formalnym argumentem typu rzeczywistego
B. wskaźnikiemTwoja odpowiedź
C. zmienną całkowitą
D. zmienną rzeczywistą
Poprawna odpowiedź. Zapis double*x; deklaruje WSKAŹNIK - gwiazdka * oznacza, że x przechowuje ADRES zmiennej typu double, a nie samą liczbę. Wskaźniki służą do operowania na pamięci. Dlatego double*x to wskaźnik.
Pytanie 17
Do jakich liczb odnosi się typ int?
A. stałoprzecinkowych
B. zmiennoprzecinkowych
C. naturalnych
D. całkowitychTwoja odpowiedź
Poprawna odpowiedź. Typ int przechowuje liczby CAŁKOWITE - dodatnie, ujemne i zero, bez części ułamkowej (np. -3, 0, 42). Dlatego int odnosi się do liczb całkowitych.
Poprawna odpowiedź. Obsługa ciasteczek jest kluczowym elementem w zarządzaniu stanem w aplikacjach webowych. Ciasteczka, czyli małe pliki tekstowe przechowywane w przeglądarce użytkownika, pozwalają na śledzenie aktywności użytkownika między stronami i sesjami. W kodzie powyżej widzimy użycie globalnej tablicy PHP $_COOKIE do sprawdzania, czy ciasteczko o określonej nazwie zostało ustawione. Funkcja isset() sprawdza, czy zmienna jest zdefiniowana i nie jest null. Jeśli ciasteczko istnieje, jego wartość jest wyświetlana. Ciasteczka są powszechnie używane do zarządzania sesjami, personalizacji treści czy śledzenia zachowań użytkowników. W praktyce, zabezpieczenia są ważnym aspektem zarządzania ciasteczkami. Powinny być szyfrowane i oznaczone jako HttpOnly oraz Secure, aby zminimalizować ryzyko kradzieży informacji przez ataki XSS. Programiści powinni także stosować polityki prywatności zgodnie z regulacjami RODO, informując użytkowników o użyciu ciasteczek. Zrozumienie tych mechanizmów jest fundamentalne dla budowy bezpiecznych i funkcjonalnych aplikacji webowych.
Pytanie 19
Wskaż konstrukcję pętli w języku JavaScript, która wyświetli sześć kolejnych liczb parzystych
A. for(i=2;i<=12;i+=2) {document.write(i);}Twoja odpowiedź
B. for(i=2;i<12;i+=2) {document.write(i);}
C. for(i=2;i<12;i++) {i++; document.write(i);}
D. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
Poprawna odpowiedź. Odpowiedź for(i=2;i<=12;i+=2) {document.write(i);} jest prawidłowa, ponieważ prawidłowo implementuje pętlę for w języku JavaScript, aby wydrukować sześć kolejnych liczb parzystych, zaczynając od 2 i kończąc na 12. Pętla ta inicjuje zmienną i na wartość 2, a następnie kontynuuje iterację, aż do osiągnięcia wartości 12, zwiększając i o 2 w każdej iteracji. Dzięki temu osiągamy pożądane liczby: 2, 4, 6, 8, 10 i 12. Użycie operatora inkrementacji (i+=2) jest zgodne z dobrymi praktykami programistycznymi, ponieważ jest bardziej zwięzłe i jednoznaczne w porównaniu do zwiększania zmiennej w każdej iteracji o 1, a następnie dodawania 1 w ciele pętli. W praktyce, można stosować takie podejście do generowania sekwencji liczb w różnych zastosowaniach, na przykład w wizualizacji danych lub grach, gdzie potrzebujemy pracować z parametrami o określonej wartości. Ponadto, pętle w JavaScript są fundamentalnym elementem skryptów, pozwalającym na automatyzację powtarzalnych zadań, co czyni programowanie bardziej efektywnym.
Pytanie 20
Jaką wartość w formacie heksadecymalnym będzie miała barwa określona kodem rgb(255, 10, 22)?
A. #2551022
B. #FF0A16Twoja odpowiedź
C. #251022
D. #FF1016
Poprawna odpowiedź. Odpowiedź #FF0A16 jest poprawna, ponieważ kod RGB (255, 10, 22) jest konwertowany na format heksadecymalny, gdzie każdy z trzech kanałów (czerwony, zielony, niebieski) jest przedstawiany przez dwie cyfry szesnastkowe. W kodzie RGB wartość 255 dla kanału czerwonego odpowiada szesnastkowej wartości FF, wartość 10 dla kanału zielonego odpowiada wartości 0A, a wartość 22 dla kanału niebieskiego odpowiada wartości 16. Łącząc te wartości, otrzymujemy #FF0A16. Praktyczne zastosowania kodów kolorów w formacie heksadecymalnym są powszechne w projektowaniu stron internetowych oraz grafice komputerowej, gdzie umożliwiają precyzyjne definiowanie kolorów. Warto również pamiętać, że standard W3C zaleca używanie formatu heksadecymalnego w CSS, co czyni go bardziej efektywnym dla deweloperów. Ponadto, znajomość konwersji kolorów RGB na heksadecymalny jest kluczowa dla każdego, kto zajmuje się designem i programowaniem wizualnych interfejsów użytkownika.
Pytanie 21
W zaprezentowanym fragmencie dokumentu HTML ustalono stylowanie CSS dla selektora klasy "menu", aby kolor tła tego elementu był zielony. Które z poniższych określeń stylu CSS odpowiada temu stylowaniu?
<div class="menu"></div>
A. div.menu { background-color: green; }Poprawna odpowiedź
B. #menu { background-color: rgb(0,255,0); }Twoja odpowiedź
C. menu { background-color: rgb(0,255,0); }
D. div:menu { color: green; }
Niepoprawna odpowiedź. Błędne odpowiedzi wynikają z niewłaściwego zastosowania selektorów w języku CSS. Selektor #menu sugeruje użycie ID, jednak w HTML identyfikator musi być unikalny, a zadanie dotyczy klasy, co implikuje użycie selektora klasy poprzedzonego kropką. Takie błędne użycie prowadzi do niezrozumienia podstawowej różnicy między klasami a identyfikatorami w CSS, co jest kluczowe w projektowaniu stron internetowych. Z kolei selektor menu { background-color: rgb(0,255,0); } jest niepoprawny, ponieważ nie odnosi się do konkretnego elementu. Chociaż specyfikacja CSS pozwala na selektory nazwane, najczęściej stosuje się je w kontekście semantycznym dla elementów HTML, a nie tych określonych przez klasy. Wreszcie, definicja div:menu { color: green; } używa błędnej składni, ponieważ pseudo-klasy w CSS są używane do stylizacji specyficznych stanów elementów, takich jak hover, active czy focus, a nie do stylizacji klas. Istotne jest zrozumienie, że użycie pseudo-klas wymaga odpowiedniego kontekstu, który w tym przypadku jest niepoprawnie użyty. Kluczem do poprawnego stosowania CSS jest zrozumienie specyfiki selektorów i ich właściwe wykorzystanie, co pozwala na efektywne zarządzanie stylem w projekcie webowym. Podstawową zasadą powinno być projektowanie stylów z myślą o ich wielokrotnym wykorzystaniu i utrzymaniu czystości kodu.
Pytanie 22
Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?
A. ZasadaTwoja odpowiedź
B. Trigger
C. Funkcja zdefiniowanaPoprawna odpowiedź
D. Procedura składowa
Niepoprawna odpowiedź. Kiedy analizujemy inne obiekty bazy danych, takie jak reguły, wyzwalacze i procedury składowe, możemy zidentyfikować, dlaczego nie są one odpowiednie w kontekście tego pytania. Reguły w SQL są używane do automatyzacji modyfikacji zapytań, ale ich zastosowanie jest ograniczone i rzadko używane w nowoczesnych bazach danych. Reguły są rzeczywiście często pomijane w nowoczesnych implementacjach ze względu na ich złożoność oraz ograniczenia w stosowaniu. Wyzwalacze natomiast są mechanizmami, które automatycznie wywołują się w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodawanie, aktualizacja lub usuwanie rekordów. Choć mogą modyfikować dane, to nie są one wywoływane bezpośrednio przez zapytania, a raczej jako odpowiedź na zdarzenia, co czyni je mniej elastycznymi w kontekście bezpośrednich zapytań. Procedury składowe są kolejnym typem obiektu bazy danych, które mogą implementować złożoną logikę, jednak są one zazwyczaj wywoływane jako całość i nie mogą być używane w kontekście zapytań modyfikujących dane, jak to ma miejsce w przypadku funkcji zdefiniowanej. Zatem w kontekście elastyczności i modułowości w modyfikacjach danych, funkcje zdefiniowane pozostają najodpowiedniejszym rozwiązaniem.
Pytanie 23
Co umożliwiają w JavaScript metody i właściwości DOM?
A. pobieranie i modyfikowanie elementów strony w przeglądarceTwoja odpowiedź
B. przesyłanie danych formularza wprost do bazy danych
C. manipulowanie łańcuchami zadeklarowanymi w kodzie
D. operacje na zmiennych liczbowych
Poprawna odpowiedź. DOM (Document Object Model) to drzewiasta reprezentacja strony w przeglądarce. Metody i właściwości DOM pozwalają JavaScriptowi POBIERAĆ i MODYFIKOWAĆ elementy strony - zmieniać treść, atrybuty, style czy dodawać i usuwać węzły. Dlatego DOM umożliwia pobieranie i modyfikowanie elementów strony.
Pytanie 24
W zamieszczonym przykładzie pseudoklasa hover sprawi, że styl pogrubiony będzie przypisany
a:hover { font-weight: bold; }
A. wszystkim odnośnikom odwiedzonym.
B. wszystkim odnośnikom nieodwiedzonym.
C. każdemu odnośnikowi niezależnie od aktualnego stanu.
D. odnośnikowi, w momencie kiedy najechał na niego kursor myszy.Twoja odpowiedź
Poprawna odpowiedź. Twoja odpowiedź jest prawidłowa. Pseudoklasa :hover w CSS jest używana do stylizacji elementów, na które najechał kursor myszy. Na przykład, jeżeli użyjemy stylu 'font-weight: bold;' z pseudoklasą :hover, tekst odnośnika stanie się pogrubiony tylko wtedy, kiedy na niego najedziemy kursorem. Jest to bardzo przydatne w interaktywnym designie strony internetowej, gdzie możemy w prosty sposób zasygnalizować użytkownikowi, że dany element jest aktywny lub interaktywny. Pamiętaj, że pseudoklasy w CSS są potężnym narzędziem, które pozwala nam na tworzenie zaawansowanych efektów bez konieczności użycia JavaScriptu. Znajomość i umiejętność wykorzystania pseudoklas jest zatem kluczową umiejętnością każdego front-end developera.
Pytanie 25
W ramce przedstawiono właściwości pliku graficznego:
Wymiary:
4272 x 2848px
Rozdzielczość:
72 dpi
Format:
JPG
W celu optymalizacji czasu ładowania rysunku na stronę WWW należy:
A. zmienić format grafiki na CDR.
B. zwiększyć rozdzielczość.
C. zmniejszyć wymiary rysunku.Twoja odpowiedź
D. zmienić proporcje szerokości do wysokości.
Poprawna odpowiedź. Odpowiedź jest poprawna. Czas ładowania obrazu na stronę WWW jest w dużej mierze zależny od jego rozmiaru. Zasada jest prosta: im mniejszy rozmiar pliku, tym szybciej zostanie załadowany. Zmniejszenie wymiarów rysunku prowadzi do zmniejszenia rozmiaru pliku, co optymalizuje czas ładowania. W praktyce, oznacza to, że jeżeli masz obraz o wymiarach 2000x2000 pikseli, a na stronie prezentowany jest w wymiarach 500x500 pikseli, to wartość ta jest zdecydowanie za duża i może spowalniać ładowanie strony. Dobrą praktyką jest dostosowanie rozmiaru obrazu do rozmiaru, w jakim ma być wyświetlany na stronie. Warto jednak pamiętać, że zmniejszanie rozmiaru obrazu może wpływać na jego jakość, dlatego ważne jest znalezienie odpowiedniego balansu pomiędzy czasem ładowania a jakością prezentowanego rysunku.
Pytanie 26
W danej tabeli pracownicy, polecenie MySQL eliminujące wszystkie wpisy, dla których nie została wypełniona kolumna rodzaj_umowy, ma następującą formę
A. DELETE pracownicy WHERE rodzaj_umowy = 'brak';Twoja odpowiedź
B. DROP pracownicy WHERE rodzaj_umowy IS NULL;
C. DELETE FROM pracownicy WHERE rodzaj_umowy IS NULL;Poprawna odpowiedź
D. DROP pracownicy FROM rodzaj_umowy = 0;
Niepoprawna odpowiedź. W odpowiedziach, które zostały uznane za błędne, można dostrzec kilka istotnych nieporozumień dotyczących użycia poleceń SQL. Przykładowo, polecenie "DELETE pracownicy WHERE rodzaj_umowy = 'brak';" sugeruje, że chcesz usunąć pracowników z tabeli, którzy mają zaznaczoną wartość 'brak'. Jednak, w kontekście baz danych, wartość NULL jest odmienna od wartości tekstowej. NULL oznacza brak jakiejkolwiek wartości, co nie jest tożsame z wartością 'brak'. W związku z tym to zapytanie nie zwróci żadnych rezultatów, ponieważ nie identyfikuje rekordów, których pole 'rodzaj_umowy' jest puste. Inna odpowiedź, "DROP pracownicy WHERE rodzaj_umowy IS NULL;" jest również niepoprawna, ponieważ komenda DROP służy do usuwania całej tabeli, a nie poszczególnych rekordów. Zastosowanie WHERE w tym kontekście jest niewłaściwe, co prowadzi do całkowitego usunięcia tabeli, a nie do usunięcia tylko określonych wierszy. Z kolei "DROP pracownicy FROM rodzaj_umowy = 0;" także wykazuje fundamentalne błędy, ponieważ DROP jest używane do usuwania obiektów bazy danych, a nie do operacji na danych. Użycie FROM jest również niepoprawne w kontekście DROP, co wskazuje na niewłaściwe zrozumienie składni SQL. Tego rodzaju pomyłki mogą prowadzić do poważnych konsekwencji, takich jak utrata danych czy zniszczenie struktury bazy danych, dlatego niezwykle istotne jest zrozumienie podstawowych różnic między poszczególnymi poleceniami oraz ich zastosowaniem w praktyce.
Pytanie 27
W języku JavaScript poniższy fragment funkcji ma na celu
A. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej iTwoja odpowiedź
B. wyświetlić wszystkie elementy tablicy
C. dodać do każdego elementu tablicy ustaloną wartość
D. obliczyć sumę wszystkich elementów tablicyPoprawna odpowiedź
Niepoprawna odpowiedź. Wybór odpowiedzi dotyczącej wprowadzenia aktualnej wartości zmiennej i do każdego elementu tablicy jest mylny, ponieważ kod nie wykonuje takiej operacji. W rzeczywistości, zmienna 'i' jest jedynie wskaźnikiem iteracji w pętli i nie jest modyfikowana w żaden sposób w kontekście wartości elementów tablicy. Kolejna odpowiedź sugerująca wyświetlenie wszystkich elementów tablicy jest również błędna, ponieważ w kodzie nie pojawia się żadna operacja wyświetlająca. W języku JavaScript, aby wyświetlić elementy tablicy, używalibyśmy np. funkcji console.log() lub innej metody interakcji z użytkownikiem. Odpowiedź mówiąca o dodawaniu stałej wartości do każdego elementu tablicy odnosi się do innej operacji matematycznej, która nie znajduje odzwierciedlenia w podanym kodzie. W rzeczywistości, dodawanie stałej wartości wymagałoby zdefiniowania tej wartości oraz zmodyfikowania sposobu, w jaki elementy tablicy są przetwarzane. Typowe błędy myślowe przy analizie kodu mogą wynikać z nieprecyzyjnego zrozumienia, co każda linia kodu rzeczywiście wykonuje, a także z braku znajomości podstawowych operacji na tablicach, co prowadzi do błędnych wniosków. Zrozumienie, co dokładnie robi dany fragment kodu, jest kluczowe dla efektywnego programowania i unikania takich nieporozumień.
Pytanie 28
Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu?
Niepoprawna odpowiedź. Twoja odpowiedź nie jest poprawna. Wybór atrybutu 'loop', 'autoplay' lub 'controls' nie spowoduje wyłączenia dźwięku filmu. Atrybut 'loop' jest stosowany do zapętlenia odtwarzania filmu, co oznacza, że film będzie odtwarzany ponownie, gdy dojdzie do końca. Atrybut 'autoplay' powoduje, że film zaczyna się odtwarzać automatycznie, jak tylko strona zostanie załadowana. Natomiast atrybut 'controls' dodaje elementy sterujące do filmu, takie jak przyciski do odtwarzania/pauzowania filmu, regulacji głośności, itp. żaden z tych atrybutów nie spowoduje wyłączenia dźwięku. Aby to osiągnąć, należy użyć atrybutu 'muted'. To ważne dla użytkownika, aby miał kontrolę nad dźwiękiem na stronie i aby nie był zaskoczony automatycznym odtwarzaniem dźwięku bez jego zgody. Dobrą praktyką jest domyślne wyłączenie dźwięku, ale pozostawienie użytkownikowi możliwości jego włączenia.
Pytanie 29
Który obiekt bazy danych z graficznym interfejsem służy do wprowadzania danych?
A. raportTwoja odpowiedź
B. formularzPoprawna odpowiedź
C. kwerenda
D. encja
Niepoprawna odpowiedź. Pozostałe obiekty pełnią inne role. Raport służy do PREZENTACJI i wydruku danych, kwerenda do wyszukiwania i filtrowania, a encja to pojęcie modelu danych, a nie obiekt z interfejsem. Wprowadzanie danych umożliwia formularz.
Pytanie 30
Tabela Pracownicy zawiera informacje na temat pracowników różnych działów, co jest zaznaczone przez pole liczbowe dzial. Z racji tego, że zazwyczaj kwerendy dotyczą tylko działu 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania
A. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;Twoja odpowiedź
B. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
C. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
D. VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2;
Poprawna odpowiedź. Odpowiedź 'CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;' jest poprawna, ponieważ wykorzystuje standardowe polecenie SQL do tworzenia widoku. Widok jest wirtualną tabelą, która umożliwia użytkownikom wykonywanie zapytań w oparciu o wcześniej zdefiniowane kryteria, co może znacznie uprościć złożoność zapytań w bazach danych. W tym przypadku, widok 'Prac_dzial2' automatycznie filtruje dane, zwracając jedynie pracowników przypisanych do działu 2. Przy pomocy tego widoku, użytkownicy mogą szybko uzyskać dostęp do tego subsetu danych bez konieczności każdorazowego pisania złożonych zapytań. Z perspektywy zarządzania bazą danych, tworzenie widoków jest uznawane za dobrą praktykę, ponieważ pozwala na lepszą organizację i bezpieczeństwo danych, a także stanowi dodatkową warstwę abstrakcji, która może ułatwić stosowanie polityk dostępu. Na przykład, jeśli firma zmieni strukturę działów, wystarczy zaktualizować definicję widoku, co nie wymaga modyfikacji wszystkich zapytań korzystających z tego widoku.
Pytanie 31
Efekt przedstawiony na obrazie, wykonany za pomocą edytora grafiki rastrowej, to
A. grawerowanie.
B. szum RGB.
C. pikselizacja.Poprawna odpowiedź
D. rozmycie Gaussa.Twoja odpowiedź
Niepoprawna odpowiedź. Wybrana przez Ciebie odpowiedź nie była prawidłowa. Przyjrzyjmy się jednak wszystkim możliwościom. Grawerowanie to technika graficzna polegająca na rzeźbieniu lub rysowaniu na twardej powierzchni, takiej jak metal czy drewno. W kontekście grafiki komputerowej, efekt grawerowania to najczęściej imitacja takiego rzeźbienia na obrazie 2D. Szum RGB to zjawisko występujące w obrazach cyfrowych, które objawia się jako losowe kolorowe piksele na zdjęciu. Szum ten powstaje zazwyczaj podczas fotografowania w słabym oświetleniu, a nie jest efektem stosowanym celowo w edytorach grafiki. Rozmycie Gaussa to technika przetwarzania obrazów, która polega na rozmyciu obrazu, co powoduje utratę detali. Rozmycie Gaussa jest często stosowane do redukcji szumów i detali na obrazach. Na podstawie powyższego opisu, żadna z tych technik nie tworzy efektu widocznego na obrazie, który jest efektem pikselizacji. W edytorach grafiki rastrowej, efekt ten jest osiągany przez zmniejszenie rozdzielczości obrazu do poziomu, kiedy każdy piksel staje się widoczny dla oka.
Pytanie 32
Jaką operację trzeba wykonać podczas edytowania zdjęcia w programie graficznym, aby zamienić białe tło na przezroczystość?
A. Dodać kanał alfaPoprawna odpowiedź
B. Skadrować obraz
C. Zmienić saturację obrazuTwoja odpowiedź
D. Maksymalnie zmniejszyć jasność
Niepoprawna odpowiedź. Wybór odpowiedzi, która nie dotyczy dodania kanału alfa, prowadzi do fundamentalnych nieporozumień w zakresie obróbki obrazów w edytorach graficznych. Skadrowanie obrazu może pomóc w wyeliminowaniu niepożądanych elementów, jednak nie rozwiązuje problemu białego tła. Skadrowanie polega na przycinaniu obrazu do określonego obszaru, co oznacza, że wciąż zostanie zachowane białe tło, które nie jest usuwane, a jedynie ograniczane w widoczności. Zmiana saturacji obrazu odnosi się do intensywności kolorów, co również nie ma wpływu na przezroczystość tła - biały kolor pozostanie obecny, ale może stać się mniej intensywny. Modyfikacja jasności obrazu, w tym maksymalne jej zmniejszenie, skutkuje jedynie przyciemnieniem całego obrazu, a biały kolor zmienia się w szarość lub czernie, ale nie prowadzi do uzyskania przezroczystości. W praktyce, zrozumienie, że przezroczystość wymaga specyficznej manipulacji kanałem alfa, jest kluczowe dla skutecznej edycji grafiki. Często występuje błąd myślowy polegający na myleniu różnych operacji edycyjnych z efektem końcowym, dlatego ważne jest zdobycie wiedzy na temat podstawowych pojęć związanych z formatowaniem obrazów oraz ich właściwościami w kontekście obróbki graficznej.
Pytanie 33
Aby poprawić wydajność strony z grafiką o wymiarach 2000 px na 760 px, konieczne jest zmniejszenie jej rozmiarów
A. w programie graficznymTwoja odpowiedź
B. za pomocą atrybutów HTML
C. za pomocą właściwości CSS, podając rozmiar w pikselach
D. za pomocą właściwości CSS, podając rozmiar w procentach
Poprawna odpowiedź. Odpowiedź "w programie graficznym" jest prawidłowa, ponieważ zmniejszenie rozmiaru grafiki w sposób, który rzeczywiście wpływa na jej wielkość pliku oraz jakość wizualną, powinno być przeprowadzane w programie graficznym. Programy takie jak Adobe Photoshop, GIMP czy Canva umożliwiają precyzyjne dostosowanie wymiarów oraz kompresję grafiki, co pozwala na optymalizację jej do użytku w internecie. Przykładowo, zmieniając rozmiar grafiki do wymiarów 1000 px na 380 px i zapisując ją w odpowiednim formacie (np. JPEG lub PNG z odpowiednią jakością), można znacznie zmniejszyć wielkość pliku, co przyczyni się do szybszego ładowania strony. Ponadto, odpowiednia kompresja umożliwia zachowanie dobrego balansu między jakością a rozmiarem pliku, co jest istotne dla doświadczeń użytkowników. W branży internetowej stosuje się różne techniki optymalizacji grafiki, takie jak lazy loading czy formaty WebP, które wspierają szybkie ładowanie stron. Warto również zwrócić uwagę na znaczenie odpowiedniej rozdzielczości grafiki, aby uniknąć zniekształceń i zapewnić optymalną jakość wizualną.
Pytanie 34
Które zapytanie SQL zwróci wszystkie kolumny z tabeli produkty?
A.
SELECT*FROMprodukty;
Twoja odpowiedź
B.
SELECTproduktyFROM*;
C.
FETCH*FROMprodukty;
D.
GET*FROMprodukty;
Poprawna odpowiedź. Aby pobrać wszystkie kolumny tabeli, w miejscu listy pól wstawia się gwiazdkę: SELECT*FROMprodukty;. Symbol * znaczy „wszystkie pola”, więc zapytanie zwróci pełne wiersze tabeli produkty. Dlatego ta kwerenda jest poprawna.
Pytanie 35
Który fragment definicji dwukolumnowej tabeli odpowiada efektowi scalenia komórki 1 i 3, przedstawionemu na ilustracji?
A. <td colspan="2">komórka1+3</td>
B. <td colspan="3">komórka1+3</td>
C. <td rowspan="2">komórka1+3</td>Twoja odpowiedź
D. <td rowspan="3">komórka1+3</td>
Poprawna odpowiedź. Poprawnie wskazałeś fragment z atrybutem rowspan, czyli: <td rowspan="2">komórka1+3</td>. W HTML atrybut rowspan służy do scalania komórek tabeli w pionie, czyli wzdłuż wierszy. W tym przykładzie tabela ma dwie kolumny, a komórka „komórka1+3” zajmuje miejsce pierwszej komórki w pierwszym wierszu oraz pierwszej komórki w drugim wierszu. Dlatego właśnie wartość rowspan musi być równa 2 – ta jedna komórka rozciąga się na dwa wiersze. Gdy przeglądarka widzi taki zapis, rezerwuje dla tej komórki obszar dwóch komórek pod sobą, a w kodzie HTML w kolejnym wierszu pomijamy już odpowiednią liczbę komórek w tej kolumnie. Z mojego doświadczenia wynika, że przy projektowaniu tabel dobrze jest sobie najpierw „narysować” układ na kartce: ile wierszy, ile kolumn, które komórki się łączą. Potem łatwo dobrać czy potrzebujemy colspan (łączenie w poziomie – kolumny), czy rowspan (łączenie w pionie – wiersze). W specyfikacji HTML Living Standard dokładnie tak to jest opisane: rowspan określa, na ile wierszy rozciąga się dana komórka. W praktyce scalanie komórek przydaje się np. przy tworzeniu nagłówków tabel z opisami grup kolumn, przy harmonogramach, planach lekcji, cennikach, gdzie jedna pozycja obowiązuje przez kilka wierszy. Warto też pamiętać o semantyce: tam gdzie to możliwe, dla nagłówków stosujemy <th> z rowspan lub colspan, a dla zwykłych danych <td>. Taki porządek w kodzie ułatwia późniejsze stylowanie CSS i poprawia dostępność, bo czytniki ekranu lepiej rozumieją strukturę tabeli.
Pytanie 36
Na ilustracji przedstawiono ustawienia programu służącego do montażu filmów. Nowy projekt ma ustawienia
A. 25 klatek na cały film.
B. 48 minut czasu trwania filmu.
C. 25 klatek na każdą sekundę filmu.Poprawna odpowiedź
D. wysokość 1920 px i szerokość 1080 px.Twoja odpowiedź
Niepoprawna odpowiedź. Na zrzucie ekranu z ustawieniami nowego projektu w programie do montażu wideo widać kilka różnych parametrów: rozdzielczość (Width, Height), liczbę klatek na sekundę (Frame Rate), czas trwania szablonu i inne. Bardzo łatwo jest pomylić te pojęcia, szczególnie gdy ktoś dopiero zaczyna przygodę z montażem. Najczęstszy błąd polega na myleniu liczby klatek na sekundę z całkowitą liczbą klatek w filmie. Informacja „25 fps” nie oznacza „25 klatek na cały film”, tylko „25 klatek na każdą sekundę filmu”. Gdyby film miał np. 5 minut, to przy 25 fps będzie miał 5 × 60 × 25 = 7500 klatek. Widać więc, że całkowita liczba klatek jest dużo większa i zależy bezpośrednio od czasu trwania. Kolejna pułapka to interpretowanie pojedynczej liczby jako długości filmu. Samo „25” w polu Frame Rate nie ma nic wspólnego z minutami czy sekundami trwania projektu. Czas trwania określa się osobno, zwykle w formacie godzin: minut: sekund: klatek (HH:MM:SS:FF). Na ilustracji widać pole Duration, które odpowiada właśnie za długość, ale nie jest ono równe wartości 25. Trzecie nieporozumienie dotyczy rozdzielczości. W ustawieniach jest wyraźnie napisane Width: 1920 pixels, Height: 1080 pixels. To oznacza szerokość 1920 px i wysokość 1080 px, a nie odwrotnie. W praktyce jest to klasyczne Full HD w proporcjach 16:9. Odwrócenie tych wartości sugerowałoby projekt w orientacji pionowej (1080×1920), typowy np. dla wideo na smartfony, ale tutaj tak nie jest. Z mojego doświadczenia wynika, że warto na spokojnie odróżniać trzy rzeczy: rozdzielczość (ile pikseli w poziomie i pionie), klatkaż (ile klatek na sekundę – fps) oraz czas trwania (ile czasu zajmuje cały film). Pomylenie któregokolwiek z tych parametrów może skutkować np. nieprawidłowym formatem eksportu, złą jakością odtwarzania albo dziwnie wyglądającym ruchem. Dlatego dobrze jest, jeszcze przed montażem, świadomie przeczytać i zrozumieć wszystkie ustawienia w oknie „New Project Settings”.
Pytanie 37
Które zapytanie języka SQL zlicza wszystkie rekordy w tabeli Zamowienia?
A. COUNT(Zamowienia);
B. SELECT ALL(*) FROM Zamowienia;
C. SELECT SUM() FROM Zamowienia;
D. SELECT COUNT(*) FROM Zamowienia;Twoja odpowiedź
Poprawna odpowiedź. Prawidłowe zapytanie to: SELECT COUNT(*) FROM Zamowienia;. Funkcja agregująca COUNT() w SQL służy właśnie do zliczania rekordów, a gwiazdka * oznacza „wszystkie kolumny”, czyli w praktyce każdy wiersz w tabeli. Silnik bazy danych nie patrzy wtedy na konkretne pola, tylko sprawdza ile wierszy spełnia warunek w klauzuli FROM/WHERE. To jest standardowy zapis opisany w dokumentacji większości systemów bazodanowych, takich jak MySQL, PostgreSQL, SQL Server czy Oracle. Moim zdaniem warto od razu zapamiętać ten wzorzec, bo jest używany dosłownie wszędzie: do paginacji wyników w aplikacjach webowych (np. policzenie ile jest wszystkich zamówień, żeby wyświetlić numer strony), do raportów (ile zamówień w danym miesiącu), do monitoringu (ile rekordów ma tabela po imporcie danych) itd. Bardzo często łączy się COUNT(*) z klauzulą WHERE, np.: SELECT COUNT(*) FROM Zamowienia WHERE status = 'zrealizowane'; – wtedy zliczasz tylko wybrane zamówienia, spełniające warunek. Dobra praktyka jest też taka, że jeśli chcesz policzyć wszystkie wiersze, to używasz właśnie COUNT(*), a nie COUNT(nazwa_kolumny), bo COUNT(kolumny) pomija wartości NULL. To czasem jest pożądane, ale domyślnie, przy zwykłym „ile jest rekordów w tabeli”, stosuje się COUNT(*). W wielu optymalizacjach baz danych silnik ma specjalne mechanizmy, które potrafią bardzo szybko policzyć COUNT(*) bez czytania całej tabeli, co jest kolejnym powodem, żeby korzystać z tej formy, zgodnie z dobrą praktyką branżową.
Pytanie 38
Jednoznacznym identyfikatorem rekordu w bazie danych jest pole
A. klucza obcego.
B. klucza głównego.Twoja odpowiedź
C. wyłącznie typu logicznego.
D. wyłącznie typu tekstowego.
Poprawna odpowiedź. Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.
Pytanie 39
Które polecenie MySQL sprawdza tabelę pod kątem błędów i uszkodzeń (bez jej naprawiania)?
A.
FIXTABLE
B.
CHECKTABLE
Twoja odpowiedź
C.
UPDATETABLE
D.
CHANGETABLE
Poprawna odpowiedź. Polecenie CHECKTABLE sprawdza, czy tabela nie jest uszkodzona, i zwraca raport o ewentualnych błędach - samo jednak niczego nie naprawia. Zwykle wykonuje się je przed właściwą naprawą poleceniem REPAIRTABLE. Dlatego do diagnozy tabeli (bez naprawy) służy CHECKTABLE.
Pytanie 40
Który element blokowy HTML5 jest przeznaczony na nawigację witryny?
A.
nav
Twoja odpowiedź
B.
main
C.
aside
D.
header
Poprawna odpowiedź. Element semantyczny <nav> wydziela blok NAWIGACJI witryny - zwykle menu główne lub zestaw linków do najważniejszych podstron, np. <nav><ahref="/">Start</a><ahref="/kontakt">Kontakt</a></nav>. Semantyka jest ważna nie tylko porządkowo: czytniki ekranu i wyszukiwarki rozpoznają po <nav>, że to nawigacja. Zapamiętaj: „nav” jak nawigacja.