Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 12 lipca 2026 11:40
  • Data zakończenia: 12 lipca 2026 11:49

Egzamin zdany!

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

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. liczbę najstarszych uczestników.
B. średnią arytmetyczną wieku uczestników.
C. minimalny oraz maksymalny wiek uczestników.
D. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.
Gratulacje, ta odpowiedź jest poprawna. Zapytanie SQL używa funkcji agregujących MAX i MIN do określenia maksymalnej i minimalnej wartości wieku w tabeli uczestników. Użycie tych funkcji umożliwia nam zidentyfikowanie najstarszego i najmłodszego uczestnika. Następnie, zapytanie oblicza różnicę między tymi wartościami, co odpowiada różnicy wieku między najstarszym i najmłodszym uczestnikiem. To jest standardowe podejście w SQL do wykonywania tego typu zapytań. W praktyce, takie zapytania są często używane w analizie danych do określania różnorodności danych, takiej jak zakres wieku uczestników w danym konkursie. Pamiętaj, że funkcje agregujące w SQL, takie jak MAX i MIN, są niezwykle przydatne w analizie danych, umożliwiając nam podsumowanie i analizę dużych zbiorów danych.

Pytanie 2

Instrukcja

REVOKE SELECT ON nazwa1 FROM nazwa2
w SQL pozwala na
A. usunięcie użytkownika z bazy danych
B. przyznawanie uprawnień zgodnie z określonym schematem
C. odbieranie przyznanych uprawnień użytkownikowi
D. przyznawanie dostępu do tabeli
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL jest używane do odbierania uprawnień użytkownikowi, co jest kluczowym aspektem zarządzania bezpieczeństwem w bazach danych. Umożliwia to administratorom kontrolowanie dostępu do danych, co jest istotne w kontekście ochrony informacji oraz zgodności z regulacjami prawnymi. Przykładowo, jeśli użytkownik 'nazwa2' miał wcześniej przyznane uprawnienia do wykonywania zapytań SELECT na tabeli 'nazwa1', użycie polecenia REVOKE pozwoli na ich cofnięcie. W praktyce, administratorzy baz danych często stosują to polecenie, aby ograniczyć dostęp do wrażliwych informacji, na przykład po zakończeniu projektu, w którym dany użytkownik nie powinien już mieć dostępu do danych. Takie działania są zgodne z najlepszymi praktykami w zakresie zabezpieczeń, które zalecają minimalizowanie uprawnień użytkowników do tylko tych niezbędnych do wykonywania ich obowiązków. Dodatkowo, warto również stosować audyty dostępu, aby na bieżąco monitorować, które uprawnienia są przyznawane i odbierane, co pozwala na lepsze zarządzanie bezpieczeństwem systemu.

Pytanie 3

Jak prawidłowo skomentować linię kodu w języku Java Script? Komentarz powinien być umieszczony po znakach //

x = Math.max(a,b,c); //
A. wybór losowej wartości ze zmiennych a, b i c
B. w zmiennej x minimalna wartość ze zmiennych a, b, c
C. nieprawidłowe dane
D. w zmiennej x maksymalna wartość ze zmiennych a, b, c
Odpowiedź numer 1 jest całkiem trafna, bo funkcja Math.max w JavaScript tak naprawdę najpierw sprawdza, która z podanych wartości jest największa. W tym wypadku, x = Math.max(a, b, c) zwraca największą liczbę z a, b i c i przypisuje ją do x. To jest super przydatne, gdy musisz szybko porównać jakieś liczby, na przykład podczas analizowania danych albo ustalania maksymalnych limitów w aplikacjach internetowych. Math.max to część wbudowanej biblioteki Math, która ma sporo przydatnych funkcji. Wykorzystanie tej funkcji jest zgodne z dobrymi praktykami programowania, bo jest szybka i bezpieczna. Co ważne, Math.max przyjmuje różną liczbę argumentów, więc można ją łatwo dopasować do swoich potrzeb. Używanie tej funkcji naprawdę poprawia czytelność kodu, a to jest kluczowe w projektach, gdzie inne osoby mogą musieć zrozumieć nasz kod.

Pytanie 4

O czym informuje przeglądarkę internetową zapis <!DOCTYPE html>?

A. Dokument jest zapisany w wersji HTML 4.
B. Dokument został zapisany w języku HTML 5.
C. W dokumencie wszystkie tagi są zapisane wielkimi literami.
D. W dokumencie każda etykieta musi być zamknięta, nawet te samozamykające.
Zapisywanie <!DOCTYPE html> na początku dokumentu informuje przeglądarkę, że dokument jest napisany w HTML5, co ma istotne znaczenie dla jego poprawnej interpretacji. HTML5 wprowadza wiele nowych elementów i atrybutów, które są kluczowe dla nowoczesnych aplikacji webowych, takich jak <header>, <footer>, <article> czy <section>, a także wspiera multimedia poprzez <audio> i <video>. Dzięki deklaracji <!DOCTYPE html> przeglądarki mogą stosować najnowsze standardy, co zapewnia lepszą zgodność i wsparcie dla responsywności, co jest niezbędne w erze urządzeń mobilnych. Ponadto, HTML5 wprowadza zasady dotyczące semantyki, co może poprawić SEO (optymalizację pod kątem wyszukiwarek) i dostępność treści dla osób z niepełnosprawnościami. W praktyce oznacza to, że tworząc nową stronę internetową, warto zawsze używać tej deklaracji, aby zapewnić, że przeglądarki renderują zawartość zgodnie z aktualnymi standardami.

Pytanie 5

Na stronie www znajduje się formularz, do którego należy zaimplementować następujące funkcje: walidacja: podczas wypełniania formularza w czasie rzeczywistym sprawdzana jest poprawność danych, oraz przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze. Aby wprowadzić tę funkcjonalność w najprostszy sposób, trzeba zapisać

