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: 12 maja 2026 15:09
  • Data zakończenia: 12 maja 2026 15:29

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

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

Jakim formatem plików dźwiękowych charakteryzuje się kompresja bezstratna?

A. MPEG
B. WAW
C. FLAC
D. MP3
MP3 to format dźwiękowy, który wykorzystuje kompresję, ale niestety jest to kompresja stratna, więc część danych audio się traci. Dlatego jakość dźwięku nie jest najlepsza, co może być problemem dla audiofilów, którzy szukają czegoś lepszego. Z kolei WAV to format nieskompresowany, co oznacza, że zachowuje wszystkie dane, ale pliki są duże… mało praktyczne, zwłaszcza jak masz ogromną bibliotekę muzyczną. MPEG, znany bardziej jako standard kompresji wideo, też może być używany do dźwięku, ale tak jak MP3, traci na jakości. Generalnie ani MP3, ani WAV, ani MPEG nie nadają się do kompresji bezstratnej, więc to nie są dobre odpowiedzi w tym przypadku.

Pytanie 2

Aby zrealizować przekierowanie 301, które przenosi użytkownika z jednego URL na inny, należy skonfigurować plik serwera Apache zwany

A. configuration.php
B. conf.php
C. apacheConf
D. .htaccess
Przekierowanie 301 to stałe przekierowanie, które informuje przeglądarki i wyszukiwarki, że zasób został trwale przeniesiony na inny adres URL. Ustawienie takiego przekierowania w pliku .htaccess jest kluczowe dla optymalizacji SEO oraz utrzymania integralności linków. Plik .htaccess, znajdujący się w głównym katalogu serwera Apache, pozwala na konfigurowanie różnych aspektów działania serwera, w tym przekierowań. Przykład zastosowania przekierowania 301 w pliku .htaccess to: "Redirect 301 /stary-adres http://www.example.com/nowy-adres". Istotnym aspektem jest, że przekierowanie 301 przekazuje również wartość SEO z poprzedniego adresu URL na nowy, co pomaga w utrzymaniu pozycji w wynikach wyszukiwania. Warto również zauważyć, że standardy W3C oraz wytyczne Google dotyczące SEO rekomendują używanie przekierowania 301 do przenoszenia treści i eliminowania błędów 404. Dlatego prawidłowe skonfigurowanie .htaccess jest niezbędne dla każdej strony internetowej, która zmienia strukturę URL.

Pytanie 3

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.error()
B. console.log()
C. console.warn()
D. console.count()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 4

Aby przekształcić tekst "ala ma psa" na "ALA MA PSA", należy zastosować funkcję PHP

A. ucfirst("ala ma psa")
B. strstr("ala ma psa")
C. strtoupper("ala ma psa")
D. strtolower("ala ma psa")
Fajnie, że użyłeś funkcji strtoupper w PHP! Dzięki niej przekształcasz cały tekst na wielkie litery, co w tym przypadku zmienia 'ala ma psa' na 'ALA MA PSA'. To naprawdę przydatna funkcja, zwłaszcza w aplikacjach webowych, gdzie ważne jest, żeby tekst wyglądał tak, jak powinien, np. zgodnie z zasadami SEO czy przy prezentacji danych. Przykładowo, w formularzach warto, żeby nazwy użytkowników zawsze były w tym samym formacie. Poza tym jest cała masa innych funkcji w PHP, które mogą przydać się do manipulacji tekstem, a ich znajomość poprawia jakość kodu i jego czytelność.

Pytanie 5

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

A. skomputeryzowany po stronie użytkownika
B. zinterpretowany po stronie serwera
C. skomputeryzowany po stronie serwera
D. interpretowany po stronie użytkownika
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 6

W JavaScript stworzono funkcję o nazwie licz_pitagoras, która oblicza długość przeciwprostokątnej w trójkącie prostokątnym, zgodnie z twierdzeniem Pitagorasa. Funkcja przyjmuje dwa parametry wejściowe i zwraca wynik. Poprawne wywołanie tej funkcji, wraz z uzyskaniem zwróconej wartości, będzie miało formę

A. licz_pitagoras(a, b, c);
B. licz_pitagoras(a, b);
C. c = licz_pitagoras(a, b);
D. licz_pitagoras(a, b) = c;
Odpowiedź 'c = licz_pitagoras(a, b);' jest poprawna, ponieważ przedstawia sposób wywołania funkcji oraz przypisania jej wyniku do zmiennej. W języku JavaScript, aby skorzystać z funkcji, należy najpierw ją wywołać, a następnie, w przypadku gdy funkcja zwraca wartość, możemy tę wartość przypisać do zmiennej. W tym przypadku, funkcja 'licz_pitagoras' przyjmuje dwa argumenty, które odpowiadają długościom dwóch przyprostokątnych w trójkącie prostokątnym i zwraca długość przeciwprostokątnej, obliczoną na podstawie wzoru a^2 + b^2 = c^2. Przykład praktyczny to wykorzystanie tej funkcji w aplikacji, która oblicza długości boków trójkątów, co jest przydatne w różnych dziedzinach, takich jak inżynieria czy architektura. Warto pamiętać o dobrej praktyce, aby nazwy funkcji były opisowe, co ułatwia zrozumienie ich funkcji bez potrzeby zagłębiania się w implementację.

Pytanie 7

W JavaScript zapis a++; można przedstawić w inny sposób jako

A. a = a & 1
B. 1 += a
C. a << 1
D. a = a + 1
Odpowiedź 'a = a + 1;' jest poprawna, ponieważ dokładnie odzwierciedla działanie operatora inkrementacji 'a++;'. Operator '++' w JavaScript zwiększa wartość zmiennej o 1. W przypadku użycia 'a = a + 1;', operacja ta jest explicite zapisana jako przypisanie aktualnej wartości 'a' powiększonej o 1. Taki zapis jest często stosowany w sytuacjach, gdy chcemy lepiej zrozumieć, co się dzieje w kodzie, szczególnie dla początkujących programistów. Przykładowo, jeśli mamy zmienną, która przechowuje liczbę, możemy użyć 'a = a + 1;' w pętli, aby zliczać ilość iteracji. Warto zauważyć, że użycie operatora '++' jest bardziej zwięzłe i często preferowane w profesjonalnym kodzie, jednak zrozumienie, jak działa to na poziomie podstawowym, jest kluczowe. Dobrą praktyką jest dbałość o przejrzystość kodu, zwłaszcza w zespołach, gdzie różne osoby mogą pracować nad tym samym projektem.

Pytanie 8

Która z funkcji agregujących wbudowanych w język SQL służy do obliczania średniej wartości w określonej kolumnie?

