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: 1 maja 2026 12:58
  • Data zakończenia: 1 maja 2026 13:13

Egzamin zdany!

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

Zgodnie z zasadami ACID, odnoszącymi się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, iż

A. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od zdarzeń, które nastąpią po jej zakończeniu
B. transakcja może, w określonych okolicznościach, zostać podzielona na dwa niezależne etapy
C. w sytuacji naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
D. podczas realizacji transakcji dane mogą być zmieniane przez inne transakcje
Trwałość (ang. durability) to jedno z kluczowych wymagań modelu ACID, które zapewnia, że dane zatwierdzone przez transakcję pozostają dostępne i chronione przed utratą, nawet w przypadku wystąpienia awarii systemu. Oznacza to, że po pomyślnym zakończeniu transakcji, jej efekty są trwale zapisywane w bazie danych i nie mogą zostać utracone, niezależnie od warunków zewnętrznych, takich jak przerwy w zasilaniu czy błędy systemowe. W praktyce oznacza to, że każda transakcja, która uzyskała status 'zatwierdzonej' (ang. committed), powinna być zapisana w trwały sposób, zazwyczaj z wykorzystaniem mechanizmów takich jak logi transakcyjne. Na przykład, w systemach bazodanowych takich jak PostgreSQL czy Oracle, po zakończeniu transakcji, zmiany są rejestrowane w logach, co pozwala na ich odtworzenie w przypadku awarii. Z perspektywy standardów, wymaganie trwałości jest nieodłącznym elementem zapewnienia integralności danych, które jest kluczowe w systemach obsługujących transakcje finansowe, gdzie możliwość przywrócenia stanu po awarii jest niezbędna.

Pytanie 2

W języku CSS wprowadzone zostało następujące formatowanie: ```h1 i {color:red;}``` Kolor czerwony będzie stosowany do

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

Pytanie 3

Jaki wynik daje poniższy kod PHP?

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' => 21);
A. definiuje tablicę z trzema wartościami
B. jest błędny, ponieważ indeksami tablicy mogą być wyłącznie liczby całkowite
C. określa tablicę zawierającą sześć wartości
D. jest niepoprawny, nieznany operator =>
Ten kod w PHP pokazuje, jak zdefiniować tablicę asocjacyjną z trzema elementami. To fajna sprawa, bo tablice asocjacyjne pozwalają na użycie kluczy, które nie muszą być tylko liczbami, a mogą być także opisowe, jak w tym przypadku. Klucze to 'imie', 'nazwisko' oraz 'wiek', a ich wartości to odpowiednio 'Anna', 'Nowak' i 21. Operator '=>' służy do przypisywania wartości do klucza - to dość typowa konstrukcja, bo ułatwia organizację danych. Podoba mi się, że tablice asocjacyjne w PHP są przydatne w różnych sytuacjach, na przykład do przechowywania danych użytkowników czy różnych ustawień. W sumie, ważne, żeby dbać o typy danych przypisywanych do kluczy, bo dzięki temu później łatwiej będzie się z nimi pracować. PHP ma dużo funkcji do pracy z tablicami, jak sortowanie czy iteracja, więc na pewno warto to znać.

Pytanie 4

Które z poniższych wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w przedziale (6, 203>?

A. (zm1 > 6) || (zm1 != 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) || (zm1 <= 203)
D. (zm1 > 6) && (zm1 != 203)
Odpowiedź (zm1 > 6) && (zm1 <= 203) jest poprawna, ponieważ w pełni odzwierciedla definicję przedziału otwartego dla dolnej granicy (6) i domkniętej dla górnej granicy (203). Operator && (AND) zapewnia, że oba warunki muszą być spełnione jednocześnie: zmienna zm1 musi być większa niż 6 oraz jednocześnie musi być mniejsza lub równa 203. Taki zapis jest zgodny z powszechnie przyjętymi praktykami programowania, gdzie jasne określenie warunków dla zakresu wartości jest kluczowe do unikania błędów logicznych. Przykładem zastosowania tej logiki może być weryfikacja danych wejściowych w formularzu, gdzie akceptowane są jedynie wartości mieszczące się w określonym przedziale. Użycie odpowiednich operatorów logicznych, takich jak && i ||, jest niezbędne do precyzyjnego definiowania warunków w aplikacjach, co prowadzi do bardziej niezawodnych i czytelnych kodów. Zrozumienie tych koncepcji jest fundamentalne dla każdego programisty, który dąży do tworzenia efektywnych i bezbłędnych aplikacji.

Pytanie 5

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 obrazu
B. zmienić format grafiki na CDR
C. zwiększyć rozdzielczość
D. dostosować proporcje szerokości do wysokości
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 6

Aby zbudować tabelę, należy wykorzystać polecenie

A. CREATE TABLE
B. ALTER TABLE
C. CREATE DATABASE
D. INSERT INTO
Odpowiedź 'CREATE TABLE' jest poprawna, ponieważ to polecenie jest używane w SQL do tworzenia nowych tabel w bazie danych. Tabela to podstawowa jednostka organizacyjna danych, która składa się z wierszy i kolumn, gdzie każda kolumna ma przypisaną określoną datę typu, taką jak integer, varchar, date itd. Przykład użycia tego polecenia to: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50));'. W tym przypadku tworzymy tabelę 'pracownicy', w której znajdują się trzy kolumny: 'id', 'imie' i 'nazwisko'. Ważnym aspektem jest, że przy definiowaniu tabeli należy również określić klucze główne oraz inne ograniczenia, takie jak unikalność czy relacje między tabelami, co jest zgodne z najlepszymi praktykami projektowania baz danych. Użycie 'CREATE TABLE' pozwala na skuteczne zarządzanie strukturą bazy danych, co jest kluczowe dla jej późniejszej integralności i wydajności.

Pytanie 7

Zapis CSS w postaci: ```ul{ list-style-image:url('rys.gif');}``` spowoduje, że na stronie internetowej