A. walidację i przesyłanie danych w języku JavaScript
B. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
C. walidację i przesyłanie danych w języku PHP
D. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
Zdecydowanie dobrze to ogarnąłeś! Walidacja danych w JavaScript oraz przesyłanie ich w PHP to naprawdę dobry pomysł, jeśli chodzi o tworzenie formularzy online. Dzięki walidacji po stronie klienta, możesz natychmiast zareagować na błędy. To znaczy, że jak ktoś wpisze coś nie tak, to od razu dostaje informację, że np. e-mail jest w złym formacie albo jakieś pole jest puste. Używanie 'addEventListener' do śledzenia zdarzeń 'input' w polach formularza to świetny sposób, żeby poprawić doświadczenie użytkowników. Co więcej, dzięki temu nie obciążasz serwera, bo niepoprawne dane nie są w ogóle przesyłane. A jeśli chodzi o PHP, to super, że wspomniałeś o przesyłaniu danych po stronie serwera. PHP ma dostęp do bazy danych, więc dane mogą być tam bezpieczne i dobrze przetwarzane. Użycie PHP przy obsłudze formularzy to standard, dzięki któremu twoja aplikacja będzie stabilna i bezpieczna.

Pytanie 6

Aby aplikacja PHP mogła nawiązać połączenie z bazą danych, w pierwszej kolejności należy wywołać funkcję:

A.
mysqli_close
B.
mysqli_connect
C.
mysqli_create_db
D.
mysqli_select_db
Pracę z bazą danych w PHP zaczyna się od otwarcia połączenia funkcją mysqli_connect. Przyjmuje ona adres serwera, nazwę użytkownika, hasło i zwykle nazwę bazy, a zwraca uchwyt połączenia używany w dalszych zapytaniach. Dopiero gdy połączenie działa, można wybierać bazę, wykonywać zapytania, a na końcu zamknąć je funkcją mysqli_close. Dlatego pierwszym wywołaniem jest mysqli_connect.

Pytanie 7

Do której właściwości CSS można przypisać wartości static, relative, fixed, absolute, sticky?

A.
display
B.
text-transform
C.
list-style-type
D.
position
Wartości static, relative, absolute, fixed i sticky przyjmuje właściwość position - steruje ona sposobem pozycjonowania elementu na stronie (np. fixed przykleja element do okna, sticky „przylepia” go przy przewijaniu). Zapamiętaj: te pięć słów to wartości position.

Pytanie 8

Jednym z typów testów jednostkowych jest analiza tras, która polega na

A. testowaniu obiektów pod kątem inicjalizacji oraz zwolnienia zarezerwowanej pamięci
B. utworzeniu kilku zbiorów danych o zbliżonym sposobie przetwarzania i wykorzystaniu ich do przeprowadzenia testu
C. testowaniu wartości granicznych zestawu danych
D. określeniu punktu startowego i końcowego oraz badaniu dostępnych ścieżek pomiędzy tymi punktami
W analizie ścieżek w testach jednostkowych chodzi o to, by wyznaczyć, skąd zaczyna się działanie programu i gdzie kończy, a następnie sprawdzić, jakie ścieżki można pomiędzy tymi punktami przejść. Dzięki temu można znaleźć wszystkie możliwe drogi, którymi program może podążać. To ważna metoda, bo pozwala ocenić, czy logika w naszym kodzie działa tak, jak powinna oraz czy przetestowaliśmy wszystkie scenariusze, które mogą się zdarzyć. Na przykład, gdy mamy w kodzie dużo warunków i pętli, analiza ścieżek może ujawnić błędy, które nie wyjdą przy zwykłym testowaniu. W inżynierii oprogramowania to jest naprawdę dobra praktyka, bo upewniamy się, że wszystkie ścieżki zostały sprawdzone, co na pewno wpływa na jakość i stabilność naszego programu.

Pytanie 9

W języku JavaScript potrzebne jest odwołanie się do elementu znajdującego się w pierwszym paragrafie danego fragmentu kodu HTML. Można to osiągnąć przy użyciu funkcji

<body>
<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
A. getElementsByTagName('p')[0]
B. getElement('p')
C. getElementById('p1')
D. getElementsByClassName('p.1')[0]
Metoda getElementsByClassName("p.1")[0]; jest niepoprawna, ponieważ jej użycie zakłada, że w dokumencie HTML występuje element z klasą "p.1", a w podanym fragmencie HTML nie ma żadnego elementu, który spełniałby ten warunek. Klasy w HTML definiuje się za pomocą atrybutu class, a nie poprzez dotację z kropką w nazwie. W przypadku użycia getElementById("p1");, ta metoda zakłada, że istnieje element z unikalnym identyfikatorem "p1". W przedstawionym fragmencie również tego identyfikatora nie ma, co czyni tę odpowiedź błędną. Metoda getElement("p"); jest nieprawidłowa, ponieważ takiej metody nie ma w standardowym obiekcie document w JavaScript. Programista, zamiast tego, powinien użyć getElementById lub getElementsByTagName. Użycie getElementsByTagName jest najlepszą praktyką, ponieważ pozwala na selekcję wszystkich elementów danego typu. Często mylące są koncepcje związane z selekcją elementów; kluczowe jest zrozumienie, że metody JavaScript są czułe na typy i struktury dokumentu. Dlatego ważne jest, aby dokładnie wiedzieć, jakie elementy chcemy wybrać i jakie metody są do tego dostępne w standardzie DOM.

Pytanie 10

Co realizuje polecenie zaczynające się od ALTER TABLE USA ...?

A. usunięcie tabeli USA
B. modyfikację (zmianę struktury) tabeli USA
C. utworzenie nowej tabeli USA
D. nadpisanie starej tabeli USA
Polecenie zaczynające się od ALTER TABLE USA ... modyfikuje STRUKTURĘ istniejącej tabeli USA - w zależności od dalszej części doda, usunie lub zmieni kolumnę albo ograniczenie. ALTER znaczy „zmień”, a TABLE USA wskazuje, której tabeli dotyczy. Dlatego polecenie realizuje modyfikację struktury tabeli USA.

Pytanie 11

W języku JavaScript zapisano poniższy fragment kodu:

var x=10;
x++;
console.log(x);
Po uruchomieniu skryptu zmienna x
A. będzie miała wartość 11 i zostanie wyświetlona w oknie popup
B. będzie miała wartość 10 i zostanie pokazana w dokumencie HTML
C. będzie miała wartość 10 i zostanie wyświetlona w głównym oknie przeglądarki internetowej
D. będzie miała wartość 11 i zostanie wyświetlona w konsoli przeglądarki internetowej
W analizowanym fragmencie kodu JavaScript mamy do czynienia z prostą operacją inkrementacji zmiennej x, która początkowo wynosi 10. Operator ++ zwiększa wartość zmiennej o 1, co skutkuje wartością 11. Wartością, która zostanie wyświetlona, jest wartość zmiennej x, która po inkrementacji wynosi 11. Jednak ważnym aspektem jest to, że w kodzie jest błąd składniowy w wywołaniu funkcji console.log. Poprawna składnia powinna wyglądać tak: console.log(x); zamiast console.logx);. W obecnej formie kodu, mimo inkrementacji zmiennej x do wartości 11, pojawi się błąd wykonania, a wartość nie zostanie wypisana. Gdyby błąd został naprawiony, wynik 11 zostałby wyświetlony w konsoli przeglądarki, co jest standardowym miejscem do monitorowania wyjścia w aplikacjach JavaScript. To zachowanie jest zgodne ze specyfikacjami ECMAScript, które definiują zasady działania operatorów oraz metod konsoli.

Pytanie 12

Która metoda wyświetli w JavaScript komunikat w konsoli przeglądarki?

A.
console.print("test");
B.
console.log("test");
C.
console.echo("test");
D.
console.write("test");
Metoda console.log() wypisuje przekazany komunikat (tekst, liczbę, obiekt) w konsoli narzędzi deweloperskich przeglądarki. To podstawowe narzędzie do podglądu wartości i debugowania kodu JavaScript - pozwala sprawdzić, co dzieje się w trakcie działania skryptu. Obiekt console ma też metody takie jak console.error() czy console.warn() dla komunikatów o błędach i ostrzeżeń. Dlatego do wypisania komunikatu w konsoli służy console.log().

Pytanie 13

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

A. console.warn()
B. console.count()
C. console.log()
D. console.error()
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 14

W języku SQL wydano polecenie

CREATE USER 'anna'@'localhost' IDENTIFIED BY '54RTu8';
Jednak operacja ta zakończyła się niepowodzeniem z powodu błędu: #1396 - Operation CREATE USER failed for 'anna'@'localhost'. Możliwą przyczyną tego problemu bazy danych może być:
A. istnienie użytkownika anna w bazie danych
B. nieznane polecenie CREATE USER
C. błędna składnia polecenia CREATE USER
D. niewystarczająca siła hasła dla konta anna
Dobra robota! Odpowiedź, którą wybrałeś, jest słuszna. Problem z utworzeniem użytkownika 'anna' wynika z tego, że już taki użytkownik istnieje w bazie. W systemach baz danych, jak MySQL, każdy użytkownik musi mieć unikalną nazwę i hosta, z którego się łączy. Kiedy próbujesz dodać kogoś, kto już jest, dostajesz błąd z kodem #1396. Fajnie jest przed dodawaniem nowego użytkownika sprawdzić, czy już nie jest zarejestrowany, żeby uniknąć nieporozumień. Jeśli już ktoś istnieje, można też pomyśleć o edytowaniu tego konta zamiast tworzenia nowego, używając komendy ALTER USER. Takie podejście sprawia, że zarządzanie użytkownikami jest dużo prostsze i bezpieczniejsze.

Pytanie 15

Jakie oprogramowanie do zarządzania treścią umożliwia proste tworzenie oraz aktualizację witryny internetowej?

A. PHP
B. SQL
C. CSS
D. CMS
Systemy zarządzania treścią, znane jako CMS (Content Management System), są narzędziami stworzonymi specjalnie do łatwego tworzenia, edycji oraz zarządzania treściami na stronach internetowych. Dzięki CMS użytkownicy, nawet ci bez zaawansowanej wiedzy technicznej, mogą z łatwością aktualizować swoje witryny, dodawać nowe artykuły, zdjęcia oraz inne multimedia. Przykładami popularnych systemów CMS są WordPress, Joomla, czy Drupal. Te platformy oferują szeroką gamę wtyczek oraz szablonów, co pozwala na dostosowanie wyglądu i funkcjonalności strony do indywidualnych potrzeb. Standardy branżowe, takie jak WCAG dla dostępności czy SEO dla optymalizacji pod kątem wyszukiwarek, są również wspierane przez wiele systemów CMS, co czyni je idealnym rozwiązaniem dla osób chcących prowadzić profesjonalne serwisy internetowe. Zastosowanie CMS-u znacząco przyspiesza proces tworzenia stron oraz umożliwia ich łatwe dostosowywanie do zmieniających się potrzeb rynku.

Pytanie 16

W każdej iteracji pętli wartość aktualnego elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do ostatniego elementu tablicy. Czy to zdanie odnosi się do instrukcji?

A. foreach
B. while
C. for
D. next
Instrukcja 'foreach' w językach programowania, takich jak PHP, C# czy Java, jest zaprojektowana specjalnie do iteracji po elementach kolekcji, takich jak tablice lub kolekcje. Działa to poprzez przypisanie bieżącego elementu tablicy do zmiennej w każdej iteracji pętli oraz automatyczne przesuwanie wskaźnika do następnego elementu, co czyni ten mechanizm bardzo wygodnym w użyciu. Przykładowo, w PHP możemy użyć 'foreach' w następujący sposób: 'foreach ($tablica as $element) { echo $element; }'. W tej konstrukcji, dla każdego elementu w tablicy, zmienna $element będzie zawierać jego wartość, a pętla zakończy się automatycznie po osiągnięciu ostatniego elementu. Taki sposób iteracji jest bardziej przejrzysty i mniej podatny na błędy, ponieważ nie musimy zarządzać indeksami ręcznie, co może prowadzić do pomyłek, takich jak przekroczenie granic tablicy. Ponadto, instrukcje 'foreach' są bardziej czytelne, co ułatwia współpracę w zespołach programistycznych i utrzymanie kodu w dłuższej perspektywie. W dokumentacji wielu języków programowania 'foreach' jest rekomendowane jako najlepsza praktyka do iteracji po elementach kolekcji, co czyni je bardziej efektywnymi w kontekście programowania obiektowego oraz funkcjonalnego.