A. SUM
B. AVG
C. COUNT
D. MIN
Funkcja AVG w języku SQL jest jedną z kluczowych funkcji agregujących, która pozwala na obliczenie średniej wartości w określonej kolumnie zestawienia danych. Użycie tej funkcji jest szczególnie istotne w analizie statystycznej, gdyż pozwala uzyskać bardziej reprezentatywny wynik, eliminując wpływ skrajnych wartości, które mogą zniekształcać obraz danych. Na przykład, gdy mamy tabelę "sprzedaż" z kolumną "kwota", można użyć zapytania SELECT AVG(kwota) FROM sprzedaż, aby uzyskać średnią wartość sprzedaży. Funkcja ta jest nie tylko przydatna w kontekście analizy, ale także stanowi standardową praktykę w raportowaniu wyników finansowych, co może pomóc w podejmowaniu decyzji biznesowych. Warto również zauważyć, że AVG jest funkcją, która ignoruje wartości NULL, co jest ważne w kontekście danych, które mogą nie być pełne. Dobre praktyki sugerują, aby zawsze sprawdzać dane wejściowe przed stosowaniem funkcji agregujących, aby zapewnić ich jakość i dokładność wyników.

Pytanie 9

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Jest stosowany wyłącznie w przypadku kolumn liczbowych
B. Zabrania wprowadzenia wartości NULL
C. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
D. Wymusza unikalne nazwy kolumn w tabeli
Atrybut UNIQUE w MySQL jest kluczowym elementem definicji tabeli, który zapewnia, że wartości w danej kolumnie są unikalne w obrębie całej tabeli. Oznacza to, że nie może być dwóch wierszy, które mają tę samą wartość w kolumnie oznaczonej jako UNIQUE. Jest to szczególnie istotne w kontekście zarządzania danymi, gdyż pozwala na eliminację duplikatów, co jest zgodne z najlepszymi praktykami projektowania baz danych. Przykładem zastosowania atrybutu UNIQUE może być tabela przechowująca dane użytkowników, gdzie adres e-mail powinien być unikalny dla każdego użytkownika. Dzięki temu, system może zapewnić, że nie dojdzie do przypadkowego utworzenia dwóch kont z tym samym adresem e-mail. Warto dodać, że atrybut UNIQUE może współistnieć z wartościami NULL – w MySQL, wiele wartości NULL jest dozwolonych w kolumnie, która ma zastosowany atrybut UNIQUE. Zrozumienie i prawidłowe wykorzystanie tego atrybutu jest kluczowe dla zachowania integralności danych i efektywności operacji na bazie danych.

Pytanie 10

Jakie rozwiązanie powinno być wdrożone w organizacji danych, aby przyspieszyć wykonanie zapytań w bazie danych?

A. Indeksy
B. Wartości domyślne
C. Reguły
D. Klucze podstawowe
Klucze podstawowe pełnią inną rolę w bazach danych niż indeksy. Służą one do jednoznacznej identyfikacji każdego wiersza w tabeli i zapewniają, że nie ma duplikatów danych. Choć klucze podstawowe mogą być automatycznie indeksowane przez system bazy danych, ich głównym celem jest zapewnienie integralności danych, a nie przyspieszanie wyszukiwania. Reguły, z drugiej strony, dotyczą logiki aplikacji i kontroli danych, ale nie wpływają na szybkość dostępu do danych. Mogą one być używane do walidacji danych przed ich zapisaniem w bazie, co jest ważne, lecz nie przyspiesza samego procesu wyszukiwania. Wartości domyślne definiują, jakie dane mają być wstawiane, gdy nie podano żadnej wartości, ale również nie mają wpływu na wydajność zapytań. Wszystkie te elementy mają swoje istotne miejsce w projektowaniu baz danych, jednak nie są bezpośrednio związane z optymalizacją szybkości zapytań jak to jest w przypadku indeksów. Często mylnie zakłada się, że klucze podstawowe i inne mechanizmy są wystarczające do poprawy wydajności, co może prowadzić do nieefektywnego projektowania i nieodpowiednich optymalizacji w systemie bazodanowym.

Pytanie 11

Jakie prawa: CREATE, ALTER, DROP zostały użyte w poleceniu GRANT?

A. pracy z danymi
B. pobierania danych z bazy
C. przyznawania uprawnień innym użytkownikom
D. pracy ze strukturą
Odpowiedź dotycząca manipulowania strukturą jest poprawna, ponieważ polecenia GRANT z zestawem praw CREATE, ALTER i DROP koncentrują się na zmianie i zarządzaniu strukturą bazy danych. CREATE pozwala na tworzenie nowych obiektów w bazie danych, takich jak tabele czy widoki. ALTER umożliwia modyfikację istniejących obiektów, na przykład dodawanie kolumn do tabeli. DROP służy do usuwania obiektów z bazy danych. Przykładowo, po nadaniu uprawnień CREATE, użytkownik może utworzyć nową tabelę, co jest kluczowe w procesie projektowania bazy danych. W praktyce, odpowiednie zarządzanie tymi uprawnieniami jest istotne w kontekście bezpieczeństwa i organizacji danych. Standardy branżowe, takie jak te określone przez SQL ANSI, zalecają precyzyjne zarządzanie uprawnieniami, aby uniknąć nieautoryzowanych zmian w strukturze bazy danych, co może prowadzić do utraty danych lub naruszeń bezpieczeństwa.

Pytanie 12

Który z poniższych znaczników jest używany do definiowania list w HTML?

A. <td>
B. <ul>
C. <tr>
D. <th>
<ul> jest znacznikami HTML, które definiuje nieuporządkowaną listę. Użycie tego znacznika pozwala na przedstawienie elementów listy w formie graficznej, gdzie każdy element jest oznaczony punktem. Jest to podstawowy element w HTML, który jest zgodny z wytycznymi W3C i szeroko stosowany w tworzeniu responsywnych i estetycznych interfejsów użytkownika. Przykładowe zastosowanie <ul> może obejmować listy składników, funkcji, czy też elementów menu na stronie internetowej. Stosując <ul>, można także użyć znacznika <li>, aby określić poszczególne elementy listy, co zwiększa czytelność i strukturalizację treści. Znajomość i umiejętność stosowania tych znaczników jest kluczowa dla każdego web developera, aby tworzyć dostępne i zrozumiałe dla użytkowników interfejsy, a także wspierać praktyki SEO poprzez odpowiednią organizację treści.

Pytanie 13

Polecenie DROP w języku SQL ma na celu

A. usunąć istniejący obiekt
B. wprowadzić nowy obiekt
C. zaktualizować dane obiektu
D. zmodyfikować parametry obiektu
Instrukcja DROP w języku SQL jest używana do usuwania istniejących obiektów z bazy danych, takich jak tabele, widoki, procedury składowane czy indeksy. Użycie tej komendy powoduje, że wszystkie dane przechowywane w danym obiekcie zostają trwale usunięte, co oznacza, że nie można ich odzyskać, chyba że wcześniej wykonano kopię zapasową. Przykładowa składnia polecenia DROP TABLE nazwa_tabeli usuwa całkowicie tabelę wraz z jej strukturą oraz danymi. W SQL standardowym oraz w jego implementacjach, takich jak MySQL, PostgreSQL czy SQL Server, instrukcja ta jest kluczowym narzędziem dla administratorów baz danych, pozwalającym na efektywne zarządzanie obiektami w bazach. Należy jednak stosować ją ostrożnie, ponieważ skutki wykonania tego polecenia są nieodwracalne. Rekomenduje się również, przed usunięciem obiektu, sprawdzenie, czy nie ma on powiązań z innymi obiektami, aby uniknąć błędów w aplikacjach korzystających z tych danych.