A. rysunek rys.gif zostanie wyświetlony jako punkt listy nienumerowanej
B. rys.gif będzie służyć jako tło dla nienumerowanej listy
C. każdy element listy zyska indywidualne tło pochodzące z grafiki rys.gif
D. punktorem nienumerowanej listy stanie się rys.gif
W CSS właściwość 'list-style-image' służy do określenia obrazu, który ma być użyty jako znacznik punktu dla list nienumerowanych. W podanym przykładzie zapis 'ul{ list-style-image:url('rys.gif'); }' informuje przeglądarkę, aby zamiast domyślnego punktu, wykorzystała obrazek 'rys.gif'. Oznacza to, że każdy element listy (li) w tej nienumerowanej liście będzie miał przypisany obraz jako punkt. To podejście jest zgodne ze standardami CSS i jest szeroko stosowane w celu dodania indywidualnego stylu do elementów listy. Przykładowo, zamiast tradycyjnego kropkowania, możemy użyć ikon lub obrazów, które lepiej oddają tematykę strony. Ważne jest, aby plik graficzny był dostępny i poprawnie załadowany, co zapewni, że znacznik wyświetli się na stronie. Istotne jest również, aby pamiętać o optymalizacji obrazków dla sieci, co może poprawić szybkość ładowania strony.

Pytanie 8

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje polecenie SQL w odpowiedni sposób, aby wybrać nazwy artykułów, które spełniają określone kryteria. Słowo kluczowe 'BETWEEN' jest używane do określenia wartości w przedziale, co w tym przypadku oznacza, że cena artykułów musi mieścić się między 1000 a 1500 PLN. W połączeniu z warunkiem 'AND' zapewnia, że tylko te artykuły, które są typu 'pralka' i mają cenę w podanym przedziale, zostaną wyświetlone. W praktyce takie zapytanie jest niezwykle użyteczne w kontekście e-commerce, gdzie często przeprowadza się filtrowanie produktów według określonych parametrów. Dobrą praktyką w programowaniu SQL jest również używanie podwójnych cudzysłowów dla wartości tekstowych, co jest zgodne z niektórymi standardami SQL, chociaż w wielu systemach baz danych akceptowane są również pojedyncze cudzysłowy. Przykłady zastosowania tego zapytania można znaleźć w systemach zarządzania zapasami, gdzie potrzebne jest szybkie generowanie list produktów spełniających specyficzne wymagania klientów.

Pytanie 9

Jak można w języku CSS ustawić kolor czerwony dla tekstu?