Pytanie 17

Skrypt napisany w języku JavaScript wylicza cenę promocyjną dla swetrów w kolorach: zielonym i niebieskim (zmienna kolor) przy zakupach powyżej 200 zł (zmienna zakupy). Warunek do obliczeń powinien być sformułowany za pomocą wyrażenia logicznego?

A. zakupy > 200 && kolor == 'zielony' && kolor == 'niebieski'
B. zakupy > 200 || kolor == 'zielony' || kolor == 'niebieski'
C. zakupy > 200 || (kolor == 'zielony' && kolor == 'niebieski')
D. zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')
Poprawna odpowiedź to "zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')". Wyrażenie to jest zgodne z logiką obliczeń cen promocyjnych. Użycie operatora koniunkcji (&&) wskazuje, że oba warunki muszą być spełnione, aby cena promocyjna mogła być zastosowana. Po pierwsze, wartość zakupów musi przekraczać 200 zł, co jest kluczowym warunkiem, aby móc skorzystać z promocji. Po drugie, kolor swetra musi być jednym z dozwolonych, czyli zielonym lub niebieskim, co zostało zrealizowane za pomocą operatora alternatywy (||). Używając nawiasów, wyraźnie wskazujemy, że sprawdzenie koloru jest niezależne od warunku dotyczącego wartości zakupów. Taka konstrukcja jest zgodna z dobrą praktyką programistyczną, zapewniając czytelność i ułatwiając późniejszą modyfikację kodu. W kontekście praktycznym, można zastosować tę logikę w aplikacjach e-commerce, gdzie dynamiczne obliczenia cen promocyjnych w zależności od różnych kryteriów są powszechne. Przykładowo, przy dodawaniu nowych kolorów lub zmieniając próg zakupów, wystarczy jedynie edytować odpowiednie warunki, co czyni kod bardziej elastycznym i łatwym do zarządzania.

Pytanie 18

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

A.
LONGTEXT
B.
ENUM
C.
BLOB
D.
DOUBLE
Do przechowywania dużych danych binarnych - obrazów, dźwięku, plików - służy typ BLOB (Binary Large Object). W odróżnieniu od typów tekstowych nie zakłada kodowania znaków, więc nadaje się do surowych bajtów. W MySQL ma warianty (TINYBLOB, MEDIUMBLOB, LONGBLOB) o różnej pojemności. Dlatego dla danych multimedialnych właściwy jest BLOB.

Pytanie 19

Jakie uprawnienia są konieczne do wykonania oraz przywrócenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Security users
B. Administrator systemu
C. Użytkownik lokalny
D. Users
Aby wykonać i odtworzyć kopię zapasową bazy danych Microsoft SQL Server 2005 Express, wymagane jest posiadanie uprawnień administratora systemu. Administratorzy mają pełny dostęp do wszystkich funkcji i zasobów systemu, co jest kluczowe podczas zarządzania kopiami zapasowymi, które są niezbędne dla bezpieczeństwa i integralności danych. W kontekście SQL Server, administratorzy mogą korzystać z różnych narzędzi, takich jak SQL Server Management Studio (SSMS), aby tworzyć kopie zapasowe baz danych oraz przywracać je w razie potrzeby. Dobrą praktyką jest regularne tworzenie kopii zapasowych, co pozwala na minimalizację ryzyka utraty danych wskutek awarii systemu, błędów ludzkich czy ataków złośliwego oprogramowania. Ponadto, znajomość polityk przechowywania kopii zapasowych, takich jak ich rotacja i przechowywanie w bezpiecznych lokalizacjach, stanowi integralną część zarządzania danymi w organizacji. Warto również pamiętać o testowaniu procesów przywracania danych, aby upewnić się, że w sytuacji kryzysowej dostęp do informacji będzie możliwy w sposób szybki i efektywny.

Pytanie 20

SELECT ocena FROM oceny WHERE ocena > 2 ORDER BY ocena;
Załóżmy, że istnieje tabela oceny zawierająca kolumny id, nazwisko, imię oraz ocena. Przykładowe zapytanie ilustruje:
A. sumę.
B. łączenie.
C. rekurencję.
D. selekcję.
Zapytanie SQL przedstawione w pytaniu jest przykładem selekcji ponieważ wykorzystuje klauzulę WHERE do filtrowania danych. Selekcja w kontekście baz danych oznacza wybieranie konkretnych wierszy z tabeli które spełniają określone kryteria. W tym przypadku kryterium to ocena większa niż 2. Takie podejście jest bardzo powszechne i użyteczne w analizie danych pozwalając na uzyskanie tylko istotnych informacji spośród dużych zbiorów danych. Klauzula WHERE jest jednym z podstawowych narzędzi SQL wykorzystywanym w praktycznie każdym systemie zarządzania bazami danych jak MySQL PostgreSQL czy Oracle. Umożliwia ona tworzenie elastycznych i złożonych zapytań które mogą zawierać różnorodne warunki logiczne takie jak porównania czy wyrażenia regularne. Dobre praktyki w zakresie projektowania baz danych zalecają używanie selekcji do ograniczania ilości przetwarzanych danych co zwiększa wydajność systemów. Zrozumienie mechanizmu selekcji jest kluczowe dla skutecznego zarządzania i optymalizacji baz danych szczególnie w projektach o dużej skali.

Pytanie 21

Kolor określony kodem RGB, mający wartość rgb(255, 128, 16) w przedstawieniu szesnastkowym, przyjmie jaką wartość?