Pytanie 14

W języku CSS zdefiniowano styl. Sformatowana stylem sekcja będzie zawierała obramowanie o szerokości

div { border: solid 2px blue;
    margin: 20px;             }
A. 2 px oraz marginesy wewnątrz tego obramowania.
B. 20 px oraz marginesy wewnątrz tego obramowania.
C. 20 px oraz marginesy na zewnątrz tego obramowania.
D. 2 px oraz marginesy na zewnątrz tego obramowania.
Gratulacje, twoja odpowiedź jest poprawna! W CSS obramowanie (border) i margines (margin) są dwoma różnymi typami przestrzeni, które możemy zdefiniować wokół elementu. W tym pytaniu dokładnie określono styl obramowania jako linię ciągłą o szerokości 2 piksele. W praktyce jest to cienka linia otaczająca element na stronie. Z kolei margines zdefiniowany jako 20 pikseli to przestrzeń między obramowaniem a następnym elementem. Jest to zgodne ze standardami CSS, które mówią, że marginesy znajdują się zawsze na zewnątrz obramowania. To dlaczego '2 px oraz marginesy na zewnątrz tego obramowania' jest poprawną odpowiedzią. W praktyce, kontrolowanie obramowania i marginesów pozwala nam na precyzyjne ułożenie elementów na stronie, co jest kluczowym aspektem tworzenia responsywnych, atrakcyjnych stron internetowych.

Pytanie 15

W relacyjnym modelu danych, krotki definiuje się jako

A. liczbę rekordów w tabeli
B. wszystkie kolumny tabeli, które reprezentują atrybuty obiektu
C. wszystkie wiersze w tabeli łącznie z wierszem nagłówkowym
D. wiersze tabeli wyłączając wiersz nagłówkowy, w którym znajdują się nazwy kolumn
W relacyjnych bazach danych ważne jest, żeby wiedzieć, czym różnią się wiersze od kolumn. Jak ktoś twierdzi, że krotkami są wszystkie wiersze tabeli razem z nagłówkiem, to nie do końca tak jest. Wiersz nagłówkowy ma znaczenie, bo pokazuje strukturę danych, ale nie wchodzi w skład krotek. Z kolei określanie krotek jako liczby rekordów w tabeli jest mało precyzyjne, bo to nie oddaje tego, co naprawdę oznaczają krotki. Kolejna błędna odpowiedź, która mówi, że krotkami są wszystkie kolumny, może wprowadzać w błąd, bo kolumny definiują atrybuty, ale same w sobie nie przechowują danych. W kontekście baz danych, krotki są kluczowe dla zrozumienia, jak te dane są poukładane, a ich dobre zdefiniowanie sprawia, że zarządzanie informacjami staje się łatwiejsze. Żeby unikać błędów przy projektowaniu baz danych, trzeba pamiętać, że krotki to zestawy wartości atrybutów, które można porównywać i obrabiać w SQL. Takie podejście jest ważne, żeby poprawnie tworzyć zapytania i zarządzać danymi w różnych systemach baz danych.

Pytanie 16

Która z zasad walidacji stron internetowych jest niepoprawna?

A. W znacznikach nie zachodzi rozróżnienie pomiędzy dużymi a małymi literami, np. <p> i <P> są tym samym znacznikiem
B. Znaczniki, poza tymi samozamykającymi się, funkcjonują aż do momentu ich zakończenia znakiem '/', np. <p>...</p>
C. Jeżeli w instrukcji stosuje się kilka atrybutów, ich kolejność powinna odpowiadać porządkom alfabetycznym, np. <img alt="...." src="...." />
D. Wyłączanie znaczników powinno następować w odwrotnej kolejności do ich włączania, np. <p>....<big>...</big></p>
Kolejność atrybutów w znacznikach HTML nie ma znaczenia, co oznacza, że ich uporządkowanie w porządku alfabetycznym jest błędnym podejściem. W praktyce oznacza to, że atrybuty takie jak 'alt', 'src', 'title' mogą być zdefiniowane w dowolnej kolejności, o ile są poprawnie sformułowane. Jednakże, ze względów na czytelność kodu, warto stosować jakąś konsekwentną metodę sortowania atrybutów. W przypadku znaczników obrazków, na przykład, popularne jest zaczynanie od 'alt', następnie 'src', a potem 'title'. Ważne jest również, aby atrybuty były zgodne z wytycznymi W3C oraz WCAG, co zapewnia dostępność treści dla wszystkich użytkowników, w tym osób z niepełnosprawnościami. Stosowanie poprawnych atrybutów i ich odpowiedniego umiejscowienia jest kluczowym elementem pisania semantycznego i zgodnego z standardami HTML, co wpływa na poprawne wyświetlanie strony w różnych przeglądarkach oraz na jej optymalizację SEO.

Pytanie 17

W PHP typ float oznacza

A. zmiennoprzecinkowy
B. całkowity
C. łańcuchowy
D. logiczny
Typ float w PHP to coś w rodzaju magicznego narzędzia do pracy z liczbami, które mają część dziesiętną. Tego typu liczby są niezbędne, kiedy musimy mieć na uwadze detale, na przykład w finansach czy matematyce. Weźmy taki przykład: przy obliczaniu cen w sklepie internetowym często spotykamy się z kwotami jak 19.99 zł. Dzięki PHP możemy wykonywać różne operacje matematyczne na tych liczbach, co daje nam dużą elastyczność w pracy z danymi liczbowymi. Jednak trzeba wiedzieć, że ze względu na to, jak komputery przechowują liczby zmiennoprzecinkowe, zdarzają się problemy z ich dokładnością. W sytuacjach, gdzie to precyzja jest kluczowa, jak w przypadku obliczeń finansowych, dobrze jest skorzystać z takich funkcji jak round(), żeby zaokrąglić wynik do odpowiedniej liczby miejsc po przecinku. Wiedza na temat typu float i jego zastosowania to absolutna podstawa w pracy z programowaniem, zwłaszcza przy tworzeniu aplikacji webowych.

Pytanie 18

Funkcja mysqli_num_rows() w PHP może być używana po wcześniejszym wykonaniu zapytania

A. INSERT
B. DELETE
C. SELECT
D. UPDATE
Funkcja mysqli_num_rows() służy do zwracania liczby wierszy w rezultacie zapytania SQL, jednak może być wywołana wyłącznie po zastosowaniu kwerendy SELECT. Kwerenda ta jest używana do pobierania danych z bazy danych, co oznacza, że jej wykonanie generuje zbiór wyników. Kiedy wykonujemy zapytanie SELECT, mysqli_num_rows() umożliwia nam sprawdzenie, ile rekordów zwróciło zapytanie. Na przykład, po wykonaniu zapytania SELECT * FROM users, możemy użyć mysqli_num_rows($result), aby uzyskać liczbę użytkowników w tabeli. To podejście jest zgodne z dobrymi praktykami programistycznymi, ponieważ pozwala na efektywne zarządzanie i analizowanie danych. Warto także zauważyć, że funkcja ta nie jest stosowana w przypadku kwerend modyfikujących dane, takich jak INSERT, DELETE czy UPDATE, ponieważ te operacje nie zwracają zbioru wyników, a jedynie potwierdzają wykonanie akcji. Zrozumienie, kiedy używać mysqli_num_rows(), jest kluczowe w pracy z bazami danych w PHP i pozwala na skuteczne optymalizowanie zapytań oraz zarządzanie danymi.