A. text-color: rgb(255,0,0);
B. color: rgb(255,0,0);
C. color: rgb(#FF0000);
D. text-color: rgb(#FF0000);
Odpowiedź 'color: rgb(255,0,0);' jest poprawna, ponieważ właściwość 'color' w CSS służy do definiowania koloru tekstu. Użycie funkcji rgb() umożliwia określenie koloru za pomocą składowych czerwonej, zielonej i niebieskiej (RGB), gdzie wartości mogą wynosić od 0 do 255. Wartość rgb(255,0,0) oznacza pełny czerwony kolor, co jest zgodne z zasadami kolorystyki cyfrowej. W praktyce, deklarując kolor tekstu w stylach CSS, warto skorzystać z tej metody, gdyż jest ona szeroko wspierana i zrozumiała dla przeglądarek internetowych. Dobrą praktyką jest także testowanie stylów w różnych przeglądarkach, aby upewnić się, że efekt wizualny zgodny jest z oczekiwaniami. Używanie kolorów w CSS można także łączyć z innymi właściwościami, takimi jak 'background-color', co pozwala na uzyskanie atrakcyjniejszych efektów wizualnych na stronach internetowych. Warto również zaznaczyć, że CSS3 wprowadził dodatkowe metody definiowania kolorów, jak na przykład przez nazwy kolorów, HEX lub HSL, co zwiększa elastyczność w projektowaniu graficznym.

Pytanie 10

Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest

A. zapytanie
B. zestawienie
C. formularz
D. raport
Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.

Pytanie 11

Z którego z pól klasy ```Dane``` można będzie uzyskać dostęp z zewnątrz, korzystając z obiektu stworzonego jako instancja tej klasy? ```class Dane { public $a; private $b; protected $c; }```

A. Do pola $c.
B. Do pola $a.
C. Do wszystkich pól.
D. Do pola $b.
Odpowiedź jest prawidłowa, ponieważ pole $a jest zadeklarowane jako publiczne, co oznacza, że jest dostępne z zewnątrz klasy i może być modyfikowane oraz odczytywane przez instancje tej klasy oraz inne klasy. Publiczne modyfikatory dostępu są standardową praktyką w programowaniu obiektowym, umożliwiającą swobodny dostęp do danych, co jest szczególnie przydatne w przypadku, gdy chcemy, aby dane były łatwo dostępne dla innych komponentów systemu. Na przykład, jeśli klasa Dane jest używana w aplikacji, możemy tworzyć obiekty tej klasy i bezpośrednio operować na polu $a, co sprzyja elastyczności i prostocie w zarządzaniu danymi. W dobrych praktykach programistycznych często wykorzystuje się publiczne pola w prostych strukturach danych, gdzie dostęp do danych musi być łatwy i szybki. Warto także pamiętać, że dostępność publicznych pól może być użyteczna w kontekście serializacji obiektów, gdzie prosto jest zmapować dane obiektu na format JSON lub XML.

Pytanie 12

W grze komputerowej można przejść do kolejnego poziomu, gdy spełnione są trzy warunki: zdobycie 20 punktów, zebranie co najmniej 3 paczek oraz przebycie dystansu 200 m. Wyrażenie logiczne, które weryfikuje te warunki w języku JavaScript, to

A. punkty == 20 && paczki >= 3 && dystans == 200
B. punkty == 20 || paczki == 3 || dystans == 200
C. punkty == 20 && paczki == 3 && dystans == 200
D. punkty == 20 || paczki >= 3 || dystans == 200
Wybrana odpowiedź 'punkty == 20 && paczki >= 3 && dystans == 200' jest prawidłowa, ponieważ wykorzystuje operator logiczny AND ('&&'), co oznacza, że wszystkie trzy warunki muszą być spełnione jednocześnie, aby przejść do następnego poziomu w grze. W kontekście programowania, a zwłaszcza w JavaScript, zrozumienie operatorów logicznych jest kluczowe dla podejmowania decyzji w oparciu o różne warunki. Na przykład, jeśli gracz zdobył dokładnie 20 punktów, zebrał 3 paczki i przebył 200 metrów, to wszystkie te warunki są spełnione, co pozwala na kontynuację gry. Dobrą praktyką jest stosowanie operatora >= (większe lub równe) dla paczek, ponieważ pozwala to graczowi na zbieranie większej liczby paczek, co dodaje elementy strategii i rozwoju w grze. Używanie odpowiednich operatorów logicznych jest fundamentalne w programowaniu, zapewniając, że aplikacje działają zgodnie z oczekiwaniami użytkowników. Przykład zastosowania to wprowadzenie logiki do gier, gdzie gracz musi wykonać określone zadania, aby przejść do kolejnych poziomów, co jest podstawą mechaniki wielu gier komputerowych.

Pytanie 13

Formatowanie CSS dla akapitu określa styl szarej ramki z następującymi właściwościami:

p {
    padding: 15px;
    border: 2px dotted gray;
}
A. Linia kreskowa; grubość 2 px; odległości poza ramką 15 px
B. Linia ciągła; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
C. Linia kropkowa; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
D. Linia ciągła; grubość 2 px; odległości poza ramką 15 px
Odpowiedź ta jest prawidłowa, ponieważ w CSS stylizowanie elementu akapitu za pomocą podanego kodu definiuje ramkę o linii kropkowej, grubości 2 pikseli oraz paddingu wynoszącym 15 pikseli. Padding to przestrzeń wewnętrzna pomiędzy zawartością elementu a jego ramką, co oznacza, że tekst w akapicie będzie oddalony od krawędzi ramki o 15 pikseli. Styl ramki 'dotted' jest często używany w projektach webowych, aby stworzyć efekt wizualny, który jest mniej formalny, a zarazem estetyczny. Można go wykorzystać w kontekście wyróżniania ważnych informacji lub sekcji strony, co zwiększa czytelność i przyciąga uwagę użytkowników. Przykładem zastosowania może być sekcja z informacjami o promocjach, gdzie forma wizualna ma na celu przyciągnięcie wzroku. Używając standardów CSS, dobrego podejścia do UX (User Experience) oraz wytycznych W3C, projektanci stron internetowych mogą efektywnie komunikować intencje i priorytety poprzez stylowanie wizualne.

Pytanie 14

W CSS wartości takie jak: underline, overline, line-through oraz blink odnoszą się do właściwości

A. font-style
B. text-decoration
C. text-align
D. font-decoration
Właściwość CSS 'text-decoration' jest używana do określenia dekoracji tekstu. Do jej wartości zaliczają się między innymi: 'underline' (podkreślenie), 'overline' (nadpisanie), 'line-through' (przekreślenie) oraz 'blink' (miganie), chociaż ostatnia z nich jest obecnie rzadko używana z powodu problemów z dostępnością i wsparciem w nowoczesnych przeglądarkach. W praktyce, użycie 'text-decoration' pozwala na poprawę czytelności tekstu oraz jego wyróżnienie w kontekście estetyki strony internetowej. Na przykład, stosując 'text-decoration: underline;' możemy podkreślić linki, co jest powszechną praktyką w projektowaniu stron. Zgodnie z wytycznymi W3C, stosowanie dekoracji tekstu powinno być przemyślane, aby nie wprowadzać zamieszania w interpretacji treści przez użytkowników. Przykładowo, nadpisanie może być użyte w kontekście wskazywania błędów, co wprowadza dodatkowe znaczenie do przekazu. Zrozumienie i umiejętne stosowanie 'text-decoration' jest kluczowe dla tworzenia profesjonalnych i funkcjonalnych interfejsów użytkownika.

Pytanie 15

W bazie danych produkt znajdują się artykuły wyprodukowane po 2000 roku, zawierające pola nazwa oraz rok_produkcji. Klauzula SQL wyświetli zestawienie artykułów wyprodukowanych

SELECT * FROM `produkt` WHERE
SUBSTR(rok_produkcji, 3, 2) = 17;
A. przed rokiem 2017
B. w roku 2017
C. w latach innych niż 2017
D. po roku 2017
W tej klauzuli SQL, co widzimy, filtrujemy dane z tabeli produkt. Użycie funkcji SUBSTR(rok_produkcji, 2) pozwala nam wyciągnąć dwie ostatnie cyfry z roku produkcji. To jest super przydatne, bo dzięki temu możemy uzyskać rok w formacie dwu-cyfrowym. Jak porównujemy to z 17, to znaczy, że szukamy rekordów, których rok produkcji kończy się na 17, co odpowiada pełnemu roku, czyli 2017. Takie podejście ma sens, gdy chcemy szybko przeszukać dane dotyczące konkretnego roku, nie bawiąc się w cały numer. Umiejętność korzystania z funkcji tekstowych w SQL, jak SUBSTR, jest naprawdę istotna w analizie danych, szczególnie gdy struktura tabeli nie pozwala na łatwe użycie wartości liczbowych. Ludzie pracujący z bazami danych powinni znać te sztuczki, bo to pozwala na lepsze dopasowanie filtracji danych do potrzeb. Fajne jest też dokumentowanie takich zapytań, żeby inni mogli zrozumieć, o co chodzi.

Pytanie 16

Która z podanych funkcji napisanych w PHP oblicza sumę połowy a oraz połowy b?

A. function licz($a, $b) { return ($a/2 + $b)/2; }
B. function licz($a, $b) { return $a/2 + $b/2; }
C. function licz($a, $b) { return $a/2 + $b; }
D. function licz($a, $b) { return 2/$a + 2/$b; }
Funkcja 'function licz($a, $b) { return $a/2 + $b/2; }' jest naprawdę w porządku. Dokładnie wykonuje to, co pytanie wymaga: sumuje połowy zmiennych a i b. W PHP dzielenie robimy przez operator '/', a tu obie liczby są dzielone przez 2, więc dostajemy ich połówki. Potem te połówki dodajemy, co się zgadza z tym, o co chodzi w zadaniu. Na przykład, jak a = 6 i b = 4, to funkcja zwraca (6/2) + (4/2) = 3 + 2 = 5. Takie podejście jest super, bo kod jest czytelny i prosty. W ekipach programistycznych, gdzie różni ludzie mogą pracować nad tym samym kodem, to ma duże znaczenie. Nazwa 'licz' też jest całkiem zrozumiała i dobrze pasuje do tego, co ta funkcja robi, więc później można łatwo z niej korzystać czy zmieniać ją, jak będzie potrzeba.

Pytanie 17

Jakiego rodzaju oprogramowanie narzędziowe jest wymagane, aby użytkownik mógł przeprowadzać operacje na zebranych danych?

A. Otwarty mechanizm komunikacji bazy danych
B. Klucz obcy
C. Obiektowy System Zarządzania Bazą Danych
D. System Zarządzania Bazą Danych (SZBD)
System Zarządzania Bazą Danych (SZBD) to kluczowy element w architekturze aplikacji, który umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi. Dzięki SZBD użytkownicy mogą wykonywać operacje takie jak dodawanie, usuwanie, modyfikacja danych oraz wykonywanie zapytań, co jest niezbędne w każdym systemie informacyjnym. Przykłady powszechnie stosowanych SZBD to MySQL, PostgreSQL oraz Oracle Database. W praktyce, SZBD obsługuje relacje między danymi, co pozwala na zapewnienie integralności i spójności danych. Dodatkowo, SZBD implementują standardy takie jak ACID (Atomicity, Consistency, Isolation, Durability), co jest gwarancją niezawodności transakcji. Aby efektywnie korzystać z SZBD, warto zapoznać się z językiem SQL, który jest standardem do komunikacji z bazą danych. W kontekście dobrych praktyk, umiejętność projektowania prawidłowej struktury bazy danych oraz znajomość zasad normalizacji danych są kluczowe dla optymalizacji wydajności aplikacji oraz minimalizacji ryzyka błędów danych.

Pytanie 18

W utworzonej tabeli pole należące do typu BLOB służy do składowania

A. danych binarnych o dużych rozmiarach, takich jak grafika
B. danych logicznych takich jak true
C. liczb całkowitych, które przekraczają zakres typu INT
D. łańcuchów znaków o nieokreślonej długości
Pole typu BLOB (Binary Large Object) jest przeznaczone do przechowywania danych binarnych dużych rozmiarów, co czyni je idealnym do przechowywania plików multimedialnych, takich jak obrazy, wideo lub dźwięki. W bazach danych, BLOB jest używane, gdy dane są zbyt duże, aby mogły być przechowywane w standardowych typach danych, takich jak VARCHAR czy INT. Przykładem zastosowania BLOB może być strona internetowa, która pozwala użytkownikom na przesyłanie zdjęć profilowych. W takim przypadku, zdjęcia są przechowywane w kolumnie typu BLOB w bazie danych, co pozwala na efektywne zarządzanie dużymi plikami binarnymi. Zastosowanie standardów takich jak SQL przy projektowaniu baz danych zapewnia optymalizację przechowywania danych, a użycie BLOB jako typu danych dla dużych plików jest zgodne z najlepszymi praktykami w tej dziedzinie.

Pytanie 19

Która z poniższych funkcji sortujących, stosowanych w języku PHP, porządkuje tablicę asocjacyjną według kluczy?

A. asort()
B. ksort()
C. sort()
D. rsort()
Funkcja ksort() w PHP sortuje tablice asocjacyjne według ich kluczy, co oznacza, że klucze będą posortowane w naturalnej kolejności, a wartości pozostaną przypisane do swoich oryginalnych kluczy. Przykładowo, jeśli masz tablicę, powiedzmy $arr = array('b' => 2, 'a' => 1, 'c' => 3); to po użyciu ksort($arr), dostaniesz $arr = array('a' => 1, 'b' => 2, 'c' => 3). To naprawdę przydatna funkcja, bo dzięki niej można łatwo zorganizować i uporządkować dane. Kiedy korzystasz z ksort(), poprawiasz przejrzystość tablicy, a to na pewno zwiększa efektywność w pracy z danymi. No i warto dodać, że ksort() jest standardową funkcją w dokumentacji PHP, więc jest dość stabilna i popularna wśród programistów.

Pytanie 20

Który zapis jest selektorem pseudoklasy CSS?

A. p#wyroznienie
B. td.wyroznienie
C. a:link
D. body
Poprawna odpowiedź to „a:link”, ponieważ jest to zapis selektora pseudoklasy w CSS. Dwukropek po nazwie elementu „a” oznacza właśnie pseudoklasę – w tym przypadku chodzi o konkretny stan linku, czyli odnośnik, który jeszcze nie został odwiedzony przez użytkownika. W specyfikacji CSS (np. CSS2.1, CSS Selectors Level 3/4) pseudoklasy opisują stany dynamiczne albo logiczne cechy elementu, których nie da się łatwo zapisać w samym HTML, jak :hover, :active, :visited, :focus, :first-child, :nth-child() i wiele innych. Moim zdaniem warto od razu kojarzyć, że jeżeli widzisz dwukropek po selektorze, a potem słowo-klucz, to prawie na pewno jest to pseudoklasa. Przykładowo: a:hover { text-decoration: underline; } a:visited { color: purple; } input:focus { border-color: #00aaff; } Takie selektory pozwalają stylować elementy w zależności od interakcji użytkownika lub ich położenia w drzewie DOM. W praktyce front-endowej bardzo często używa się zestawu pseudoklas dla linków w kolejności: :link, :visited, :hover, :active (tzw. LVHA), żeby przeglądarka stosowała style w przewidywalny sposób. Dobrą praktyką jest też rozróżnianie kolorów linków odwiedzonych (:visited) i nieodwiedzonych (:link), ale w granicach czytelności interfejsu. W nowoczesnym CSS mamy też pseudoklasy takie jak :not(), :is(), :has(), które bardzo ułatwiają pisanie złożonych selektorów bez nadmiernego kombinowania z klasami w HTML. Jednak fundament pozostaje ten sam: pseudoklasa to coś po dwukropku, co opisuje stan, a nie zwykły typ, klasę czy id elementu. Dlatego w tym pytaniu jedynie „a:link” spełnia definicję selektora pseudoklasy.

Pytanie 21

Wskaż równoważną metodę dla instrukcji switch zapisaną w języku PHP?

Ilustracja do pytania
A. A
B. C
C. B
D. D
Switch w PHP to narzędzie, które pomaga kierować działaniem programu w zależności od wartości, i często zamienia się to na wiele if-else, żeby kod był bardziej przejrzysty. Czasami jednak pojawiają się błędne interpretacje logiki warunkowej. W odpowiedzi D, użycie operatora and oznacza, że oba warunki muszą być spełnione naraz, co jest trochę mylące, bo dla zmiennej $liczba przy wartościach 10 i 20 to nie jest za bardzo możliwe. W odpowiedzi A jest po prostu porównanie do 10, co nie pokazuje całego potencjału switch, który może radzić sobie z wieloma przypadkami. Odpowiedź C też ma problem, bo chociaż używa or poprawnie, brakuje jej else, który jest ważny w switch, bo pozwala na zrobienie czegoś, gdy żaden z warunków nie pasuje. Często zapomina się o znaczeniu default w switch, a w if-else to w sumie jest to else. Zrozumienie tych rzeczy jest ważne, żeby pisać czytelny i efektywny kod PHP, szczególnie gdy tworzymy większe aplikacje, bo bez jasnej struktury może to być naprawdę wyzwanie.

Pytanie 22

Aby zwiększyć wydajność operacji na bazie danych, powinno się dla pól, które są często używane w wyszukiwaniach lub sortowaniach

A. utworzyć osobną tabelę przechowującą wyłącznie te pola.
B. dodać klucz obcy.
C. utworzyć indeks.
D. dodać więzy integralności.
Utworzenie indeksu jest jedną z najskuteczniejszych metod przyspieszania operacji na bazach danych, szczególnie w kontekście pól, które są często wyszukiwane lub sortowane. Indeksy działają na zasadzie tworzenia struktury danych, która umożliwia szybsze lokalizowanie rekordów w tabeli. Przykładami mogą być indeksy B-drzewiaste lub bitmapowe, które są powszechnie stosowane w systemach zarządzania bazami danych (DBMS). Dzięki indeksom, zapytania takie jak SELECT z klauzulą WHERE lub ORDER BY mogą zyskać na wydajności, ponieważ DBMS nie musi przeszukiwać całej tabeli, ale korzysta z indeksu, aby szybko znaleźć interesujące dane. Warto również zauważyć, że tworzenie indeksów nie jest pozbawione kosztów; przy dodawaniu lub aktualizacji rekordów w tabeli, DBMS musi także aktualizować odpowiadające im indeksy. Dlatego ważne jest, aby tworzyć indeksy na tych kolumnach, które rzeczywiście będą intensywnie wykorzystywane w zapytaniach, zgodnie z najlepszymi praktykami projektowania baz danych, aby zbalansować wydajność i koszty utrzymania bazy. Ponadto, warto regularnie analizować ich użycie i optymalizować, aby dostosować się do zmieniających się wzorców korzystania z danych.

Pytanie 23

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której zmienne a i b są większe od zera, przy czym zmienna b nie przekracza wartości 100. Taki warunek powinien być zapisany w następujący sposób:

A. if (a>0 || (b> 0 && b<100)) ...
B. if (a > 0 && b > 0 || b > 100) ...
C. if (a>0 || b> 0 || b > 100) ...
D. if (a > 0 && b > 0 && b < 100) ...
Warunek zapisany jako 'if (a > 0 && b > 0 && b < 100)' jest prawidłowy, ponieważ spełnia wszystkie wymagane kryteria. Składnia tego wyrażenia logicznego wskazuje, że zarówno zmienna 'a' musi być większa od zera, jak i zmienna 'b' musi być większa od zera oraz mniejsza od 100. Użycie operatora '&&' (AND) oznacza, że wszystkie warunki muszą być spełnione, aby blok kodu wewnątrz instrukcji 'if' został wykonany. To jest zgodne z najlepszymi praktykami programowania, które zalecają, aby warunki były wyraźnie zdefiniowane i logicznie powiązane, aby uniknąć nieporozumień i błędów. W praktycznych zastosowaniach, jeśli chcemy np. przyznać użytkownikowi dostęp do systemu tylko wtedy, gdy spełnione są konkretne kryteria, takie podejście zapewnia, że nasze instrukcje są wykonywane tylko w odpowiednich okolicznościach. Dodatkowo, definiując precyzyjnie nasze warunki, zwiększamy czytelność kodu, co jest kluczowe w projektach zespołowych, gdzie wiele osób może pracować nad tym samym kodem.

Pytanie 24

Aby w tabeli praca, tworzonej w SQL, dodać warunek w kolumnie stawka, który nakazuje przyjmowanie dodatnich wartości rzeczywistych mniejszych niż 50, należy zastosować zapis

A. ... stawka float CHECK(stawka>0 AND stawka<50.00)
B. ... stawka float CHECK(stawka BETWEEN 0 AND 50.00)
C. ... stawka float CHECK(stawka>0 OR stawka<50.00)
D. ... stawka float CHECK(stawka IN (0, 50.00))
Pierwsza z niepoprawnych odpowiedzi wykorzystuje operator IN, który nie jest odpowiedni dla tego przypadku. Operator IN służy do sprawdzania, czy wartość znajduje się w zbiorze dozwolonych wartości. W kontekście stawki, nie ma sensu ograniczać się tylko do wartości 0 i 50.00, ponieważ chcemy, by 'stawka' mogła przyjmować wiele wartości w przedziale od 0 do 50, a nie tylko te dwa. Kolejna odpowiedź stosuje operator OR, co prowadzi do błędnej interpretacji wymagań. Użycie OR oznacza, że 'stawka' mogłaby być większa od 0 lub mniejsza od 50, co w efekcie pozwalałoby na wprowadzenie wartości, które nie spełniają założonego kryterium, takich jak liczby ujemne. Ostatnia z odpowiedzi używa operatora BETWEEN, który również nie jest odpowiedni, ponieważ tworzy zakres od 0 do 50, co nie spełnia warunku, że stawka musi być większa od 0. Zatem, wszystkie trzy odpowiedzi nie zapewniają poprawnej weryfikacji danych w kolumnie 'stawka' w tabeli SQL, co jest kluczowe dla utrzymania jakości i integralności danych.

Pytanie 25

W PHP, przy wykonywaniu działań na bazie danych MySQL, aby zakończyć sesję z bazą, należy użyć

A. mysqli_rollback();
B. mysqli_close();
C. mysqli_exit();
D. mysqli_commit();
Funkcja mysqli_close() jest właściwym sposobem na zakończenie pracy z połączeniem do bazy danych MySQL w języku PHP. Użycie tej funkcji zwalnia zasoby skojarzone z danym połączeniem, co jest kluczowe w kontekście wydajności aplikacji. Po zakończeniu operacji na bazie danych, zwłaszcza w przypadku aplikacji intensywnie korzystających z zasobów, takich jak serwery webowe, ważne jest, aby zamknąć połączenie, aby uniknąć wycieków pamięci oraz ograniczyć liczbę otwartych połączeń. Przykładowo, po wykonaniu zapytań do bazy danych, stosując mysqli_close($connection), gdzie $connection to uchwyt do otwartego połączenia, można skutecznie zakończyć interakcję z bazą. Dobrą praktyką jest zamykanie połączeń w blokach finally, aby upewnić się, że zasoby są zwalniane nawet w przypadku wystąpienia wyjątków. Kiedy zamykasz połączenie, pamiętaj, że nie będziesz w stanie już korzystać z tego uchwytu połączenia, co jest zgodne z filozofią zarządzania zasobami, gdzie każdy otwarty zasób powinien być odpowiednio zamykany po zakończeniu jego użycia.

Pytanie 26

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: right; } section { float: right; }
B. nav { float: right; }
C. nav { float: left; } aside { float: left; }
D. aside {float: left; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 27

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
B. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
C. zliczanie liczby wizyt na stronie
D. pokazanie ciasteczka z zapisanym parametrem
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 28

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. dfn
B. title
C. alt
D. name
Gratulacje, to jest prawidłowa odpowiedź. Znacznik &lt;abbr&gt; w HTML jest używany do określenia skrótu lub akronimu. Atrybut 'title' jest używany w połączeniu z tym znacznikiem, aby dostarczyć pełną formę skrótu, która jest wyświetlana, gdy użytkownik najedzie na skrót. Jest to zgodne ze standardami i dobrymi praktykami branżowymi, które zalecają ułatwianie zrozumienia treści dla wszystkich użytkowników, w tym tych z dysfunkcjami. Atrybut 'title' jest zatem przydatny, gdy skrót jest ryzykowny lub ma wiele znaczeń. Na przykład, skrót 'WHO' może oznaczać 'World Health Organization' lub 'Whois protocol' w zależności od kontekstu. Dlatego atrybut 'title' pomaga wyjaśnić zamierzone znaczenie.

Pytanie 29

W języku PHP, aby nawiązać połączenie z bazą danych MySQL przy użyciu biblioteki mysqli, w poniższym zapisie w miejsce litery 'c' należy wpisać:

$a = new mysqli('b', 'c', 'd', 'e');
A. nazwa użytkownika
B. hasło dla użytkownika
C. nazwa bazy danych
D. adres serwera bazy danych
Wybór odpowiedzi dotyczącej 'nazwa bazy danych', 'hasło użytkownika' i 'lokalizacja serwera bazy danych' nie jest poprawny, bo żaden z tych elementów nie odnosi się do drugiego argumentu w konstruktorze mysqli. Zrozumienie połączeń z bazą danych jest kluczowe przy programowaniu w PHP. 'Nazwa bazy danych' to czwarty argument, więc dotyczy tego, do której bazy chcemy się podłączyć. 'Hasło użytkownika' to trzeci argument, który jest potrzebny, żeby się autoryzować. A 'lokalizacja serwera bazy danych' to pierwszy argument, który mówi, gdzie znajduje się serwer, najczęściej będzie to 'localhost', na którym działa nasza aplikacja. Błędne wnioski mogą się brać z niepełnego zrozumienia struktury połączeń w PHP.

Pytanie 30

Zgodnie z zasadami walidacji HTML5, prawidłowy zapis tagu hr to

A. <hr>
B. </ hr />
C. </hr?>
D. </ hr>
Zarówno </ hr>, </hr?>, jak i </ hr /> są przykładami niepoprawnych składni w kontekście HTML5. Element <hr> jest samodzielny i nie wymaga zamknięcia, co oznacza, że dodawanie znaku zamykającego jest zbędne i w rzeczywistości stanowi błąd. Użycie </ hr> sugeruje, że <hr> byłoby elementem, który wymaga zamknięcia, co jest sprzeczne z jego definicją w HTML5. Z kolei </hr?> to przykład błędnej składni, ponieważ zawiera niepoprawny znak zapytania, który nie ma uzasadnienia w HTML i może prowadzić do nieprzewidywalnych efektów w renderowaniu strony przez przeglądarki. Ostatecznie, </ hr /> również jest nieprawidłowe, ponieważ dodanie ukośnika przed zamknięciem nie jest potrzebne w przypadku elementów samodzielnych. Takie błędne wykorzystanie składni może prowadzić do niepoprawnego wyświetlania strony i problemów z jej interpretacją przez programy przetwarzające HTML. Dlatego ważne jest, aby dobrze znać zasady walidacji HTML i stosować się do nich, aby zapewnić poprawne działanie i zgodność ze standardami sieciowymi.

Pytanie 31

Jakie mechanizmy powinno się wykorzystać do stworzenia ankiety w języku działającym po stronie serwera, tak aby wyniki były zapisane w postaci małego pliku u użytkownika?

A. bazy danych SQL
B. ciasteczek
C. tablicy globalnej $_FILES
D. sesji
Przy wyborze nieodpowiednich mechanizmów do przechowywania wyników ankiety, warto zrozumieć, dlaczego inne opcje nie są właściwe. Używanie tablicy globalnej $_FILES jest całkowicie niewłaściwe, ponieważ ta tablica służy do obsługi przesyłanych plików, a nie do przechowywania danych w formie ankiety. Z kolei sesje, mimo że pozwalają na przechowywanie danych użytkownika w kontekście danej sesji, są bardziej odpowiednie do przechowywania tymczasowych informacji, które nie wymagają długoterminowego przechowywania. W przypadku ankiety, gdzie istotne jest zachowanie wyników pomiędzy różnymi sesjami, sesje mogą być nieefektywne i prowadzić do ich utraty po zakończeniu sesji przeglądarki. Bazy danych SQL, chociaż są potężnym narzędziem do przechowywania danych, wymagają większej złożoności w implementacji oraz zarządzaniu danymi, co może być zbędne w przypadku prostych ankiet, gdzie ciasteczka mogą spełnić wystarczające wymagania. Typowym błędem myślowym jest zakładanie, że każda forma przechowywania danych wymaga skomplikowanej infrastruktury, podczas gdy w wielu przypadkach prostsze rozwiązania, takie jak ciasteczka, oferują wystarczającą funkcjonalność w bardziej ergonomicznym podejściu do programowania aplikacji webowych.

Pytanie 32

Aby zobaczyć rezultaty działania skryptu napisanego w PHP, który jest częścią strony internetowej, musi on być

A. zinterpretowany po stronie serwera
B. skomputeryzowany po stronie użytkownika
C. interpretowany po stronie użytkownika
D. skomputeryzowany po stronie serwera
Odpowiedź "zinterpretowany po stronie serwera" jest poprawna, ponieważ skrypty PHP są przetwarzane na serwerze, a wynik ich działania jest następnie przesyłany do przeglądarki klienta. PHP jest językiem skryptowym, który działa w kontekście serwera, co oznacza, że kod PHP jest wykonywany, a jego wynik (np. HTML, JSON, XML) jest generowany zanim trafi do klienta. W praktyce, gdy użytkownik odwiedza stronę napisanej w PHP, serwer uruchamia skrypt, przetwarza dane, korzysta z baz danych, a następnie zwraca gotowy dokument do przeglądarki. Jest to zgodne z zasadą architektury klient-serwer, w której serwer odpowiada za logikę aplikacji, natomiast klient koncentruje się na prezentacji danych. Przykładowe zastosowanie PHP obejmuje tworzenie dynamicznych stron internetowych, systemów zarządzania treścią (CMS), a także aplikacji webowych, które wymagają interakcji z bazą danych. W branży web developmentu standardem jest używanie PHP w połączeniu z bazami danych MySQL lub PostgreSQL, co czyni go popularnym wyborem dla programistów.

Pytanie 33

Jakiego polecenia SQL należy użyć, aby usunąć z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE * FROM artykuly WHERE tresc = "%sto%";
B. DELETE * FROM artykuly WHERE tresc LIKE "%sto%";
C. DELETE FROM artykuly WHERE tresc LIKE "%sto%";
D. DELETE FROM artykuly WHERE tresc = "%sto%";
Poprawna odpowiedź to 'DELETE FROM artykuly WHERE tresc LIKE "%sto%";'. To polecenie SQL używa operatora LIKE, który pozwala na wyszukiwanie wzorców w danych tekstowych. Użycie znaków procentowych '%' jako symboli wieloznacznych umożliwia odnalezienie ciągów, w których słowo 'sto' występuje w dowolnym miejscu w kolumnie 'tresc'. W praktyce, tego rodzaju zapytanie jest niezwykle przydatne podczas zarządzania dużymi bazami danych, gdzie często zachodzi potrzeba filtrowania danych na podstawie ich zawartości. Zastosowanie tego polecenia jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi, ponieważ precyzyjnie określa, które wpisy mają zostać usunięte, minimalizując ryzyko przypadkowego usunięcia niewłaściwych danych. Warto znać i rozumieć różnice pomiędzy operatorami '=' a 'LIKE', ponieważ operator '=' wymaga dokładnego dopasowania, co w wielu przypadkach nie jest wystarczające do uzyskania pożądanych wyników. Przykładem może być sytuacja, gdy w kolumnie 'tresc' znajdują się artykuły zawierające słowo 'sto' w kontekście 'stołek', a operator '=' nie byłby w stanie ich zidentyfikować.

Pytanie 34

Polecenie TRUNCATE TABLE w systemie MySQL stosuje się do usuwania

A. wierszy tabeli.
B. kolumn.
C. baz danych.
D. tabel.
Poprawnie – TRUNCATE TABLE w MySQL służy do usuwania wszystkich wierszy z tabeli, a nie samej tabeli. Technicznie jest to polecenie DDL (Data Definition Language), chociaż z punktu widzenia efektu końcowego zachowuje się „podobnie” do bardzo szybkiego DELETE bez klauzuli WHERE. Różnica jest jednak istotna. TRUNCATE TABLE usuwa wszystkie rekordy naraz, zwykle poprzez opróżnienie całych segmentów danych, dzięki czemu jest znacznie szybsze niż klasyczne DELETE FROM tabela, które kasuje każdy wiersz osobno i loguje każdą operację. W MySQL po TRUNCATE bardzo często licznik AUTO_INCREMENT resetuje się do wartości początkowej, co w praktyce oznacza, że nowe rekordy dostaną takie same ID, jak kiedyś istniały. To jest ważne np. w środowisku testowym, gdy chcesz „wyczyścić” tabelę i zacząć od zera. W środowisku produkcyjnym trzeba uważać, bo po TRUNCATE nie da się przywrócić danych zwykłym ROLLBACK (w większości silników MySQL, np. InnoDB, traktowane jest to jak operacja DDL i commitowana jest natychmiast). Moim zdaniem TRUNCATE najlepiej używać wtedy, gdy mamy tabelę pomocniczą, logi, cache albo dane tymczasowe, które można bezpiecznie wyrzucić w całości i nie potrzebujemy historii zmian. Dobrą praktyką jest też upewnienie się, że na tabeli nie ma powiązań przez klucze obce, bo w MySQL TRUNCATE na tabeli referencjonowanej przez FOREIGN KEY może się nie udać albo wymagać wcześniejszego wyłączenia ograniczeń referencyjnych. W skrócie: TRUNCATE TABLE to narzędzie do szybkiego, hurtowego kasowania wszystkich wierszy tabeli, z zachowaniem samej struktury tej tabeli (kolumny, indeksy, definicje kluczy zostają).

Pytanie 35

Jak określa się podzbiór strukturalnego języka zapytań, który dotyczy formułowania zapytań do bazy danych przy użyciu polecenia SELECT?

A. SQL DML (ang. Data Manipulation Language)
B. SQL DQL (ang. Data Query Language)
C. SQL DCL (ang. Data Control Language)
D. SQL DDL (ang. Data Definition Language)
SQL DQL (Data Query Language) to podzbiór języka SQL, który koncentruje się na formułowaniu zapytań do baz danych w celu pobierania danych. Jego głównym elementem jest polecenie SELECT, które umożliwia użytkownikom wybieranie specyficznych danych z tabel oraz ich przetwarzanie w różnorodny sposób, w tym filtrowanie, sortowanie i łączenie danych z różnych źródeł. Przykładem zastosowania DQL jest zapytanie typu 'SELECT * FROM employees WHERE department = 'Sales';', które zwraca wszystkich pracowników z działu sprzedaży. DQL jest kluczowym elementem w analizie danych oraz raportowaniu, co sprawia, że znajomość tego podzbioru jest niezbędna dla analityków danych oraz programistów. Zrozumienie i umiejętność korzystania z DQL pozwala na efektywne wykorzystanie baz danych w praktycznych zastosowaniach biznesowych, takich jak generowanie raportów, analiza trendów oraz wspieranie decyzji strategicznych. Standardy SQL określają dobre praktyki związane z tworzeniem zapytań, co pozwala na zachowanie wydajności i czytelności kodu.

Pytanie 36

Jakie polecenie należy zastosować, aby wysłać dane przy pomocy funkcji mysqli_query() w skrypcie PHP, który dodaje informacje z formularza umieszczonego na stronie internetowej do bazy danych?

A. SELECT
B. UPDATE
C. INSERT INTO
D. ALTER
Wybór innych opcji związany jest z nieporozumieniami co do funkcji kwerend SQL. ALTER jest stosowany do modyfikacji struktury istniejącej tabeli, co nie ma zastosowania w kontekście wstawiania danych. Użycie tej komendy sugeruje chęć zmiany kolumn, ich typów czy nazw, a nie dodawania nowych rekordów. UPDATE służy do aktualizacji istniejących danych w tabelach, co również nie jest związane z dodawaniem nowych wartości. Użytkownicy często mylą operacje aktualizacji z wstawieniem nowych danych, co może prowadzić do błędnych implementacji. SELECT to zapytanie używane do pobierania danych z bazy, a nie do ich wstawiania. Stosowanie SELECT w kontekście wstawiania danych może prowadzić do nieporozumień, zwłaszcza gdy użytkownicy próbują zrozumieć, jak działa interakcja z bazą danych. Typowe błędy myślowe to mylenie operacji na danych z operacjami na strukturze bazy, co może być szczególnie problematyczne w przypadku pracy z większymi aplikacjami, w których zarządzanie danymi jest kluczowe dla ich funkcjonowania. Aby skutecznie zarządzać danymi w bazach, kluczowe jest zrozumienie różnic między tymi operacjami oraz ich właściwe zastosowanie.

Pytanie 37

W języku CSS określono formatowanie znacznika h1 według wzoru. Zakładając, że żadne inne formatowanie nie jest dodane do znacznika h1, wskaż sposób formatowania tego znacznika

Ilustracja do pytania
A. C
B. D
C. B
D. A
Formatowanie znacznika h1, określone w podanym kodzie CSS, wprowadza kilka charakterystycznych cech stylistycznych. Przede wszystkim, zastosowanie 'font-style: oblique;' zmienia wygląd tekstu, nadając mu ukośny styl. To oznacza, że tekst będzie wyświetlany w wyraźnie przechylonej formie, co jest często używane do podkreślenia ważnych elementów. Dodatkowo, 'font-variant: small-caps;' odpowiedzialne jest za przekształcenie małych liter w małe kapitałki, co nadaje tekstowi elegancki i formalny wygląd. Taki zabieg jest często wykorzystywany w tytułach lub nagłówkach, aby wyróżnić je wśród pozostałego tekstu. Ostatni element, 'text-align: right;', wyrównuje tekst do prawej krawędzi kontenera, co jest mniej powszechnie stosowane w porównaniu do wyrównania do lewej lub wyśrodkowanego, ale może być użyteczne w specyficznych układach strony. W przypadku, gdyby były dodatkowe style CSS przypisane do tego znacznika, mogłyby one wpłynąć na ostateczny wygląd, jednak w tym przypadku zakładamy, że są to jedyne zastosowane style. Standardy CSS jasno określają, jak różne właściwości mogą być używane do stylizacji elementów HTML, co czyni je niezwykle potężnym narzędziem w tworzeniu estetycznych i funkcjonalnych stron internetowych.

Pytanie 38

Aby obraz w filmie zmieniał się gładko, liczba klatek (niezachodzących na siebie) w ciągu sekundy musi mieścić się przynajmniej w zakresie

A. 24 do 30 fps
B. 16 do 19 fps
C. 31 do 36 fps
D. 20 do 23 fps
Odpowiedź '24 do 30 fps' jest na miejscu, bo w tym zakresie klatki na sekundę zapewniają naprawdę płynny obraz w filmach. Standard to 24 fps, co uznaje się za minimalną liczbę klatek, aby widzowie widzieli ruch jako gładki, a nie poskakujący. W praktyce w telewizji oraz przy niektórych formatach wideo można spotkać się z 30 fps, co jeszcze bardziej poprawia wrażenia wizualne. Warto tu wspomnieć, że wiele produkcji, zwłaszcza animacji, trzyma się tych standardów. Na przykład, filmy animowane z 24 fps mają dobrą dynamikę, ale w transmisjach sportowych często korzysta się z 30 fps, żeby lepiej uchwycić szybko poruszające się obiekty. Ostatecznie, trzymanie się tych standardów w filmach i telewizji to klucz do dobrego odbioru wizualnego.

Pytanie 39

Jakie rozwiązanie należy zastosować w przechowywaniu danych, aby przyspieszyć wykonywanie zapytań w bazie danych?

A. Klucze podstawowe.
B. Domyślne wartości.
C. Zasady.
D. Indeksy.
Indeksy są kluczowym elementem optymalizacji wydajności baz danych. Działają one jak wskaźniki, które pozwalają systemowi zarządzania bazą danych (DBMS) szybko zlokalizować dane bez potrzeby przeszukiwania całej tabeli. Indeksy są szczególnie przydatne przy wykonywaniu zapytań, które filtrują, sortują lub łączą dane z różnych tabel. Na przykład, w przypadku dużych zbiorów danych, dodanie indeksu do kolumny, która jest często używana w klauzulach WHERE, może znacznie skrócić czas odpowiedzi. W standardzie SQL, można tworzyć indeksy za pomocą polecenia CREATE INDEX, co pozwala na zdefiniowanie, które kolumny mają być indeksowane. Warto jednak pamiętać, że nadmiar indeksów może prowadzić do spowolnienia operacji zapisu, dlatego ważne jest, aby dobrze przemyśleć, które kolumny powinny być indeksowane. Użycie indeksów jest szczególnie zalecane w przypadku aplikacji, które często wykonują zapytania na dużych zbiorach danych, takich jak systemy e-commerce czy aplikacje analityczne.

Pytanie 40

Relacja opisana jako: "Rekord z tabeli A może odpowiadać wielu rekordom z tabeli B. Każdemu rekordowi z tabeli B przyporządkowany jest dokładnie jeden rekord z tabeli A" jest relacją

A. jeden do jednego
B. nieoznaczoną
C. wiele do wielu
D. jeden do wielu
Relacja typu jeden do wielu oznacza, że jeden rekord z jednej tabeli (w tym przypadku tabela A) może być powiązany z wieloma rekordami z innej tabeli (tabela B). W opisanej sytuacji rekord z tabeli A może odpowiadać dowolnej liczbie rekordów z tabeli B, co ilustruje tę relację. Przykładem takiej relacji może być baza danych systemu zarządzania szkołą, gdzie jeden nauczyciel (rekord z tabeli A) może uczyć wielu uczniów (rekordy z tabeli B), ale każdy uczeń jest przypisany do jednego nauczyciela. Przy projektowaniu baz danych, stosowanie odpowiednich relacji jest kluczowe dla integralności i wydajności systemu. Dbałość o takie relacje przyczynia się do poprawy jakości danych oraz minimalizacji redundancji, co jest zgodne z zasadami normalizacji baz danych. W praktyce, relacje jeden do wielu są powszechnie stosowane w systemach CRM, ERP oraz wielu innych aplikacjach, które wymagają organizacji danych w sposób logiczny i praktyczny.