A. #ff8010
B. #ff0fl0
C. #008010
D. #ff8011
Odpowiedź #ff8010 jest trafna. Konwersja wartości RGB na szesnastkowy to w sumie przekształcanie kolorów: czerwony, zielony i niebieski. W przypadku rgb(255, 128, 16), czerwony (255) zmienia się w 'ff', zielony (128) w '80', a niebieski (16) w '10'. Gdy to wszystko połączymy, dostajemy kod #ff8010. To wiedza, która naprawdę się przydaje, gdy pracujesz z kolorami w stronach www, aplikacjach graficznych czy przy projektowaniu interfejsów. W branży IT używanie standardu RGB i konwersji do HEX to normalka, bo to pozwala na dokładne określenie kolorów w kodzie. Na przykład, w CSS łatwo będzie używać kolorów w tym formacie, a to pomaga w lepszej czytelności kodu.

Pytanie 22

Program napisany w języku PHP ma na celu wyliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6. Warunek doboru ocen w pętli obliczającej średnią powinien zawierać wyrażenie logiczne

A. $ocena > 2 and $ocena < 6
B. $ocena >= 2 and $ocena <= 6
C. $ocena >= 2 or $ocena <= 6
D. $ocena > 2 or $ocena < 6
Wybrana odpowiedź jest poprawna, ponieważ warunek '$ocena >= 2 and $ocena <= 6' precyzyjnie definiuje zakres ocen, które mają być brane pod uwagę przy obliczaniu średniej. Użycie operatora 'and' zapewnia, że tylko oceny mieszczące się w przedziale od 2 do 6, włącznie z obydwoma krańcami, będą uwzględnione. Przykład praktyczny to sytuacja, w której programista chciałby zrealizować system oceny uczniów, w którym dopuszczalne oceny to 2, 3, 4, 5 i 6. Gdybyśmy użyli operatora 'or', program mógłby przyjąć oceny spoza tego zakresu, co prowadziłoby do nieprawidłowych obliczeń i fałszywych wniosków. W kontekście programowania w PHP, stosowanie poprawnych warunków logicznych jest kluczowe dla zapewnienia prawidłowego działania kodu. Dobrym przykładem zastosowania takiego warunku jest pętla, która iteruje przez zestaw ocen i sumuje je, aby na końcu obliczyć średnią. Stosując odpowiednie warunki, programista może być pewny, że obliczenia są realizowane na danych, które są zgodne z wymaganiami. Warto również zauważyć, że w kontekście dobrych praktyk programistycznych, jasne definiowanie warunków logicznych pozwala na łatwiejsze zrozumienie kodu przez innych programistów oraz ułatwia jego późniejsze utrzymanie.

Pytanie 23

body{
background-image: url"rysunek.gif");
background-repeat: repeat-y;
}
W przedstawionej definicji stylu CSS, powtarzanie dotyczy

A. rysunku znajdującego się w tle strony w pionie
B. tła każdego znacznika akapitu
C. rysunku umieszczonego w tle strony w poziomie
D. rysunku osadzonego znacznikiem img
W definicji stylu CSS, zastosowane tło z rysunkiem 'rysunek.gif' jest powtarzane w pionie dzięki właściwości 'background-repeat: repeat-y'. Oznacza to, że obrazek będzie powielany wzdłuż osi Y, co skutkuje tym, że obrazek jest umieszczany jeden nad drugim, tworząc wrażenie ciągłości. Aby lepiej zrozumieć działanie tej właściwości, warto przyjrzeć się innym ustawieniom tła. Na przykład, właściwość 'background-repeat: repeat' powtarza obraz zarówno w poziomie, jak i w pionie, natomiast 'background-repeat: no-repeat' zapobiega jakimkolwiek powtórzeniom. W standardach CSS, takich jak CSS3, definiowanie tła w ten sposób jest zgodne z zasadami, które pozwalają na elastyczne projektowanie stron internetowych. W praktyce, użycie powtarzającego się tła może być przydatne w przypadku prostych wzorów, które mają stworzyć efekt wizualny, nie obciążając jednocześnie zbytnio zasobów, co jest istotne dla wydajności ładowania strony.

Pytanie 24

Po wykonaniu fragmentu kodu HTML i JavaScript na stronie zostanie wyświetlony obraz z pliku

<img id="obraz" src="kol1.jpg">
<button id="przycisk">Przycisk</button>

<script>
    document.getElementById("obraz").src = "kol2.jpg";
</script>
A. kol1.jpg, który może zostać zmieniony na kol2.jpg po wciśnięciu przycisku.
B. kol1.jpg
C. kol2.jpg
D. kol2.jpg, który może zostać zmieniony na kol1.jpg po wciśnięciu przycisku.
Niestety, nie trafiłeś. Wybierając 'kol1.jpg', mylisz się co do działania JavaScript w kontekście zmiany elementów na stronie. Skrypt używa getElementById, żeby znaleźć obraz o identyfikatorze 'obraz', a potem zmienia atrybut 'src' na 'kol2.jpg'. Tutaj nie ma żadnej interakcji z użytkownikiem, która mogłaby zmienić obrazek. W praktyce jednak, JavaScript daje nam możliwość dynamicznego modyfikowania elementów na stronie, co jest kluczowe przy tworzeniu takich interaktywnych stron. Na przykład, można wykorzystać tą samą metodę do zmiany obrazu, gdy ktoś na niego najedzie albo wciśnie przycisk. W tym przypadku jednak, to nie jest to, co się dzieje. Warto też zrozumieć, że 'kol1.jpg' to nie jest dobra odpowiedź, bo to obraz, który miałby być zmieniony, a nie ten, który się wyświetli.

Pytanie 25

Która funkcja PHP pozwala sprawdzić, czy ciąg jest CZĘŚCIĄ innego ciągu?

A.
strlen()
B.
strtok()
C.
trim()
D.
strstr()
Funkcja strstr() sprawdza, czy dany ciąg jest CZĘŚCIĄ innego - szuka pierwszego wystąpienia podciągu i zwraca fragment od tego miejsca (albo false, gdy nie znajdzie). Pozwala więc wykryć obecność fragmentu w tekście. Dlatego do tego służy strstr().