Pytanie 19

W CSS należy ustawić tło dokumentu na obraz rys.png, który powinien się powtarzać tylko w poziomie. Którą definicję trzeba przypisać selektorowi body?

A. {background-image: url("rys.png"); background-repeat: repeat-x;}
B. {background-image: url("rys.png"); background-repeat: round;}
C. {background-image: url("rys.png"); background-repeat: repeat;}
D. {background-image: url("rys.png"); background-repeat: repeat-y;}
Wybrana odpowiedź {background-image: url("rys.png"); background-repeat: repeat-x;} jest poprawna, ponieważ dokładnie definiuje sposób wyświetlania tła w dokumencie HTML. W języku CSS, właściwość background-image ustala źródło obrazu, który ma być użyty jako tło, a background-repeat kontroluje, jak ten obraz się powtarza. Ustawienie repeat-x sprawia, że obraz będzie powtarzany tylko w poziomie, co oznacza, że ​​będzie się ukazywał wielokrotnie od lewej do prawej, ale nie będzie powtarzany w pionie. Taki sposób wyświetlania tła jest przydatny w wielu kontekstach, na przykład w projektowaniu stron internetowych, gdzie chcemy uzyskać efekt pasów lub linii w poziomie, bez nadmiaru treści w pionie. Szereg dobrych praktyk w CSS wskazuje, że należy dbać o efektywność i estetykę, a odpowiednie powtarzanie tła może znacząco wpłynąć na wizualną atrakcyjność strony. Ponadto, użycie właściwego formatu URL i umiejętne stosowanie obrazów tła może poprawić doświadczenia użytkowników, podczas gdy nieodpowiednie podejście może prowadzić do problemów z wydajnością, szczególnie na urządzeniach mobilnych, gdzie ładowanie zbyt dużych lub nieoptymalnych obrazów może obniżyć responsywność strony.

Pytanie 20

ID_PracownikaNazwiskoImięStanowiskoWynagrodzenie
1KowalskiKrzysztofkasjer3215,76
2NowakAntonikierownik5350,00
3ZającAlicjaksięgowy4568,70
4KrólWitoldkasjer3045,00
5NowikGrzegorzkasjer2750,65
6KotulskiAndrzejkierowca3467,00
7TutkaKatarzynakierownik4935,33
8PoradaJakubmagazynier3321,56
Które zapytanie SQL należy wykonać na tabeli Pracownicy, aby otrzymać średnie wynagrodzenie dla pracownika na stanowisku kasjer?
A. SELECT AVG(kasjer.Wynagrodzenie) FROM Pracownicy;
B. SELECT SUM(*) FROM Pracownicy AND Stanowisko= 'kasjer';
C. SELECT SREDNIA(Wynagrodzenie) AND Stanowisko='kasjer' FROM Pracownicy;
D. SELECT AVG(Wynagrodzenie) FROM Pracownicy WHERE Stanowisko='kasjer';
W tym zadaniu widać kilka typowych pułapek związanych z pisaniem zapytań SQL, zwłaszcza przy funkcjach agregujących. Kluczowa rzecz: jeśli chcemy policzyć średnie wynagrodzenie dla konkretnego stanowiska, to zawsze musimy połączyć poprawną funkcję agregującą z poprawnym filtrowaniem danych. Standard SQL definiuje funkcję AVG() do liczenia średniej, SUM() do sumowania, COUNT() do liczenia wierszy i tak dalej. Nie ma natomiast funkcji o nazwie SREDNIA, bo to byłaby już jakaś specyficzna, niestandardowa funkcja w danej bazie (a w typowych systemach jak MySQL, PostgreSQL, SQL Server czy Oracle po prostu jej nie ma). Częsty błąd to próba używania nazwy stanowiska jakby była nazwą tabeli lub aliasu, np. coś w stylu AVG(kasjer.Wynagrodzenie). Tu „kasjer” nie jest ani aliasem tabeli, ani osobną tabelą, tylko wartością tekstową w kolumnie Stanowisko. W SQL nie można w ten sposób „kropkować” wartości. Do filtrowania służy klauzula WHERE: Stanowisko='kasjer'. Kolejna rzecz to używanie SUM(*) czy innych funkcji w połączeniu z AND w niewłaściwym miejscu. Wyrażenie typu SELECT SUM(*) FROM Pracownicy AND Stanowisko='kasjer'; jest po prostu składniowo błędne. Warunki logiczne AND, OR, NOT zawsze trafiają do części WHERE lub JOIN ON, a nie między nazwę tabeli a funkcję agregującą. Inny typowy błąd myślowy to mieszanie logiki zapytania: ktoś próbuje jednocześnie pisać coś w rodzaju SELECT SREDNIA(Wynagrodzenie) AND Stanowisko='kasjer' FROM Pracownicy; jakby można było w jednym miejscu łączyć funkcję i warunek. SQL ma jasno rozdzielone sekcje: SELECT (co zwracamy), FROM (z jakiej tabeli), WHERE (jak filtrujemy), opcjonalnie GROUP BY, HAVING, ORDER BY. Warunek filtrowania nie pojawia się w środku listy wybieranych kolumn, tylko w WHERE. Z mojego doświadczenia wynika, że jak ktoś zaczyna poprawnie myśleć o kolejności wykonywania zapytania (najpierw FROM, potem WHERE, potem agregacja), to takie błędy po prostu znikają. Dobrą praktyką jest też, zanim użyje się funkcji agregującej, zadać sobie pytanie: na jakim dokładnie podzbiorze danych chcę tę funkcję zastosować? I właśnie ten podzbiór trzeba opisać w WHERE.

Pytanie 21

W języku JavaScript następujący zapis: var napis1 = new napisy); ma na celu

A. wywołanie metody dla obiektu napisy
B. stworzenie nowej klasy napis1
C. stworzenie instancji obiektu napis1 klasy napisy
D. zadeklarowanie zmiennej napis1 oraz wywołanie funkcji, w której argumentem jest napis1
W podanym kodzie JavaScript mamy do czynienia z próbą utworzenia obiektu klasy 'napisy'. Operacja 'new' w JavaScript jest używana do instancjowania obiektów z funkcji konstrukcyjnych, które pełnią rolę klas. Przykład działania: jeśli mamy zdefiniowaną funkcję konstrukcyjną 'function napisy() { this.text = ''; }', to użycie 'var napis1 = new napisy();' stworzy nowy obiekt 'napis1', który będzie posiadał właściwość 'text'. Warto zwrócić uwagę, że 'napisy' musi być zdefiniowane jako funkcja konstrukcyjna, aby mogło być użyte w kontekście 'new'. Zrozumienie tego mechanizmu jest kluczowe w programowaniu obiektowym w JavaScript, gdzie klasy i obiekty odgrywają fundamentalną rolę w organizacji kodu. Aby lepiej zrozumieć działanie tego fragmentu, warto zapoznać się z dokumentacją dotyczącą obiektów i funkcji w JavaScript, co znajduje się w standardzie ECMAScript. Przykładowy kod ilustrujący tworzenie obiektu mógłby wyglądać tak: 'var napis1 = new napisy(); console.log(napis1.text);'.

Pytanie 22

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 23

W bazie danych dotyczącej pojazdów pole kolor w tabeli samochody może mieć wartości jedynie z definicji lakier. Aby nawiązać relację między tabelami samochody a lakier, należy użyć kwerendy

A. ALTER TABLE lakier ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
B. ALTER TABLE samochody ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
C. ALTER TABLE samochody ADD FOREIGN KEY kolor REFERENCES lakier;
D. ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
Odpowiedź "ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);" jest poprawna, ponieważ prawidłowo definiuje klucz obcy w tabeli samochody, wskazując, że kolumna kolor w tej tabeli odnosi się do kolumny lakierId w tabeli lakier. Umożliwia to zapewnienie integralności referencyjnej, co oznacza, że wartości koloru w tabeli samochody będą mogły przyjmować tylko te wartości, które istnieją w tabeli lakier. Jest to standardowa praktyka w projektowaniu baz danych, która pomaga zapobiegać błędom, takim jak wprowadzenie koloru, który nie jest dostępny w zbiorze dozwolonych opcji. W praktyce, podczas dodawania nowego wpisu do tabeli samochody, system bazy danych automatycznie sprawdzi, czy dany kolor istnieje w tabeli lakier. Takie podejście zapewnia większą spójność danych oraz ułatwia zarządzanie them, zwłaszcza w większych aplikacjach, gdzie liczba potencjalnych wartości kolorów może być znaczna. Stosowanie kluczy obcych jest zgodne z zasadami normalizacji baz danych, co przyczynia się do ich efektywności i skalowalności.

Pytanie 24

Jakie znaczenie ma akronim ACID w kontekście SQL?

A. atomic, comming, is, do
B. atomic, consistent, iss, dependable
C. atomic, consistent, isolated, durable
D. atomic, constaint, isolated, dependable
Akronim ACID odnosi się do czterech kluczowych właściwości transakcji w systemach zarządzania bazami danych, które zapewniają ich niezawodność i integralność. Pierwszym elementem jest atomowość (atomic), co oznacza, że transakcje są niepodzielne; albo wszystkie operacje w ramach transakcji są wykonane, albo żadna. Przykładem może być przeniesienie pieniędzy z jednego konta na drugie, gdzie zarówno operacja debetowa, jak i kredytowa muszą być zakończone pomyślnie. Drugą właściwością jest spójność (consistent), co zapewnia, że wszystkie transakcje prowadzą do spójnego stanu bazy danych, przestrzegając wszelkich reguł i ograniczeń. Izolacja (isolated) gwarantuje, że równolegle wykonywane transakcje nie wpływają na siebie nawzajem, co jest kluczowe w przypadku dużych systemów, aby uniknąć konfliktów. Ostatnim aspektem jest trwałość (durable), co oznacza, że po zakończeniu transakcji, wszystkie zmiany są trwale zapisane, nawet w przypadku awarii systemu. Te cztery właściwości są fundamentem dla standardów takich jak SQL, co czyni je kluczowymi dla projektowania i zarządzania bazami danych.

Pytanie 25

Systemy CMS charakteryzują się

A. możliwością edycji treści bez konieczności znajomości HTML.
B. wbudowanym edytorem grafiki wektorowej.
C. możliwością programowania w zaawansowanych frameworkach dla aplikacji Web.
D. wbudowanym serwerem poczty elektronicznej.
Poprawnie wskazana cecha CMS to możliwość edycji treści bez konieczności znajomości HTML. Właśnie po to powstały systemy zarządzania treścią: żeby osoba nietechniczna, np. pracownik działu marketingu czy sekretariat, mogła samodzielnie aktualizować stronę WWW. W typowym CMS (WordPress, Joomla, Drupal) mamy edytor WYSIWYG przypominający Worda: pogrubienie, nagłówki, listy, wstawianie obrazków, linków. Cały kod HTML generuje się w tle automatycznie. Użytkownik widzi tekst i przyciski, a nie znaczniki typu <div>, <p> czy <a>. Z mojego doświadczenia to ogromne ułatwienie w firmach, gdzie programista nie ma czasu na każdą drobną zmianę w treści. Dobra praktyka jest taka, żeby w CMS rozdzielać warstwę treści (content) od warstwy prezentacji (szablony, CSS). Administrator, redaktor czy copywriter pracuje na treści, a programista i frontendowiec dbają o wygląd i logikę. Dzięki temu aktualizacja np. cennika, aktualności czy opisów produktów nie wymaga dotykania kodu strony. Co więcej, nowoczesne CMS-y stosują mechanizmy wersjonowania treści, workflow publikacji, uprawnienia użytkowników. Wszystko nadal bez konieczności pisania HTML, choć oczywiście możliwość podejrzenia i ręcznej edycji kodu często jest dostępna dla bardziej zaawansowanych użytkowników. W praktyce: jeśli ktoś umie obsłużyć edytor tekstu, to po krótkim przeszkoleniu zwykle bez problemu poradzi sobie z podstawową obsługą CMS i edycją treści na stronie WWW.

Pytanie 26

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Jakie zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
B. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
C. SELECT nazwisko, Miasto FROM Osoby, Adresy;
D. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
Prawidłowa odpowiedź opiera się na instrukcji SELECT z użyciem JOIN, co jest bardzo ważne przy pracy z relacyjnymi bazami danych. W tym przypadku, zapytanie SELECT jest używane do wyboru dwóch kolumn - 'nazwisko' i 'Miasto' - z połączonych tabel 'Osoby' i 'Adresy'. Wykorzystuje się tutaj złączenie (JOIN), które jest kluczowym konceptem w SQL umożliwiającym łączenie danych z różnych tabel w jednym zapytaniu. Odpowiednia składnia JOIN wymaga określenia dwóch tabel do połączenia oraz warunku łączenia, który w tym przypadku jest 'Osoby.Adresy_id = Adresy.id'. Ten warunek oznacza, że rekordy z obu tabel będą połączone, gdy wartość kolumny 'Adresy_id' w tabeli 'Osoby' będzie równa wartości kolumny 'id' w tabeli 'Adresy'. Jest to typowe użycie klucza obcego ('Adresy_id') do odwołania się do klucza głównego w innej tabeli ('id' w tabeli 'Adresy'). To jest dobry przykład pokazujący, jak praktycznie wykorzystuje się relacje pomiędzy tabelami w SQL.

Pytanie 27