Pytanie 26

Do graficznego (wizualnego) tworzenia stron internetowych należy wykorzystać:

A. program typu WYSIWYG
B. przeglądarkę internetową
C. program MS Office Picture Manager
D. edytor CSS
Do wizualnego tworzenia stron służy program typu WYSIWYG (ang. What You See Is What You Get - „co widzisz, to otrzymasz”). Stronę składa się w nim graficznie - przeciągając elementy i formatując je jak w edytorze tekstu - a narzędzie samo generuje w tle kod HTML i CSS. Tak działają m.in. kreatory stron czy wizualne edytory w systemach CMS (np. WordPress). Ułatwia to pracę osobom mniej zaawansowanym, choć kontrolę nad szczegółami daje dopiero ręczne pisanie kodu. Dlatego do graficznego tworzenia stron używa się programu typu WYSIWYG.

Pytanie 27

Tworząc tabelę produkty, dla pola „cena” (kwota z groszami) najlepszy typ danych to:

A.
TINYTEXT
B.
INTEGER(11)
C.
DECIMAL(10, 2)
D.
ENUM
Do przechowywania kwot najlepiej nadaje się typ DECIMAL (stałoprzecinkowy), bo zapisuje liczby z dokładną, ustaloną liczbą miejsc po przecinku - nie powstają błędy zaokrągleń typowe dla FLOAT/DOUBLE. Zapis DECIMAL(10, 2) oznacza do 10 cyfr łącznie, z czego 2 po przecinku, np. 12345678.99 - idealne dla ceny z groszami. Dlatego dla pola „cena” właściwy jest DECIMAL(10, 2).

Pytanie 28

Hermetyzacja to zasada programowania obiektowego, która mówi, że:

A. typy pól mogą zmieniać się dynamicznie w zależności od danych
B. klasy i obiekty mogą współdzielić funkcjonalność
C. klasy mogą mieć metody wirtualne implementowane w klasach pochodnych
D. pola i metody używane tylko wewnątrz klasy ogranicza się zasięgiem private lub protected
Hermetyzacja (enkapsulacja) to zasada programowania obiektowego polegająca na ukrywaniu wewnętrznych szczegółów obiektu: pola i metody przeznaczone tylko do użytku wewnątrz klasy oznacza się modyfikatorami private lub protected, a na zewnątrz udostępnia jedynie potrzebny interfejs (public). Dostęp do ukrytych pól odbywa się przez metody (np. gettery i settery), co pozwala kontrolować poprawność danych. Dzięki temu zmiana wnętrza klasy nie psuje kodu, który z niej korzysta. Dlatego hermetyzacja oznacza ograniczanie zasięgu pól i metod do private/protected.

Pytanie 29

Wskaż funkcję w JavaScript, która pozwoli obliczyć połowę kwadratu liczby podanej jako argument.

A. function wynik(a) { return 2*a/a; }
B. function wynik(a) { return a*2/2; }
C. function wynik(a) { return a/2+a/2; }
D. function wynik(a) { return a*a/2; }
Funkcja function wynik(a) { return a*a/2; } jest całkiem w porządku. Działa, bo fajnie oblicza połowę kwadratu liczby, którą podajesz jako argument. W praktyce, 'a*a' to nic innego jak kwadrat liczby 'a', a potem dzielimy to przez 2, co nam daje wartość połowy tego kwadratu. To, co zrobiłeś, jest zgodne z zasadami matematyki i jak na programowanie w JavaScript to też się sprawdza. Na przykład, jak podstawisz '4', to funkcja zwróci 8, bo (4*4)/2 = 16/2 = 8. Takie obliczenia mogą się przydać w różnych aplikacjach, np. przy obliczeniach inżynieryjnych czy analizie danych, gdzie często korzysta się z takich wzorów. Użycie zmiennych i funkcji w programowaniu ułatwia zarządzanie danymi, a do tego można łatwiej się orientować w kodzie, co jest super.

Pytanie 30

Której metody JS użyć, aby sprawdzić, czy napis ZAWIERA inny napis?

A.
repeat()
B.
substr()
C.
valueOf()
D.
includes()
Metoda includes() sprawdza, czy napis ZAWIERA podany podciąg, i zwraca true lub false - np. "Ala ma kota".includes("kot") da true. Dlatego do sprawdzenia zawierania służy includes().

Pytanie 31

W systemie baz danych wykonano następujące operacje dotyczące uprawnień użytkownika adam: GRANT ALL PRIVILEGES ON klienci To adam REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam. Jakie prawa będzie miał użytkownik adam po zrealizowaniu tych operacji?

A. tworzenia tabeli klienci oraz wprowadzania do niej danych
B. aktualizowania danych oraz przeglądania tabeli klienci
C. przeglądania tabeli klienci i dodawania do niej rekordów
D. usunięcia tabeli lub jej danych
Użytkownik adam po wykonaniu poleceń GRANT i REVOKE nie będzie miał wszystkich przywilejów na tabeli klienci, co wymaga szczegółowej analizy. Gdy polecenie GRANT ALL PRIVILEGES ON klienci TO adam zostało wykonane, użytkownik zyskał pełne prawa do tabeli klienci, w tym usuwania, aktualizowania, wstawiania, a także przeglądania danych. Następnie, polecenie REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam odebrało mu możliwość przeglądania (SELECT), wstawiania (INSERT) oraz aktualizowania (UPDATE) danych w tej tabeli. Jednakże, usunięcie (DELETE) nie zostało wymienione w poleceniu REVOKE, co oznacza, że użytkownik adam wciąż ma prawo do usunięcia rekordów w tabeli klienci. To zjawisko jest zgodne z zasadami zarządzania uprawnieniami w systemach baz danych SQL, gdzie uprawnienia mogą być przyznawane i odbierane niezależnie, co pozwala na precyzyjne zarządzanie dostępem do danych. W praktyce, sytuacja ta może prowadzić do niebezpieczeństw związanych z bezpieczeństwem danych, dlatego ważne jest, aby administratorzy baz danych dokładnie analizowali przyznawane i odbierane uprawnienia.