Tabele: Firmy oraz Zamówienia są ze sobą powiązane relacją jeden do wielu. Aby uzyskać tylko identyfikatory zamówień wraz z odpowiadającymi im nazwami firm dla przedsiębiorstw, których poziom wynosi 4, należy użyć polecenia

Ilustracja do pytania
A. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy WHERE poziom = 4
B. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.id = Firmy.id WHERE poziom = 4
C. SELECT id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.Firmy_id = Firmy.id WHERE poziom = 4
D. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.Firmy_id = Firmy.id WHERE poziom = 4
W kontekście zaproponowanych odpowiedzi, błędne podejścia wynikają głównie z niewłaściwego zastosowania klauzuli JOIN oraz braku zrozumienia relacji między tabelami. Kluczowym błędem jest ignorowanie związku pomiędzy kluczem głównym i kluczem obcym, co prowadzi do niepoprawnych wyników w zapytaniach SQL. Na przykład, próba połączenia tabel bez wyraźnego zdefiniowania relacji poprzez klauzulę ON może skutkować pełnym iloczynem kartezjańskim, co jest nieefektywne i często nieprawidłowe pod względem logicznym. Innym częstym błędem w analizie takich zapytań jest niedostateczne uwzględnienie warunków filtrowania w klauzuli WHERE. Warunki te są niezbędne do ograniczenia zestawu wyników do tych, które są istotne dla bieżącej analizy, zwłaszcza w kontekście zamówień i firm o określonym poziomie. Niepoprawne stosowanie aliasów lub brak ich użycia może także prowadzić do niejasności, zwłaszcza w bardziej złożonych zapytaniach, gdzie precyzyjne odwoływanie się do kolumn jest kluczowe. Ponadto, pomijanie sprawdzenia czy dane kolumny istnieją i są odpowiednio indeksowane może prowadzić do błędów wykonania zapytań lub znacznego spadku wydajności, co ma krytyczne znaczenie w środowisku produkcyjnym. Dbając o unikanie takich błędów, warto zastosować się do zasad projektowania baz danych, które skupiają się na integralności referencyjnej i optymalizacji zapytań, co zwiększa ich efektywność i czytelność w praktycznych zastosowaniach biznesowych. Zachowanie tych zasad pozwala na budowanie solidnych i wydajnych systemów bazodanowych, które wspierają procesy decyzyjne w organizacjach.

Pytanie 28

Na rysunku została przedstawiona relacja jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz obcy reżyserzy_id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
B. klucz podstawowy id tabeli filmy z kluczem obcym reżyserzy_id tabeli reżyserzy.
C. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
D. klucz obcy reżyserzy_id tabeli filmy z kluczem obcym id tabeli reżyserzy.
Twoja odpowiedź jest prawidłowa. Relacja jeden do wielu na rysunku wskazuje, że jeden rekord z tabeli reżyserzy może być powiązany z wieloma rekordami w tabeli filmy. Klucz obcy (FK - Foreign Key) w tabeli filmy (reżyserzy_id) wskazuje na klucz podstawowy (PK - Primary Key) w tabeli reżyserzy (id). Jest to typowa praktyka przy projektowaniu relacyjnych baz danych, która pozwala na utrzymanie integralności relacji między danymi. Te relacje są kluczowe dla prawidłowego działania systemów bazodanowych, ponieważ umożliwiają efektywne zarządzanie danymi. Poprawnie zdefiniowanie kluczy obcych i podstawowych umożliwia tworzenie skomplikowanych struktur danych, które odzwierciedlają rzeczywiste zależności i czytelnie prezentują powiązania między danymi.

Pytanie 29

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich rekordów, w których pole producent jest równe TOSHIBA. Jak będzie wyglądała ta zmiana w języku SQL?

A. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
B. UPDATE producent='TOSHIBA' SET URL = 'toshiba.pl';
C. UPDATE podzespoly SET URL = 'toshiba.pl';
D. UPDATE podzespoly.producent='TOSHIBA' SET URL = 'toshiba.pl';
Aby zaktualizować wartość pola URL w tabeli podzespoly na 'toshiba.pl' dla wszystkich rekordów, gdzie pole producent jest równe 'TOSHIBA', należy użyć instrukcji UPDATE w języku SQL. Właściwa składnia tej instrukcji to: UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';. W tej instrukcji UPDATE najpierw wskazujemy, której tabeli dotyczy modyfikacja, w tym przypadku 'podzespoly'. Następnie określamy, jakie pole chcemy zaktualizować, czyli 'URL', oraz ustawiamy nową wartość, którą w tym przypadku jest 'toshiba.pl'. Kluczowym elementem tej operacji jest klauzula WHERE, która filtruje rekordy, które mają być zaktualizowane; w tym przypadku tylko te, które mają producenta 'TOSHIBA'. Bez klauzuli WHERE wszystkie rekordy w tabeli zostałyby zmodyfikowane, co mogłoby prowadzić do utraty danych. Przykład ilustruje, jak precyzyjnie można zarządzać danymi w bazie poprzez odpowiednie warunki. Tego typu operacje są zgodne z normami SQL, co zapewnia ich efektywność i bezpieczeństwo w zarządzaniu danymi.

Pytanie 30

Aby skutecznie zrealizować algorytm wyznaczający największą z trzech podanych liczb a, b oraz c, wystarczy użyć

A. dwóch warunków
B. pięciu zmiennych
C. jednej pętli
D. dwóch tablic
Wybór odpowiedzi "dwa warunki" jest prawidłowy, ponieważ algorytm do znalezienia największej z trzech liczb – a, b i c – można zrealizować za pomocą zaledwie dwóch porównań. Na przykład, pierwszy warunek mógłby porównywać liczby a i b, aby ustalić, która z nich jest większa. Następnie, drugi warunek porównuje tę większą wartość z liczbą c. W rezultacie, w ciągu dwóch warunków jesteśmy w stanie zidentyfikować największą liczbę. Praktycznie, to podejście jest efektywne i minimalistyczne, co jest zgodne z zasadą KISS (Keep It Simple, Stupid), która jest istotna w inżynierii oprogramowania. Ograniczenie liczby operacji do niezbędnego minimum nie tylko ułatwia zrozumienie algorytmu, ale także poprawia jego wydajność. Takie podejście jest często stosowane w codziennej programistyce, a także w bardziej zaawansowanych algorytmach, gdzie minimalizacja złożoności obliczeniowej jest kluczowa dla wydajności aplikacji.

Pytanie 31

Rozmiar grafiki JPEG zamieszczonej na stronie www może wpływać na

A. szybsze sprawdzanie linków.
B. błędy w składni HTML.
C. czas ładowania strony.
D. zgodność z systemem Windows.
Wielkość grafiki JPEG umieszczonej na stronie internetowej ma istotny wpływ na długość czasu ładowania strony. Gdy obraz jest zbyt duży, wymaga większej ilości danych do pobrania, co wydłuża czas, który użytkownik musi czekać na wyświetlenie zawartości. Optymalizacja grafik jest więc kluczowym aspektem projektowania stron internetowych. W praktyce, kompresja zdjęć przed ich załadowaniem na stronę, na przykład przy użyciu narzędzi takich jak ImageOptim lub TinyPNG, może znacząco zmniejszyć rozmiar pliku bez widocznej utraty jakości. Zgodnie z wytycznymi Google PageSpeed Insights, obrazy powinny być odpowiednio dostosowane do wymagań dotyczących jakości i rozmiaru. Sprawne zarządzanie grafiką może poprawić współczynnik konwersji oraz zredukować współczynnik odrzuceń, co jest kluczowe dla sukcesu witryny. Prędkość ładowania strony ma również znaczenie dla SEO, ponieważ wyszukiwarki preferują strony, które ładują się szybko, co wpływa na pozycjonowanie. Dlatego odpowiednia optymalizacja obrazów JPEG jest niezbędna dla każdej witryny internetowej, aby zapewnić pozytywne doświadczenia użytkowników oraz dobre wyniki w rankingach wyszukiwarek.

Pytanie 32

Jakie mechanizmy przyznawania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z tematyką zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z atrybutami
B. Z przywilejami obiektowymi
C. Z przywilejami systemowymi
D. Z zasadami
Zagadnienia związane z zarządzaniem kontami, użytkownikami i uprawnieniami w kontekście baz danych są złożone i często mylone z innymi mechanizmami. Reguły, na przykład, są używane w kontekście polityk bezpieczeństwa, ale nie odnoszą się bezpośrednio do przydzielania uprawnień w systemie baz danych. W praktyce, reguły mogą służyć do definiowania warunków, pod którymi dane operacje są dozwolone, ale same w sobie nie kontrolują dostępu do zasobów. Przywileje obiektowe, z drugiej strony, dotyczą specyficznych obiektów w bazie danych, takich jak tabele czy procedury, i nie obejmują uprawnień na poziomie systemowym. W kontekście zarządzania użytkownikami są one używane do kontrolowania dostępu do konkretnych danych, a nie do wykonywania operacji administracyjnych na systemie. Z kolei atrybuty mogą odnosić się do właściwości obiektów w bazie danych, ale nie są to mechanizmy służące do zarządzania użytkownikami i ich uprawnieniami. Typowym błędem jest mylenie tych pojęć i uznawanie, że reguły czy przywileje obiektowe mają podobne zastosowanie do przywilejów systemowych. W realiach zarządzania bazą danych kluczowe jest zrozumienie, że każde z tych podejść ma swoje specyficzne zastosowanie i niezbędne jest stosowanie właściwych narzędzi oraz technik w celu zapewnienia odpowiedniego poziomu bezpieczeństwa i kontroli dostępu.

Pytanie 33

W języku HTML stworzono definicję tabeli. Który z rysunków ilustruje jej działanie?

Ilustracja do pytania
A. Rysunek 1
B. Rysunek 4
C. Rysunek 2
D. Rysunek 3
Prawidłowa odpowiedź to Rysunek 1 ponieważ odwzorowuje on strukturę tabeli opisaną w kodzie HTML zaprezentowanym w pytaniu. Kod HTML przedstawia tabelę z dwoma wierszami. Pierwszy wiersz zawiera dwie komórki z tekstami 'pierwszy' i 'drugi'. Drugi wiersz posiada jedną komórkę z tekstem 'trzeci' która zajmuje szerokość dwóch kolumn dzięki zastosowaniu atrybutu colspan=2. Właśnie ta cecha sprawia że drugi rysunek jest poprawny gdyż w nim komórka z tekstem 'trzeci' rozciąga się na szerokość dwóch kolumn tabeli. Takie podejście jest zgodne z zasadami projektowania tabel w HTML gdzie atrybut colspan pozwala na łączenie kolumn co jest szczególnie przydatne przy tworzeniu złożonych układów danych w tabelach. Dzięki zastosowaniu tego atrybutu można efektywnie zarządzać szerokością komórek i ich położeniem co zwiększa elastyczność w projektowaniu układów na stronach internetowych. Warto zwrócić uwagę na fakt że użycie atrybutu 'border' z wartością 1 powoduje wyświetlenie widocznej ramki co jest dobrze zilustrowane na Rysunku 1. Zrozumienie i umiejętne zastosowanie takich technik w projektowaniu stron jest kluczowe dla tworzenia przejrzystych i funkcjonalnych interfejsów użytkownika.

Pytanie 34

Podaj definicję metody, którą trzeba umieścić w miejscu kropek, aby na stronie WWW pojawił się tekst: Jan Kowalski

Ilustracja do pytania
A. A
B. C
C. D
D. B
Pozostałe odpowiedzi zawierają błędy związane z niepoprawnym użyciem kontekstu this lub niekompletną definicją funkcji. W opcji B metoda dane została zdefiniowana jako funkcja globalna, co powoduje, że this nie odnosi się do obiektu osoba, ale do obiektu globalnego, co uniemożliwia poprawne odwołanie się do właściwości imie i nazwisko. To prowadzi do błędnych lub niezdefiniowanych wyników, ponieważ this w tym kontekście nie zawiera oczekiwanych właściwości. Opcja C nie używa słowa kluczowego this, co oznacza, że zmienne imie i nazwisko są traktowane jako zmienne globalne, a nie właściwości obiektu osoba. Jeżeli takie zmienne globalne nie istnieją, powoduje to błąd w wykonaniu, ponieważ kod próbuje odwołać się do niezdefiniowanych zmiennych. W opcji D użycie funkcji bez return powoduje, że metoda dane nie zwraca żadnej wartości, co skutkuje przypisaniem undefined do innerHTML, co jest oczywistym błędem w kontekście oczekiwanego wyświetlenia tekstu. Wszystkie te błędne podejścia wynikają z niepoprawnego zarządzania kontekstem obiektowym w JavaScript, co podkreśla znaczenie zrozumienia wiązania dynamicznego słowa kluczowego this i dobrych praktyk w projektowaniu metod obiektowych w JavaScript. Kluczowym aspektem jest zapewnienie, że metody mają dostęp do właściwości obiektu, w ramach którego zostały zdefiniowane, co jest osiągane przez poprawne użycie this w kontekście metody wewnętrznej obiektu.

Pytanie 35

W PHP typ float oznacza

A. zmiennoprzecinkowy
B. logiczny
C. całkowity
D. łańcuchowy
Typ float w PHP to coś, co przydaje się do przechowywania liczb zmiennoprzecinkowych, a więc do liczb, które mają część dziesiętną. To naprawdę ważne, zwłaszcza jak robimy obliczenia związane z finansami czy nauką. Dzięki float możemy dokładnie przedstawić liczby rzeczywiste, co w programowaniu jest kluczowe. Te wartości są zgodne ze standardem IEEE 754, co oznacza, że można je przenosić między różnymi systemami i platformami bez problemów. Jeżeli chcesz np. obliczyć cenę z VAT-em albo policzyć coś w grze, to float jest najlepszym typem, bo pozwala na robienie precyzyjnych obliczeń z ułamkami. W PHP masz też funkcje jak round() czy number_format(), które pomagają w manipulacji tymi liczbami, co jest super przy prezentacji wyników, żeby ładnie wyglądały.