Pytanie 32

Jak sprawdzić spójność danych w tabeli bazy MySQL?

A.
mysqldump
B.
REPAIR TABLE
C.
mysql
D.
CHECK TABLE
Spójność danych w tabeli MySQL sprawdza polecenie CHECK TABLE - analizuje tabelę pod kątem błędów i uszkodzeń, nie modyfikując jej. Naprawę wykonuje się dopiero osobno, gdy problem zostanie wykryty. Dlatego do sprawdzenia spójności służy CHECK TABLE.

Pytanie 33

DELETE FROM Pracownicy ORDER BY rok_urodzenia LIMIT 1;
W wyniku wykonania powyższego zapytania SQL zostanie:
A. usunięty rekord najstarszego pracownika.
B. usunięty rekord z danymi pracownika, który miał wpisaną datę urodzenia.
C. usunięta kolumna rok_urodzenia z tabeli Pracownicy.
D. usunięta tabela Pracownicy.
Poprawnie – to polecenie SQL usuwa dokładnie jeden rekord, i to taki, który odpowiada najstarszemu pracownikowi w tabeli. Kluczowe są tu dwie rzeczy: klauzula ORDER BY oraz LIMIT 1. Najpierw baza danych sortuje wiersze z tabeli Pracownicy po kolumnie rok_urodzenia rosnąco, czyli od najstarszego do najmłodszego (mniejszy rok urodzenia = starsza osoba). Dopiero na tak posortowanym zbiorze polecenie DELETE z LIMIT 1 usuwa pierwszy rekord z góry, czyli właśnie najstarszego pracownika.
Warto zauważyć, że taka składnia (DELETE ... ORDER BY ... LIMIT ...) jest charakterystyczna m.in. dla MySQL i MariaDB. W standardowym SQL nie zawsze można użyć ORDER BY bezpośrednio w DELETE, ale w praktyce, w aplikacjach webowych, bardzo często pracuje się właśnie na tych silnikach, więc to rozwiązanie jest jak najbardziej realne. W innych systemach (np. PostgreSQL) podobny efekt robi się przez podzapytanie lub CTE.
Moim zdaniem to jest bardzo przydatny wzorzec, gdy chcemy usuwać „najstarsze” lub „najmłodsze” rekordy, np. najstarszy log systemowy, najstarsze zamówienie w statusie roboczym, najstarszy wpis w kolejce zadań. Ważna dobra praktyka: takie operacje powinny opierać się na jednoznacznym kryterium sortowania (np. rok_urodzenia + id), żeby uniknąć sytuacji, że przy tych samych wartościach pola baza wybierze losowo któryś rekord. W projektach produkcyjnych często dodaje się dodatkową kolumnę typu data_utworzenia albo używa klucza głównego w ORDER BY, żeby zachować deterministyczne zachowanie.
Zwróć też uwagę, że DELETE operuje na wierszach (rekordach), a nie na strukturze tabeli. Do usuwania kolumn służy ALTER TABLE, a do kasowania całej tabeli – DROP TABLE. To rozróżnienie jest absolutna podstawa pracy z SQL w każdej większej aplikacji.

Pytanie 34

W języku JavaScript funkcja getElementById odnosi się do

A. zmiennej numerycznej
B. elementu HTML z podanym id
C. klasy zdefiniowanej w CSS
D. elementu HTML z określoną nazwą klasy
Metoda getElementById w języku JavaScript jest kluczowym narzędziem do manipulacji DOM (Document Object Model), które pozwala deweloperom na łatwe odwoływanie się do konkretnych elementów HTML za pomocą ich atrybutu id. Dzięki temu, możemy dynamicznie zmieniać treść, style lub atrybuty tych elementów, co jest niezwykle przydatne w tworzeniu interaktywnych stron internetowych. Na przykład, jeśli mamy element HTML z atrybutem id='header', możemy użyć `document.getElementById('header')` do uzyskania do niego dostępu. To podejście jest zgodne z zasadami poprawnej struktury HTML, gdzie atrybut id powinien być unikalny w obrębie dokumentu. Rekomendowane jest, aby id było zrozumiałe i jasno określało zawartość elementu, co ułatwia późniejszą nawigację i skrypty, a także poprawia dostępność strony. W praktyce, korzystając z getElementById, możemy na przykład zmieniać tekst nagłówka: `document.getElementById('header').innerText = 'Nowy nagłówek';`.

Pytanie 35

W języku PHP, aby otworzyć już istniejący plik lektury.txt w trybie dodawania treści, tak aby wskaźnik pliku został umieszczony na końcu tego pliku należy zastosować instrukcję

A. fopen("lektury.txt", "w")
B. fopen("lektury.txt", "x")
C. fopen("lektury.txt", "a")
D. fopen("lektury.txt", "r")
W tym zadaniu kluczowe są dwa elementy: tryb otwarcia pliku oraz pozycja wskaźnika pliku. W PHP funkcja fopen() przyjmuje drugi parametr właśnie po to, żeby określić, co chcemy zrobić z plikiem: tylko czytać, tylko pisać, nadpisywać, dopisywać, tworzyć nowy itd. Pomyłki biorą się najczęściej z tego, że ktoś zna ogólne działanie funkcji, ale nie pamięta dokładnie znaczenia poszczególnych liter.

Tryb "r" oznacza otwarcie pliku tylko do odczytu. Wskaźnik pliku ustawiany jest na początku, a nie na końcu. W tym trybie nie wolno pisać do pliku – próba użycia fwrite() skończy się ostrzeżeniem lub błędem. To dobry wybór, gdy chcemy np. wczytać konfigurację lub treść pliku, ale zupełnie nie nadaje się do dopisywania nowych danych. Typowym błędem myślowym jest założenie, że skoro fopen otwiera plik, to zawsze można do niego pisać. Niestety, nie – tryb ma tutaj kluczowe znaczenie.