Pytanie 36

W języku JavaScript należy uzyskać dostęp do elementu w pierwszym akapicie podanego kodu HTML. Jak można to zrobić za pomocą funkcji

<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
...
A. getElementByClassName('p.1')[0];
B. getElementByTagName('p')[0];
C. getElement('p');
D. getElementById('p1');
Metoda getElementsByTagName('p')[0] jest prawidłowym sposobem odwołania się do pierwszego elementu <p> w dokumencie HTML. Funkcja getElementsByTagName zwraca kolekcję wszystkich elementów o określonej nazwie tagu. W przypadku użycia tagu 'p', funkcja zwraca tablicę wszystkich paragrafów. Aby uzyskać dostęp do pierwszego paragrafu, korzystamy z indeksu [0], co jest zgodne z konwencją numerowania od zera w językach programowania. Praktyczne zastosowanie tej metody obejmuje manipulację treścią lub stylami pierwszego paragrafu, na przykład zmiana jego tekstu za pomocą innerHTML lub dodanie klasy CSS w celu zmiany jego wyglądu. Stosowanie getElementsByTagName jest zgodne z powszechnymi standardami i dobrymi praktykami w pracy z DOM (Document Object Model) w JavaScript. Ważne jest zrozumienie tego mechanizmu, aby efektywnie operować na elementach HTML oraz tworzyć dynamiczne i interaktywne strony internetowe. Warto również pamiętać, że metoda ta zwraca dynamiczną kolekcję, co oznacza, że zmiany w DOM automatycznie wpływają na zawartość zwróconej kolekcji.

Pytanie 37

Deklaracja

<!DOCTYPE html>
informuje przeglądarkę internetową o:
A. dostosowaniu strony internetowej do różnych rozmiarów urządzeń.
B. wersji języka HTML zastosowanej w dokumencie strony internetowej.
C. tytule strony internetowej.
D. indeksowaniu strony internetowej na potrzeby pozycjonowania witryny.
Deklaracja <!DOCTYPE html> to wbrew pozorom bardzo ważny element każdej poprawnej strony internetowej. Informuje przeglądarkę, jaka wersja języka HTML została użyta w dokumencie, a w praktyce – że ma renderować stronę w trybie zgodnym ze współczesnym standardem HTML5. Dzięki temu przeglądarka nie próbuje włączać tzw. „quirks mode”, czyli trybu zgodności ze starymi, historycznymi błędami Internet Explorera, tylko stosuje aktualne zasady specyfikacji. Moim zdaniem to jest jeden z tych drobiazgów, które po prostu trzeba pisać z automatu na górze każdego pliku .html. W starszych wersjach HTML deklaracja DOCTYPE była dużo dłuższa i określała konkretne DTD (Document Type Definition), np. dla HTML 4.01 Transitional czy XHTML 1.0 Strict. W HTML5 uproszczono to do jednej, krótkiej formy: <!DOCTYPE html>. To właśnie ta linijka mówi: „to jest dokument HTML5”. Na tej podstawie silnik przeglądarki dobiera reguły parsowania, walidacji struktury i sposób interpretacji wielu elementów, np. sekcji <header>, <footer>, <section>, a także nowych atrybutów formularzy. W praktyce, gdy tworzysz nową stronę, zawsze zaczynasz od: <!DOCTYPE html> <html lang="pl"> <head>… Jeśli pominiesz DOCTYPE albo wpiszesz go błędnie, możesz mieć kłopot z tym, że strona wygląda inaczej w różnych przeglądarkach, pojawią się problemy z modelu pudełkowym CSS (box model), z obsługą nowych znaczników lub z poprawnym działaniem responsywnego layoutu. Walidatory W3C też zakładają konkretną wersję HTML na podstawie DOCTYPE i pod nią sprawdzają poprawność kodu. Z mojego doświadczenia wynika, że poprawny DOCTYPE to absolutna podstawa profesjonalnego front-endu, nawet jeśli wygląda jak coś „magicznego” na samej górze pliku.

Pytanie 38

W systemie baz danych sklepu znajdują się dwie tabele powiązane ze sobą relacją: produkty oraz oceny. Tabela oceny zawiera dowolną liczbę ocen wystawionych przez klientów dla konkretnego produktu, które są zdefiniowane przez pola: id, ocena (pole numeryczne), produktID (klucz obcy). Aby uzyskać maksymalną ocenę dla produktu o ID równym 10, należy użyć zapytania

A. MAX SELECT ocena FROM oceny WHERE produktID = 10;
B. SELECT MAX(ocena) FROM oceny WHERE produktID = 10;
C. COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;
D. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
Odpowiedź "SELECT MAX(ocena) FROM oceny WHERE produktID = 10;" jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do uzyskania maksymalnej wartości z kolumny "ocena" dla produktu o określonym ID. Funkcja agregująca MAX() umożliwia znalezienie najwyższej oceny w zbiorze danych spełniających określone kryteria. W tym przypadku, zapytanie przeszukuje tabelę "oceny" i filtruje wyniki na podstawie "produktID" równym 10. Takie podejście jest zgodne z najlepszymi praktykami w obszarze SQL, ponieważ zapewnia prostotę i efektywność. W praktycznym zastosowaniu, w momencie gdy mamy do czynienia z dużymi zbiorami danych, takie zapytanie pozwala na szybkie uzyskanie potrzebnych informacji, co jest kluczowe dla analizy wydajności produktów w sklepie. Używanie funkcji agregujących, takich jak MAX(), jest standardem w relacyjnych bazach danych, co czyni to podejście odpowiednim w kontekście zarządzania danymi.

Pytanie 39

Aby przenieść stronę internetową na serwer, można wykorzystać program

A. Go!Zilla
B. Bugzilla
C. FileFilla
D. CloneZilla
FileFilla to oprogramowanie, które umożliwia przesyłanie plików na serwer oraz zarządzanie nimi w sposób efektywny i przejrzysty. Jest to klient FTP, co oznacza, że wykorzystuje protokół File Transfer Protocol do komunikacji między komputerem użytkownika a serwerem. Dzięki FileFilla, użytkownik ma możliwość przenoszenia plików z lokalnej maszyny na serwer w sposób zorganizowany, co jest kluczowe przy migracji witryn internetowych. Program obsługuje różne protokoły, takie jak SFTP i FTPS, co zapewnia dodatkowe bezpieczeństwo podczas przesyłania danych. Praktycznym przykładem zastosowania FileFilla może być sytuacja, w której twórca strony internetowej aktualizuje treść na serwerze, przesyłając nowe pliki lub foldery. Zastosowanie tego oprogramowania pozwala nie tylko na szybkie przenoszenie plików, ale także na monitorowanie postępu transferu oraz zarządzanie plikami na serwerze, co czyni go nieocenionym narzędziem dla administratorów stron. Warto również wspomnieć, że FileFilla jest zgodna z wieloma standardami, co sprawia, że jest uniwersalnym rozwiązaniem w świecie technologii webowej.

Pytanie 40

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

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