Tryb "w" otwiera plik do zapisu, ale przy tym kasuje jego dotychczasową zawartość (truncation). W praktyce oznacza to, że gdy użyjemy fopen("lektury.txt", "w"), cały wcześniejszy tekst zostanie usunięty, a wskaźnik pliku znajdzie się na początku pustego pliku. To jest bardzo ważne: "w" jest dobre, gdy chcemy stworzyć nową wersję pliku od zera, np. generowany raport, ale całkowicie sprzeczne z wymaganiem zadania, które mówi o „dodawaniu treści” do istniejącego pliku bez utraty danych.

Tryb "x" z kolei służy do tworzenia nowego pliku i zakończy się błędem, jeśli plik już istnieje. To mechanizm ochronny, używany często tam, gdzie nie chcemy przypadkiem nadpisać istniejącego pliku (np. przy generowaniu unikalnych plików). W kontekście pytania jest to odwrotność tego, co trzeba: my właśnie chcemy pracować z już istniejącym plikiem, a nie wymuszać jego nowość.

Moim zdaniem najczęstsza pułapka polega na myleniu „w” i „a”. Oba tryby umożliwiają zapis, ale tylko "a" gwarantuje, że wskaźnik ustawi się na końcu, a dane będą dopisywane, a nie nadpisywane. Dlatego, gdy w zadaniu pojawia się fraza „tryb dodawania treści” i „wskaźnik na końcu pliku”, praktycznie zawsze chodzi o tryb append, czyli właśnie "a".

Pytanie 36

Na stronie www znajduje się formularz, do którego należy stworzyć następujące funkcje: walidacja: w czasie wypełniania formularza na bieżąco kontrolowana jest poprawność danych, przesyłanie danych: po zrealizowaniu formularza i jego zatwierdzeniu, dane są przekazywane do bazy danych na serwerze. Aby zrealizować tę funkcjonalność w jak najprostszy sposób, należy zapisać

A. walidację oraz przesyłanie danych w języku PHP
B. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
C. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
D. walidację oraz przesyłanie danych w języku JavaScript
Walidacja danych w formularzu powinna być przeprowadzana po stronie klienta, co oznacza, że najwłaściwszym rozwiązaniem jest wykorzystanie języka JavaScript. Taki sposób umożliwia natychmiastowe informowanie użytkownika o błędach, co znacząco poprawia doświadczenia użytkowników. Przykłady zastosowania obejmują sprawdzanie, czy pola są puste, czy wprowadzony adres e-mail ma odpowiedni format oraz czy hasło spełnia określone kryteria. Po zatwierdzeniu formularza, dane powinny być przesyłane do serwera, gdzie można je obsłużyć i zapisać w bazie danych. W tym kontekście wykorzystanie języka PHP jest idealnym rozwiązaniem, ponieważ PHP jest popularnym językiem skryptowym do obsługi backendu i pracy z bazami danych. Serwerowa walidacja danych jest również konieczna dla zapewnienia bezpieczeństwa i integralności danych znajdujących się w bazie. W praktyce, mogą wystąpić sytuacje, w których użytkownik wyłączy JavaScript, dlatego niezbędne jest, aby walidacja odbywała się również po stronie serwera, jednak głównym celem jest zapewnienie wstępnej walidacji na poziomie klienta.

Pytanie 37

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Krzywe.
B. Progowanie.
C. Inwersja.
D. Barwienie.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 38

Aby sprawdzić poprawność składni kodu CSS, można skorzystać z:

A. debuggera
B. walidatora
C. optymalizatora
D. konsolidatora
Pozostałe narzędzia dotyczą innych zadań. Debugger służy do krokowego śledzenia działania programu i podglądu zmiennych - CSS jednak niczego nie „wykonuje”, więc nie ma tu czego debugować. Konsolidator (linker) łączy skompilowane moduły w gotowy program, co z arkuszami stylów nie ma związku. Optymalizator może zmniejszyć i uprościć kod (np. minifikacja), ale jego celem jest wydajność, a nie wykrywanie błędów składni. Poprawność CSS sprawdza walidator, dlatego to on jest poprawną odpowiedzią.

Pytanie 39

W programie Microsoft Access mechanizmem ochrony danych związanym z tabelą i kwerendą jest

A. określanie zakresu tabel
B. wykorzystanie makr
C. ustalanie limitów przestrzeni na dysku
D. przypisanie uprawnień
Przypisanie uprawnień jest kluczowym elementem zarządzania bezpieczeństwem w Microsoft Access, ponieważ pozwala na kontrolowanie, kto ma dostęp do danych w tabelach i kwerendach. W praktyce, administratorzy baz danych mogą definiować, które grupy użytkowników mogą przeglądać, edytować lub usuwać dane. To podejście jest zgodne z zasadą najmniejszych uprawnień, co oznacza, że użytkownicy otrzymują tylko te uprawnienia, które są im niezbędne do wykonywania swoich zadań. Na przykład, jeśli pracownik potrzebuje jedynie przeglądać dane w konkretnej tabeli, administrator może przyznać mu jedynie uprawnienia do odczytu, co minimalizuje ryzyko nieautoryzowanych zmian. Warto także wspomnieć, że przypisanie uprawnień nie ogranicza się tylko do tabel, ale dotyczy również kwerend, formularzy i raportów, co pozwala na szczegółowe zarządzanie dostępem do różnych zasobów systemu. Dobre praktyki w zakresie bezpieczeństwa baz danych zalecają regularne audyty uprawnień, aby upewnić się, że są one nadal odpowiednie do zmieniających się potrzeb organizacji oraz roli użytkowników.

Pytanie 40

Którego atrybutu użyć, aby scalić w PIONIE dwie sąsiednie komórki tabeli?

A.
cellspacing
B.
rowspan
C.
colspan
D.
cellpadding
colspan też scala komórki, ale w POZIOMIE (łączy kolumny w jednym wierszu), więc nie nadaje się do pionu. cellpadding i cellspacing w ogóle nie scalają - to atrybuty całej tabeli ustawiające odstęp wewnątrz komórek oraz między nimi. Pionowe łączenie sąsiednich komórek daje wyłącznie rowspan.