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: 5 sierpnia 2026 12:29
  • Data zakończenia: 5 sierpnia 2026 12:43

Egzamin zdany!

Wynik: 26/40 punktów (65,0%)

Wymagane minimum: 20 punktów (50%)

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

input[type=number] { background-color: Brown; }
Zapis tego selektora oznacza, że tło będzie miało brązowy kolor dla:
A. wszystkich typów pól edycyjnych
B. pól edycyjnych, które są typu numerycznego
C. wszystkich tekstów na stronie internetowej
D. pól edycyjnych, w które użytkownik wprowadzi dowolną cyfrę
Selekcja `input[type=number]` w CSS jest używana do stylizacji pól formularzy, które oczekują wartości numerycznych. Tło tych pól zostanie ustawione na kolor brązowy, co wpływa na ich wygląd i może poprawić doświadczenie użytkownika. Takie podejście jest zgodne z zasadami dostępności, ponieważ pozwala użytkownikom na natychmiastowe rozpoznanie, które pola są przeznaczone do wprowadzania cyfr. Przykładem zastosowania może być formularz zamówienia, w którym część pól ma określony typ, jak `number`, co ogranicza wprowadzanie do wartości liczbowych. Używając odpowiednich typów input, projektanci mogą tworzyć bardziej intuicyjne interfejsy, które redukują błędy użytkowników oraz poprawiają proces wypełniania formularzy. W tym kontekście warto również zwrócić uwagę na standardy W3C, które zalecają stosowanie typów input, aby zapewnić lepszą kompatybilność i funkcjonalność w różnych przeglądarkach i urządzeniach.

Pytanie 2

Co umożliwiają w JavaScript metody i właściwości DOM?

A. manipulowanie łańcuchami zadeklarowanymi w kodzie
B. operacje na zmiennych liczbowych
C. przesyłanie danych formularza wprost do bazy danych
D. pobieranie i modyfikowanie elementów strony w przeglądarce
DOM dotyczy struktury strony w przeglądarce, a nie innych operacji. Przesyłanie danych formularza do bazy to rola kodu serwerowego (np. PHP), a nie DOM. Operacje na łańcuchach czy liczbach to ogólne działania na zmiennych, niezależne od DOM. DOM służy do pobierania i modyfikowania elementów strony.

Pytanie 3

Jaki zapis szesnastkowy odpowiada kolorowi rgb(128, 16, 8)?

A.
#801008
B.
#FF1008
C.
#FF0F80
D.
#800F80
Każdą składową RGB (0-255) zapisuje się dwucyfrowo szesnastkowo: 128 = 80, 16 = 10, 8 = 08, co po sklejeniu daje #801008. Przelicznik: 128 to połowa z 256, czyli 0x80. Zapamiętaj metodę: licz każdą składową osobno i połącz w #RRGGBB.

Pytanie 4

Zamieszczone poniżej zapytanie SQL przyznaje uprawnienie SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich kolumn w tabeli hurtownia
B. dla konta root na serwerze localhost
C. do wszystkich tabel w bazie danych hurtownia
D. dla konta root na serwerze sprzedawca
Wybór opcji, która sugeruje, że polecenie nadaje dostęp do wszystkich pól w tabeli hurtownia, jest mylny, ponieważ w SQL uprawnienia są przyznawane na poziomie tabeli, a nie pól. W SQL nie możemy przyznać uprawnień do pojedynczych kolumn w taki sposób, jak sugeruje ta odpowiedź; wyjątkiem są bardziej szczegółowe polecenia, w których można określić kolumny, ale nie w kontekście polecenia GRANT z użyciem znaku <code>*</code>. Innym błędnym wnioskiem jest stwierdzenie, że polecenie dotyczy użytkownika root. Polecenie wskazuje, że uprawnienia są przyznawane użytkownikowi 'sprzedawca' na localhost, a nie użytkownikowi root, który jest administratorem systemu baz danych. Takie nieporozumienia mogą wynikać z nieznajomości struktury użytkowników w MySQL oraz sposobu, w jaki działają uprawnienia. Ważne jest zrozumienie, że w kontekście bezpieczeństwa bazy danych, przyznawanie uprawnień powinno być przemyślane, aby unikać nieautoryzowanego dostępu oraz ograniczać dostęp do danych tylko do tych użytkowników, którzy rzeczywiście go potrzebują. Dbanie o bezpieczeństwo danych w bazie danych jest kluczowe, a niewłaściwe przyznawanie uprawnień może prowadzić do poważnych naruszeń bezpieczeństwa.

Pytanie 5

Strona internetowa została napisana w języku XHTML. Który z poniższych kodów przedstawia implementację zamieszczonego fragmentu strony, przy założeniu, że nie zdefiniowano żadnych stylów CSS?

Ilustracja do pytania
A. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
B. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
C. <h1>Początki HTML</h1><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<br /> stworzył<i>prototyp hipertekstowego systemu informacyjnego - <b>ENQUIRE</b></i></p>
D. <b>Początki HTML</b><p>W 1980 fizyk <b>Tim Berners-Lee</b>, pracownik <i>CERN</i>,<hr /> stworzył<b>prototyp hipertekstowego systemu informacyjnego - <i>ENQUIRE</i></b></p>
Odpowiedź druga jest prawidłowa, ponieważ w XHTML stosowanie znaczników zgodnych z HTML jest kluczowe. Nagłówek <h1> wskazuje na najbardziej wyróżniający się element na stronie, co jest zgodne z prezentowanym obrazem, gdzie 'Początki HTML' jest nagłówkiem. XHTML wymaga, by wszystkie elementy były poprawnie zagnieżdżone i zamknięte, a tag <br /> jest poprawnie użyty jako samo zamykający się, co jest wymagane w XHTML. Ponadto, struktura dokumentu XHTML musi być bardziej restrykcyjna, co oznacza, że używanie semantycznych znaczników jak <h1> dla nagłówków sprzyja lepszej interpretacji struktury dokumentu przez przeglądarki i narzędzia dostępności. Poprawne użycie <b> i <i> do wyróżniania tekstu jest zgodne ze standardami, chociaż w nowoczesnym HTML5 zaleca się używanie <strong> i <em> dla semantycznego formatowania. Takie podejście wspomaga dostępność oraz ułatwia zrozumienie kodu przez inne osoby. Dobór tagów w tej odpowiedzi pokazuje zrozumienie zasad semantyki oraz poprawnej struktury dokumentów w XHTML co jest zgodne z dobrymi praktykami web developmentu.

Pytanie 6

Przygotowując raport w systemie zarządzania relacyjnymi bazami danych, można uzyskać

A. analizę wybranych danych
B. dodawanie danych do tabel
C. usuwanie danych z tabel
D. aktualizowanie danych w tabelach
W kontekście systemów obsługi relacyjnych baz danych, raportowanie odgrywa kluczową rolę w analizie danych. Wykonywanie raportu umożliwia użytkownikom dostęp do wybranych informacji, co pozwala na podejmowanie świadomych decyzji opartych na danych. Analiza danych to proces przetwarzania informacji w celu wydobycia wartościowych wniosków. Przykłady zastosowania to generowanie raportów sprzedażowych, finansowych czy analizy trendów klientów. W raportach można wykorzystać różne techniki, takie jak filtrowanie, grupowanie czy agregowanie danych, co umożliwia prezentację wyników w przystępnej formie graficznej. Dodatkowo, standardy takie jak SQL (Structured Query Language) są powszechnie używane do wykonywania zapytań w relacyjnych bazach danych, co pozwala na efektywne przeszukiwanie i analizowanie danych. W praktyce, raporty mogą być generowane na podstawie zapytań do bazy danych i mogą obejmować różne parametry, co zwiększa ich użyteczność w podejmowaniu decyzji strategicznych i operacyjnych.

Pytanie 7

Istnieje tabela o nazwie przedmioty, która zawiera kolumny ocena i uczenID. Jakie zapytanie należy wykorzystać, aby obliczyć średnią ocen ucznia z ID równym 7?

A. AVG SELECT ocena FROM przedmioty WHERE uczenID=7;
B. SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7;
C. COUNT SELECT ocena FROM przedmioty WHERE uczenID=7;
D. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID=7;
Odpowiedź SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7; jest prawidłowa, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią wartość dla podanego zestawu danych. W tym przypadku skupiamy się na ocenach ucznia o ID równym 7, co osiągamy poprzez zastosowanie klauzuli WHERE. Funkcje agregujące, takie jak AVG, są standardowym narzędziem w SQL do analizy danych, szczególnie przydatnym w kontekście raportowania i analityki. Dzięki takiemu zapytaniu możemy szybko uzyskać średnią ocen ucznia, co może być wykorzystane do oceny jego postępów w nauce lub do podejmowania decyzji z zakresu pedagogiki w oparciu o zebrane dane. W praktyce, takie podejście jest zgodne z najlepszymi praktykami w pracy z bazami danych, pozwalając na wydobycie istotnych informacji z dużych zbiorów danych bez konieczności przetwarzania ich ręcznie. Użycie AVG w połączeniu z klauzulą GROUP BY mogłoby również być zastosowane, gdybyśmy chcieli uzyskać średnie oceny dla wielu uczniów jednocześnie, co dodatkowo podkreśla elastyczność i moc SQL w analizie danych.

Pytanie 8

Który typ danych zastosować, aby pole w bazie danych przechowywało liczby zmiennoprzecinkowe?

A.
CHAR
B.
FLOAT
C.
INT
D.
VARCHAR
Liczby zmiennoprzecinkowe (rzeczywiste, z częścią ułamkową) przechowuje w bazie typ FLOAT, np. ceny czy wyniki pomiarów. Dlatego do takich wartości stosuje się FLOAT.

Pytanie 9

Jakiej opcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie w taki sposób, aby widoczna była tylko część znajdująca się w obrębie ramki?

Ilustracja do pytania
A. Skalowanie
B. Kadrowanie
C. Odbicie
D. Perspektywa
Kadrowanie to proces polegający na usuwaniu niechcianych części obrazu w celu skupienia uwagi na jego istotnych elementach. W kontekście przygotowywania rysunku do wyświetlenia na stronie internetowej, kadrowanie pozwala na wyeksponowanie tylko tych fragmentów grafiki, które mają być widoczne dla odbiorcy, jednocześnie usuwając zbędne tło czy elementy. Jest to technika szeroko stosowana w branży graficznej i fotograficznej, gdzie precyzyjne dostosowanie kompozycji wizualnej ma kluczowe znaczenie dla estetyki oraz komunikacji wizualnej. Kadrowanie wspiera także optymalizację plików graficznych, redukując ich rozmiar i poprawiając czas ładowania strony. W edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP, kadrowanie jest intuicyjnym narzędziem, które pozwala na szybkie i efektywne dostosowanie kadru do wymogów projektu. Dobre praktyki branżowe zalecają regularne kadrowanie w celu zwiększenia czytelności i nadania profesjonalnego wyglądu materiałom wizualnym. Poprawnie wykadrowany obraz nie tylko poprawia estetykę, ale również może wpłynąć na przekaz oraz zaangażowanie użytkowników. Wybór właściwych proporcji i skali podczas kadrowania jest istotny dla uzyskania spójnego i harmonijnego efektu końcowego, który będzie zgodny z założeniami projektu oraz oczekiwaniami odbiorcy.

Pytanie 10

W SQL, aby w tabeli Towar dodać kolumnę rozmiar typu znakowego z maksymalną długością 20 znaków, jakie polecenie należy wykonać?

A. ALTER TABLE Towar ADD rozmiar varchar(20)
B. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
D. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
Odpowiedź 'ALTER TABLE Towar ADD rozmiar varchar(20);' jest poprawna, ponieważ polecenie ALTER TABLE jest używane do modyfikacji struktury istniejącej tabeli. W tym przypadku chcemy dodać nową kolumnę o nazwie 'rozmiar', a typ 'varchar(20)' oznacza, że kolumna ta będzie przechowywać dane tekstowe o maksymalnej długości 20 znaków. Jest to standardowa praktyka w języku SQL, która pozwala na elastyczne zarządzanie danymi w bazach danych. Przykładem zastosowania może być sytuacja, w której w tabeli 'Towar' chcemy przechowywać informacje o rozmiarze odzieży, co pomaga w lepszym zarządzaniu stanem magazynowym. Prawidłowe zweryfikowanie typów kolumn i ich ograniczeń jest kluczowe dla zapewnienia integralności danych. Warto także pamiętać o tym, że operacje na strukturze bazy danych powinny być przeprowadzane z zachowaniem odpowiednich zasad, takich jak wykonywanie kopii zapasowych przed wprowadzeniem zmian oraz testowanie zmian w środowisku deweloperskim przed wdrożeniem ich w środowisku produkcyjnym.

Pytanie 11

System informatyczny umożliwiający tworzenie, edycję i publikację treści na stronach internetowych bez konieczności posiadania zaawansowanej wiedzy technicznej, to

A. ERP
B. RDBMS
C. DBMS
D. CMS
W tym pytaniu łatwo się pomylić, bo wszystkie skróty brzmią dość podobnie i kojarzą się z systemami informatycznymi, ale ich przeznaczenie jest zupełnie inne niż w opisie. Kluczowe w treści pytania jest to, że chodzi o tworzenie, edycję i publikację treści na stronach WWW, bez wymagania zaawansowanej wiedzy technicznej. Innymi słowy – użytkownik ma mieć wygodny panel, formularze, edytor tekstu, przyciski do wstawiania obrazków, a cała techniczna „magia” ma dziać się w tle.

DBMS, czyli Database Management System, to system zarządzania bazą danych. Takie oprogramowanie jak MySQL, PostgreSQL, Oracle Database czy Microsoft SQL Server służy do tworzenia baz danych, tabel, wykonywania zapytań SQL, nadawania uprawnień użytkownikom. To jest narzędzie typowo dla administratorów baz i programistów, a nie dla redaktorów treści. DBMS sam w sobie nie udostępnia prostego interfejsu do publikowania artykułów na stronie WWW, tylko przechowuje dane, na których później może pracować aplikacja, np. CMS.

RDBMS (Relational Database Management System) to po prostu szczególny rodzaj DBMS, który opiera się na modelu relacyjnym – tabele, klucze główne, klucze obce, relacje między tabelami. Z punktu widzenia pytania to jeszcze bardziej techniczny poziom. RDBMS to „zaplecze” wielu systemów, także CMS-ów, ale nie narzędzie, z którego korzysta zwykły użytkownik do edycji treści. Typowym błędem myślowym jest utożsamianie „systemu informatycznego” z czymkolwiek, co pracuje na danych, bez rozróżnienia, czy to jest warstwa bazy danych, czy aplikacja użytkownika.

ERP (Enterprise Resource Planning) to z kolei rozbudowany system do zarządzania zasobami przedsiębiorstwa: magazyn, sprzedaż, księgowość, kadry, produkcja. Owszem, ERP może mieć moduł do wystawiania dokumentów, raportów, czasem nawet prosty portal B2B, ale jego głównym celem nie jest publikowanie treści na publicznej stronie WWW. To rozwiązanie skierowane do działów finansowych, logistycznych, produkcyjnych, a nie do webredaktorów. Mylenie ERP z CMS-em zwykle wynika z tego, że oba są „dużymi systemami” i czasem integrują się ze stroną internetową, ale pełnią inne role.

Właściwy system opisany w pytaniu to CMS – Content Management System – który łączy się zazwyczaj z bazą danych (często właśnie RDBMS), ale daje użytkownikowi przyjazny interfejs do zarządzania treścią. Jeżeli więc w opisie pojawia się tworzenie stron, artykułów, wpisów blogowych, galerii i to wszystko bez znajomości HTML czy SQL, to jest bardzo silna wskazówka, że chodzi właśnie o CMS, a nie DBMS, RDBMS czy ERP.

Pytanie 12

Jakie jest zastosowanie certyfikatu SSL?

A. określenia właściciela domeny
B. zapobiegania złośliwemu oprogramowaniu na stronie
C. odszyfrowywania przesyłanych danych
D. przechowywania informacji o sesjach tworzonych na stronie
Certyfikat SSL, czyli Secure Sockets Layer, jest naprawdę ważnym elementem, jeśli chodzi o bezpieczeństwo w sieci. Dzięki niemu możemy mieć pewność, że strona, którą odwiedzamy, jest tym, za co się podaje. Wyobraź sobie, że logujesz się do swojego banku. Dzięki certyfikatowi SSL wiesz, że łączysz się z prawdziwą stroną, a nie z jakimś oszustem. To daje spokój, prawda? Co więcej, ten certyfikat szyfruje dane, które są przesyłane między klientem a serwerem, co jest kluczowe, zwłaszcza kiedy chodzi o nasze prywatne informacje. Z tego, co wiem, certyfikaty SSL są zgodne z normami, które ustala IETF oraz CA/Browser Forum, dlatego są dość powszechnie akceptowane w branży internetowej.

Pytanie 13

Znaczniki HTML <strong> oraz <em>, które mają na celu podkreślenie istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. <i> oraz <mark>
B. <b> oraz <i>
C. <u> oraz <sup>
D. <b> oraz <u>
Znaczniki HTML <strong> oraz <em> mają kluczowe znaczenie w kontekście semantyki i formatowania tekstu w dokumentach HTML. Znacznik <strong> wskazuje na tekst o zwiększonej ważności, co jest zgodne z jego domyślnym formatowaniem, które w większości przeglądarek wyświetla tekst pogrubiony. Z kolei znacznik <em> sugeruje tekst, który powinien być akcentowany w odpowiedni sposób, a jego domyślne formatowanie to kursywa. W związku z tym, ich odpowiednikami pod względem formatowania są znaczniki <b> oraz <i>. Znacznik <b> służy do pogrubienia tekstu, ale nie niesie ze sobą żadnej dodatkowej semantyki, natomiast <i> używany jest do kursywy bez wskazania na ważność. W praktyce, należy używać <strong> i <em> tam, gdzie semantyka jest kluczowa dla zrozumienia treści, a dodatkowe znaczenie przekłada się na lepsze pozycjonowanie w wyszukiwarkach oraz dostępność dla osób korzystających z technologii asystujących. Ważne jest, by przestrzegać dobrych praktyk webowych i stosować znaczniki semantyczne, co pozwoli na efektywne przekazywanie informacji zarówno użytkownikom, jak i robotom indeksującym.

Pytanie 14

W kodzie HTML znajdziemy formularz. Jaki rezultat zostanie pokazany przez przeglądarkę, jeśli użytkownik wprowadził do pierwszego pola wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 2
B. Efekt 3
C. Efekt 4
D. Efekt 1
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury formularza HTML. W przypadku efektu pierwszego widać, że checkboxy zostały zamienione na radiobuttony, co może sugerować, że użytkownik może wybrać tylko jedną z opcji. Jest to niezgodne z kodem, który jasno określa pola jako checkboxy, co pozwala na wielokrotny wybór. Efekt trzeci pokazuje nieprawidłowe pozycjonowanie elementów formularza, które nie odzwierciedla rzeczywistego układu z kodu HTML. Błędne zrozumienie struktury może wynikać z nieznajomości zasady działania poszczególnych elementów formularza, takich jak <textarea> i <input type='checkbox'>. <Textarea> powinno być stosowane do wprowadzania tekstu wielowierszowego, a checkboxy są idealne do prezentacji listy opcji, które mogą być niezależnie zaznaczone. Efekt czwarty przedstawia radiobuttony zamiast checkboxów, co całkowicie zmienia funkcję formularza. Warto w tym kontekście zrozumieć różnicę między radiobuttonami a checkboxami, gdzie pierwsze są używane do wyboru jednej z wielu opcji, a drugie do wielokrotnego wyboru. Kluczowe jest również poprawne stosowanie i testowanie formularzy w celu zapewnienia ich funkcjonalności i intuicyjności dla użytkownika końcowego.

Pytanie 15

Jakie formatowanie obramowania jest zgodne ze stylem border-style: dotted solid;?

Ilustracja do pytania
A. Formatowanie 4
B. Formatowanie 2
C. Formatowanie 3
D. Formatowanie 1
Obramowanie w CSS może mieć różne style, które wpływają na estetykę i funkcjonalność projektów webowych. Styl „dotted” oznacza kropkowane obramowanie, które nadaje elementom lekkość i subtelność. Z kolei „solid” oznacza jednolite, ciągłe obramowanie, zapewniające wyraźną separację. W przypadku mieszanych stylów, jak „border-style: dotted solid;”, mamy kombinację, która często stosowana jest dla efektu wizualnego, gdzie różne krawędzie mają różny charakter. Obramowanie typu „dashed” jest mylące dla „dotted”, ponieważ oba są przerywane, ale „dashed” jest bardziej surowe i strukturalne, używane, gdy potrzeba mniej subtelnych, lecz nadal nie ciągłych obramowań. Natomiast styl „double” jest złożony z dwóch linii równoległych, co tworzy elegancki, ale wyrazisty efekt, używany w celach dekoracyjnych. Typowym błędem jest nieodróżnianie tych stylów, co prowadzi do niezamierzonych efektów wizualnych. W praktyce, wybór stylu obramowania powinien być świadomy i dostosowany do kontekstu użytkowego oraz estetycznego, co ma kluczowe znaczenie w projektowaniu stron internetowych zgodnie z zasadami user experience.

Pytanie 16

Zestawienie dwóch kolorów leżących naprzeciw siebie w kole barw to zestawienie:

A. trójkątne
B. monochromatyczne
C. sąsiadujące (analogiczne)
D. dopełniające
Pozostałe schematy opisują inne układy kolorów na kole barw. Zestawienie trójkątne (triada) to trzy barwy rozmieszczone równomiernie (co 120°), a nie dwie naprzeciw siebie. Kolory sąsiadujące (analogiczne) leżą blisko siebie na kole i dają spokojne, harmonijne zestawienia. Monochromatyczne to różne odcienie i nasycenia jednej barwy. Dwa kolory leżące naprzeciw siebie tworzą zestawienie dopełniające, dlatego ta odpowiedź jest poprawna.

Pytanie 17

Które zapytanie wybierze z tabeli klient nazwiska zaczynające się na literę „Z” (o dowolnej długości)?

A.
SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';
B.
SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';
C.
SELECT nazwisko FROM klient WHERE nazwisko = 'Z?';
D.
SELECT nazwisko FROM klient WHERE nazwisko = 'Z_?';
Wyszukiwanie po fragmencie tekstu wymaga operatora LIKE i znaków wieloznacznych. Tu potrzebujemy nazwisk zaczynających się na „Z” o dowolnej dalszej części, czyli wzorca 'Z%', gdzie % zastępuje dowolny ciąg (także pusty): SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';. Dlatego ta kwerenda jest poprawna.

Pytanie 18

Na stronie internetowej zdefiniowano styl, który ma być stosowany tylko do określonych znaczników (takich jak niektóre nagłówki i wybrane akapity). W takim kontekście, aby przypisać styl do konkretnych elementów, najlepiej jest użyć

{ text-align: right; }
A. seletora akapitu
B. pseudoklasy
C. identyfikatora
D. klasy
Użycie selektora akapitu nie jest odpowiednie w sytuacji gdy chcemy przypisać styl tylko do niektórych znaczników tego typu ponieważ selektory takie jak p stylizują wszystkie elementy danego typu na stronie bez rozróżnienia Jeżeli chcemy stylizować tylko określone akapity musielibyśmy użyć klas lub identyfikatorów Identyfikator z kolei charakteryzuje się tym że powinien być unikalny dla każdego elementu na stronie Stosowanie identyfikatora do stylizowania grupy elementów naruszałoby zasadę unikalności co może prowadzić do problemów z walidacją HTML oraz trudności w przyszłej modyfikacji kodu Pseudoklasy są używane do stylizowania elementów w konkretnych stanach takich jak hover focus czy active i nie nadają się do przypisywania ogólnych stylów do grupy elementów Ich głównym przeznaczeniem jest reagowanie na interakcje użytkownika a nie stylizacja stała W kontekście pytania najlepszym podejściem jest użycie klas które pozwalają na przypisanie stylów dokładnie tam gdzie są potrzebne bez konieczności nadmiernego komplikowania kodu i naruszania dobrych praktyk Kod staje się bardziej elastyczny i łatwiejszy w zarządzaniu co jest kluczowe dla długoterminowego utrzymania projektu Krótko mówiąc klasy oferują najskuteczniejszy sposób na przypisanie stylu do określonych grup elementów zapewniając przy tym zgodność ze standardami i najlepsze praktyki w tworzeniu stron internetowych

Pytanie 19

Funkcja drzewo kontekstowe w edytorze WYSIWYG Adobe Dreamweaver ma na celu

A. określenie kaskadowych arkuszy stylów przypisanych do strony
B. prezentowanie interaktywnej struktury drzewa HTML dla treści statycznych i dynamicznych
C. przygotowanie szablonu witryny internetowej
D. stylizację tekstu za pomocą dostępnych znaczników
Drzewo kontekstowe w edytorze WYSIWYG Adobe Dreamweaver jest narzędziem, które umożliwia wizualne przedstawienie struktury HTML dokumentu. Użytkownicy mogą za jego pomocą łatwo nawigować po elementach strony, zarówno tych statycznych, jak i dynamicznych. Tego typu rozwiązanie jest nieocenione w procesie projektowania strony internetowej, ponieważ pozwala programistom na szybkie zrozumienie hierarchii elementów, co jest kluczowe dla efektywnego zarządzania kodem. Na przykład, podczas tworzenia złożonych stron internetowych z wieloma sekcjami, drzewa kontekstowe ułatwiają identyfikację i modyfikację poszczególnych komponentów, co może przyspieszyć proces tworzenia oraz debugowania. Dodatkowo, przestrzeganie dobrych praktyk, takich jak stosowanie semantycznych znaczników HTML i odpowiedniego formatowania kodu, może poprawić dostępność i SEO strony, co jest szczególnie ważne w kontekście konkurencji w internecie.

Pytanie 20

W jakim formacie powinien być zapisany obraz, aby mógł być wyświetlany na stronie internetowej z zachowaniem przezroczystości?

A. PNG
B. BMP
C. JPG
D. CDR
Format PNG (Portable Network Graphics) jest szeroko stosowany w sieci internetowej, ponieważ obsługuje przezroczystość, co jest kluczowe przy tworzeniu grafik, które mają być używane na stronach internetowych. Przezroczystość pozwala na nałożenie grafik na różne tła bez widocznych prostokątów czy kolorowych krawędzi, co znacznie poprawia estetykę oraz elastyczność projektów graficznych. PNG wykorzystuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas jego zapisywania, co jest istotne dla profesjonalnych projektów. Przykłady zastosowania formatu PNG obejmują ikony, logotypy oraz różnego rodzaju ilustracje, które muszą być wyświetlane na różnych tłach. W branży internetowej dobrym standardem jest używanie PNG do grafik wymagających przezroczystości, szczególnie w kontekście responsywnych projektów, gdzie różne elementy mogą mieć różne tła w zależności od urządzenia. Ponadto, PNG obsługuje kolor 24-bitowy oraz przezroczystość 8-bitową, co daje możliwość tworzenia bardziej złożonych efektów wizualnych. Zastosowanie tego formatu jest zgodne z dobrymi praktykami w projektowaniu stron, co czyni go preferowanym wyborem w wielu sytuacjach.

Pytanie 21

Którym znacznikiem osadzić kod CSS wewnątrz dokumentu HTML?

A.
<body>
B.
<head>
C.
<style>
D.
<meta>
Kod CSS osadza się wewnątrz dokumentu HTML w znaczniku <style>, umieszczanym zwykle w sekcji <head>. Reguły zapisane między <style> a </style> stylują elementy całej strony. Dlatego CSS osadza się znacznikiem <style>.

Pytanie 22

Jak nazywa się edytor stron, którego działanie tłumaczy się jako „otrzymujesz to, co widzisz”?

A. WEB STUDIO
B. WYSIWYG
C. IDE
D. VISUAL EDITOR
Pozostałe nazwy nie pasują. IDE to zintegrowane środowisko programistyczne (pisze się w nim kod), a „WEB STUDIO” i „VISUAL EDITOR” to nazwy ogólne, nie określające tej zasady działania. Edytor z podglądem efektu to WYSIWYG.

Pytanie 23

Za pomocą podanego zapytania w tabeli zostanie wykonane

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. Została zmieniona nazwa kolumny z nazwa1 na nazwa2.
B. Dodana kolumna nazwa2 o typie zmiennoprzecinkowym.
C. Dodana kolumna nazwa2, która nie przyjmuje wartości domyślnej.
D. Zmieniono typ kolumny nazwa2 na DOUBLE.
Poprawna odpowiedź, czyli dodanie kolumny nazwa2 typu zmiennoprzecinkowego (DOUBLE), jest zgodna z poleceniem przedstawionym w zapytaniu SQL. Instrukcja ALTER TABLE jest używana do modyfikacji istniejącej tabeli, a w tym przypadku dodajemy nową kolumnę. Typ DOUBLE oznacza zmiennoprzecinkową reprezentację liczb, co jest przydatne w sytuacjach, gdy potrzebujemy precyzyjnie przechowywać wartości liczbowe z ułamkami, takie jak ceny, wyniki pomiarów czy dane statystyczne. W praktyce, użycie zmiennoprzecinkowego typu danych jest standardową praktyką w bazach danych, kiedy musimy operować na liczbach, które mogą mieć wartości dziesiętne. Dodatkowo, opcja NOT NULL zapewnia, że kolumna ta zawsze będzie miała przypisaną wartość, co przyczynia się do integralności danych w bazie. Zastosowanie takiego rozwiązania jest niezbędne w wielu aplikacjach, gdzie precyzyjne obliczenia są kluczowe, na przykład w systemach finansowych czy analizach danych.

Pytanie 24

Aby zwiększyć wydajność operacji na bazie danych dla pól często używanych w wyszukiwaniu lub sortowaniu, należy:

A. dodać więzy integralności
B. utworzyć indeks
C. utworzyć osobną tabelę na te pola
D. dodać klucz obcy
Indeks to dodatkowa struktura bazy, która działa jak skorowidz w książce: zamiast przeglądać cały zbiór wierszy, baza sięga do uporządkowanego spisu i szybko odnajduje szukane wartości. Dlatego dla kolumn często występujących w warunkach WHERE, sortowaniu czy złączeniach zakłada się indeksy - przyspieszają odczyt nawet wielokrotnie. Trzeba pamiętać, że indeksy nieco spowalniają zapis i zajmują miejsce, więc zakłada się je świadomie, na właściwych polach. Do poprawy wydajności wyszukiwania służy właśnie indeks.

Pytanie 25

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. parzystej.
B. najmniejszej.
C. nieparzystej.
D. największej.
Wybór innej odpowiedzi niż 'największa' sugeruje, że nie do końca rozumiesz logikę warunków logicznych w kodzie PHP. Fragment kodu na zdjęciu analizuje wartości trzech zmiennych i wypisuje największą z nich, nie mając nic wspólnego z tym, czy liczba jest parzysta czy nieparzysta. Tego typu warunki byłyby realizowane przy użyciu operatorów matematycznych, takich jak modulo (%). Również wybór 'najmniejsza' jako odpowiedzi sugeruje niezrozumienie, ponieważ kod wyraźnie porównuje zmienne i wypisuje największą, a nie najmniejszą. Jest to częsty błąd, powodowany przez niezrozumienie zasady działania warunków w językach programowania. Zrozumienie, jak porównywane są zmienne i jakie są rezultaty tych porównań, jest kluczowe dla efektywnego tworzenia kodu i rozwiązywania problemów programistycznych.

Pytanie 26

Wskaż poprawne stwierdzenie dotyczące poniższej definicji stylu:

<style>
<!--
P{color:blue; font-size:14pt; font-style:italic}
A{font-size: 16pt ; text-transform:lowercase;}
TD.niebieski {color: blue}
TD.czerwony {color: red}
-->
</style>
A. To jest styl lokalny
B. Odnośnik będzie napisany czcionką 14 punktów
C. Akapit będzie konwertowany na małe litery
D. Określono dwie kategorie
Styl lokalny to takie style, które dodaje się bezpośrednio w plikach HTML, często w tagu style lub jako atrybut style w elementach HTML. W tym przypadku mamy do czynienia z osobnym blokiem CSS, więc nie jest to styl lokalny. Co do rozmiaru czcionki linku, to stwierdzenie, że ma 14 punktów, jest błędne. W kodzie CSS widzimy, że rozmiar czcionki dla elementu P to 14 punktów, ale dla elementu A jest ustawiony na 16 punktów. Często takie nieporozumienia wynikają z tego, że nie analizuje się dokładnie kodu źródłowego albo myli się różne selektory. Odnośnie transponowania akapitu na małe litery, to też nie jest poprawne, bo właściwość text-transform: lowercase dotyczy odnośników, nie akapitów. W nauce o CSS ważne jest, żeby dobrze rozumieć zasady działania i umieć rozróżniać, które selektory i właściwości stosują się do konkretnych elementów HTML. To wymaga praktyki i dokładnej analizy kodu. Zrozumienie tych rzeczy jest kluczowe w pracy nad stronami internetowymi, bo pozwala na efektywne zarządzanie stylami. Dobrze stosowane style to podstawa dla każdego, kto zajmuje się tworzeniem i utrzymywaniem stron, żeby wszystko wyglądało spójnie i działało jak trzeba.

Pytanie 27

Określ wynik działania załączonego kodu PHP, przy założeniu, że zmienna tab jest tablicą.

$tab = explode(", ", "jelenie,sarny,dziki,lisy,borsuki");
echo $tab[1]." ".$tab[2];
A. jelenie sarny
B. lisy borsuki
C. dziki lisy
D. sarny dziki
Zgadza się, Twoja odpowiedź jest właściwa. W tym kodzie PHP używamy funkcji 'explode()', żeby zamienić ciąg znaków na tablicę, używając przecinków do rozdzielenia. Potem, dwa elementy z tej tablicy, czyli drugi i trzeci, są wypisywane. Wynik tego kodu będzie różny w zależności od tego, co mamy w tablicy 'tab'. Dla tego przykładu, poprawna odpowiedź to 'sarny dziki'. Możemy przypuszczać, że po użyciu 'explode()' tablica wygląda tak: ['jakiś_element', 'sarny', 'dziki', ...]. To naprawdę przydatna funkcjonalność, zwłaszcza kiedy musimy przetwarzać dane od użytkownika lub z pliku. Funkcję 'explode()' często spotykamy w PHP, gdy bawi się z ciągami, i to dobry sposób na ich manipulację.

Pytanie 28

Do czego służy w PHP funkcja trim()?

A. do skracania tekstu o podaną liczbę znaków
B. do wyświetlania części wspólnej dwóch tekstów
C. do podawania długości tekstu
D. do usuwania białych (lub podanych) znaków z obu końców tekstu
Funkcja trim() usuwa białe znaki (spacje, tabulatory, znaki nowej linii) z OBU końców tekstu - a po podaniu drugiego argumentu także wskazane znaki. Dlatego trim() usuwa białe lub podane znaki z obu końców tekstu.

Pytanie 29

Na zakończenie dnia w bazie danych sklepu spożywczego generowany jest raport, który pokazuje produkty wraz z ich dostawcami, dla których liczba sztuk w magazynie jest poniżej 10. Do stworzenia tego raportu użyto kwerendy

A. CHECK TABLE
B. INSERT INTO
C. UPDATE
D. SELECT
Wybór instrukcji UPDATE, INSERT INTO oraz CHECK TABLE jako metod do generowania raportu w bazie danych jest niepoprawny. Instrukcja UPDATE służy do modyfikacji istniejących danych w tabeli, co oznacza, że nie można jej użyć do wyświetlania informacji. Gdyby użytkownik spróbował użyć UPDATE do generowania raportu, mógłby nieumyślnie zmienić wartości w bazie danych, co jest sprzeczne z zamierzeniem uzyskania jedynie informacji. Z kolei INSERT INTO jest używane do dodawania nowych rekordów do bazy danych i również nie ma zastosowania w kontekście generowania raportów. Ta instrukcja nie tylko nie udostępnia żadnych informacji o istniejących danych, ale także może prowadzić do nieporozumień, gdyż wprowadza nowe dane zamiast ich przeszukiwać. Natomiast CHECK TABLE jest instrukcją używaną do sprawdzania integralności tabeli w bazie danych i nie ma związku z pobieraniem danych ani ich wyświetlaniem. Z tego powodu, wszystkie te trzy odpowiedzi są nieodpowiednie w kontekście tworzenia raportu w bazie danych, ponieważ każda z nich działa na zupełnie innych zasadach niż SELECT, który jest właściwym narzędziem do przeszukiwania i wyświetlania danych.

Pytanie 30

Co wyświetli kod PHP:

echo date('Y');
?
A. rok
B. dzień i miesiąc
C. miesiąc i rok
D. dzień
Funkcja date() formatuje datę wg podanego wzorca, a litera 'Y' oznacza ROK czterocyfrowo (np. 2026). Dlatego echo date('Y'); wyświetli rok.

Pytanie 31

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

A. Progowanie.
B. Inwersja.
C. Barwienie.
D. Krzywe.
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 32

Który zapis CSS ustawi punktor listy NUMEROWANEJ na wielkie cyfry rzymskie, a PUNKTOWANEJ na kwadraty?

A.
ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
B.
ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }
C.
ol { list-style-type: square; } ul { list-style-type: upper-roman; }
D.
ol { list-style-type: upper-roman; } ul { list-style-type: square; }
Rodzaj punktora ustawia list-style-type. Dla listy numerowanej <ol> wielkie cyfry rzymskie to upper-roman, a dla punktowanej <ul> kwadraty to square. Dlatego poprawny jest ol { list-style-type: upper-roman; } ul { list-style-type: square; }.

Pytanie 33

Jak w JavaScript zmienić wartość WŁAŚCIWOŚCI CSS elementu (opisanego stylem)?

A.
document.getElementById(id).style.<właściwość> = <wartość>
B.
document.getElementById(id).innerHTML = <wartość>
C.
document.getElementById(id).<atrybut> = <wartość>
D.
document.getElementById(id).<właściwość> = <wartość>
Aby z poziomu JavaScriptu zmienić właściwość CSS elementu, sięga się do jego obiektu style i podaje nazwę właściwości: document.getElementById(id).style.color = "red";. Obiekt style reprezentuje style inline elementu. Dlatego poprawny jest zapis ze style.<właściwość>.

Pytanie 34

Do czego stosuje się zapytanie z klauzulą JOIN?

A. do uzyskania danych z dwóch powiązanych tabel
B. do wywołania funkcji agregującej
C. do uzyskania wyniku z jednej tabeli
D. do zdefiniowania klucza obcego
Klauzula JOIN łączy wiersze z DWÓCH (lub więcej) powiązanych tabel na podstawie wspólnego warunku (zwykle klucz obcy = klucz główny), zwracając dane z obu naraz. Dlatego JOIN służy do uzyskania danych z powiązanych tabel.

Pytanie 35

Jakie będzie działanie po naciśnięciu przycisku oznaczonego jako "niebieski", który uruchamia podany kod JavaScript?

<p id="para1">Przykładowy tekst</p><p> i skrypt</p>
<button onClick="changeColor('blue');">niebieski</button>

<script type="text/javascript">
function changeColor(newColor)
{
var elem = document.getElementById("para1");
elem.style.color = newColor;
}
</script>
A. Zmiana koloru tekstu "i skrypt" na niebieski
B. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
C. Zmiana barwy przycisku na niebieski
D. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
Przy analizie działania kodu przedstawionego w pytaniu istotne jest zrozumienie jak JavaScript oddziałuje z elementami DOM (Document Object Model). Istnieje powszechne nieporozumienie polegające na założeniu że funkcje JavaScript automatycznie działają na wszystkie elementy o podobnej treści. W rzeczywistości kod używa metody document.getElementById która jednoznacznie identyfikuje element na podstawie jego unikalnego Id. W omawianym przypadku odnosi się to do elementu paragrafu z identyfikatorem para1. Pozostałe fragmenty tekstu takie jak i skrypt nie są objęte tym działaniem gdyż nie są częścią identyfikowanego elementu. Popularnym błędem jest również zakładanie że przycisk zmienia swój własny kolor styli po naciśnięciu co w tym przypadku nie ma miejsca ponieważ kod bezpośrednio modyfikuje jedynie własności stylu określonego elementu przez jego Id. Warto zwrócić uwagę że dla złożonych manipulacji DOM w kontekście większych aplikacji webowych używa się bardziej zaawansowanych technik jak selektory CSS lub biblioteki takie jak jQuery które umożliwiają selekcję wielu elementów jednocześnie. Zrozumienie tych podstawowych zasad jest kluczowe dla poprawnego rozumienia i implementacji funkcji JavaScript w nowoczesnych aplikacjach webowych i zgodne z najlepszymi praktykami w branży.

Pytanie 36

Aby uzyskać akapit, w którym słowo „zaznaczony” jest wyróżnione znacznikiem <mark>, a słowo „istotny” oznaczone jako ważne <em> - z poprawnym otwarciem i zamknięciem znaczników - należy zastosować kod:

A.
<p>Tekst może być <mark>zaznaczony albo <em>istotny</em> dla autora</mark></p>
B.
<p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny dla autora</p>
C.
<p>Tekst może być <mark>zaznaczony albo <i>istotny</i> dla autora</mark></p>
D.
<p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
Poprawny kod to
<p>Tekst może być <mark>zaznaczony</mark> albo <em>istotny</em> dla autora</p>
Każdy znacznik obejmuje dokładnie to słowo, którego dotyczy: <mark> wyróżnia „zaznaczony”, a <em> oznacza „istotny” jako ważny - i oba są zamknięte. Znaczniki nie zachodzą też na siebie nieprawidłowo. Dlatego ta wersja jest poprawna.

Pytanie 37

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. klucz podstawowy.
B. klucz obcy.
C. relację 1:1.
D. relację 1:N.
Skrót FK1 na diagramie ER oznacza klucz obcy (ang. foreign key) i jest to dokładnie to, co powinno łączyć tabelę Zamówienia z tabelą Klienci. W relacyjnych bazach danych klucz obcy to atrybut lub zestaw atrybutów, który wskazuje na klucz podstawowy w innej tabeli. Dzięki temu baza danych wie, że konkretne zamówienie należy do konkretnego klienta. W twoim diagramie pole NR_klienta w tabeli Zamówienia jest oznaczone jako FK1, czyli jest kluczem obcym odwołującym się do NR_klienta będącego kluczem podstawowym (PK) w tabeli Klienci. To jest klasyczny przykład relacji 1:N – jeden klient może mieć wiele zamówień, a każde zamówienie jest powiązane z dokładnie jednym klientem. W praktyce, w SQL, taka relacja jest definiowana mniej więcej tak: `FOREIGN KEY (NR_klienta) REFERENCES Klienci(NR_klienta)`. Taka definicja pozwala silnikowi bazy danych pilnować spójności referencyjnej, czyli np. nie pozwoli wstawić zamówienia z numerem klienta, który nie istnieje w tabeli Klienci, ani usunąć klienta, do którego wciąż istnieją zamówienia (chyba że jawnie zdefiniujemy CASCADE). Z mojego doświadczenia poprawne używanie kluczy obcych bardzo upraszcza później raportowanie, łączenie tabel w zapytaniach JOIN i ogólnie utrzymanie porządku w bazie. W modelowaniu ER oznaczenie FK wraz z numerem (FK1, FK2 itd.) to po prostu sposób na jednoznaczne nazwanie konkretnych kluczy obcych, gdy w systemie jest ich więcej. W dobrze zaprojektowanych bazach danych zawsze warto jawnie definiować foreign key, zamiast tylko „ufać”, że aplikacja będzie podawała poprawne dane – to jest po prostu dobra praktyka i standard w profesjonalnych projektach.

Pytanie 38

Podane w ramce polecenie SQL nadaje prawo SELECT

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika 'root' na serwerze localhost.
B. dla użytkownika 'root' na serwerze sprzedawca.
C. do wszystkich pól w tabeli hurtownia.
D. do wszystkich tabel w bazie hurtownia.
To polecenie GRANT jest typowym przykładem, gdzie drobny szczegół składni całkowicie zmienia znaczenie. Wiele osób intuicyjnie myśli, że skoro pojawia się nazwa hurtownia, to chodzi o tabelę o takiej nazwie, albo że skoro często pracuje się na koncie root, to uprawnienia dotyczą właśnie jego. Tutaj jednak kluczowe są dwie rzeczy: zapis hurtownia.* oraz dokładna forma 'sprzedawca'@'localhost'.
W MySQL konstrukcja nazwa_bazy.* jednoznacznie oznacza całą bazę danych, czyli wszystkie tabele znajdujące się w tej bazie. Gwiazdka nie oznacza „wszystkich pól w tabeli”, jak w SELECT * FROM tabela; tylko „wszystkie obiekty danego typu w tym kontekście”, czyli w tym wypadku wszystkie tabele w bazie hurtownia. Błąd myślowy bierze się stąd, że ludzie przenoszą swoje skojarzenia z SELECT * na GRANT, a to są jednak różne miejsca w składni SQL.
Jeśli chcielibyśmy nadać uprawnienie tylko do jednej tabeli, używamy zapisu nazwa_bazy.nazwa_tabeli, bez gwiazdki. Na przykład GRANT SELECT ON hurtownia.klienci TO 'sprzedawca'@'localhost'; dotyczyłoby tylko tabeli klienci. Wtedy dopiero można by mówić o dostępie do wszystkich pól w tej konkretnej tabeli, bo SELECT z założenia domyślnie widzi wszystkie kolumny, chyba że zastosujemy uprawnienia na poziomie kolumn, co jest już bardziej zaawansowanym tematem.
Druga częsta pomyłka to utożsamianie każdego polecenia GRANT z użytkownikiem root. W MySQL użytkownik jest identyfikowany przez parę login@host. W naszym przykładzie stoi tam wyraźnie 'sprzedawca'@'localhost', więc nie ma tu żadnego roota. Gdyby chodziło o konto root, składnia musiałaby wyglądać np. 'root'@'localhost'. Co więcej, host sprzedawca w ogóle nie występuje w tym poleceniu – pojawia się tylko jako nazwa użytkownika. To powoduje czasem dodatkowe zamieszanie: ktoś widzi słowo sprzedawca i myśli, że to nazwa serwera, a localhost to użytkownik, co jest całkowicie odwrotnie.
Z punktu widzenia dobrych praktyk administracji bazą danych, nadawanie uprawnień rootowi poleceniem GRANT w aplikacjach produkcyjnych jest zresztą złym pomysłem. Standardem jest tworzenie osobnych kont, takich jak sprzedawca, księgowy czy aplikacja_web, z precyzyjnie dobranymi uprawnieniami do konkretnych baz. Wtedy dokładnie wiemy, kto może co czytać i modyfikować. Z mojego doświadczenia wynika, że większość problemów z bezpieczeństwem wynika właśnie z używania zbyt szerokich uprawnień, głównie konta root tam, gdzie absolutnie nie jest potrzebne.
Podsumowując: to polecenie nie nadaje dostępu do „wszystkich pól w tabeli hurtownia”, bo hurtownia jest tu bazą, a nie tabelą. Nie dotyczy też użytkownika root ani żadnego serwera o nazwie sprzedawca. Nadaje ono prawo SELECT do wszystkich tabel w bazie hurtownia konkretnemu użytkownikowi o nazwie sprzedawca, który łączy się z hosta localhost. Zrozumienie tej składni jest kluczowe przy zarządzaniu uprawnieniami w MySQL i ogólnie w systemach baz danych.

Pytanie 39

Wartość kolumny w tabeli, która działa jako klucz podstawowy

A. jest zawsze w formacie numerycznym
B. musi być unikalna
C. jest wykorzystywana do szyfrowania treści tabeli
D. może mieć wartość pustą (NULL)
Wartość pola tabeli pełniącego rolę klucza podstawowego musi być unikalna, ponieważ klucz podstawowy identyfikuje jednoznacznie każdy rekord w tabeli bazy danych. To oznacza, że żadna z wartości w tym polu nie może się powtarzać, co zapewnia integralność danych. Przykładem zastosowania klucza podstawowego jest identyfikator użytkownika (UserID) w tabeli z danymi użytkowników; każdy użytkownik ma przypisany unikalny identyfikator, co umożliwia jednoznaczną identyfikację jego danych. Standardy relacyjnych baz danych, takie jak SQL, nakładają te wymagania na klucze podstawowe, co jest kluczowe dla prawidłowego działania relacji między tabelami. Dobre praktyki w projektowaniu baz danych sugerują, aby klucze podstawowe były nie tylko unikalne, ale także stabilne (czyli nie zmieniały się w czasie), co ułatwia zarządzanie danymi i ich integrację w systemie. W przypadku naruszenia zasady unikalności klucza podstawowego mogą wystąpić problemy z integralnością referencyjną, co sprawia, że niemożliwe staje się prawidłowe powiązanie rekordów w różnych tabelach.

Pytanie 40

Aby zrealizować podane czynności w JavaScript, należy w znaczniku <script> umieścić poniższy kod

  1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikacje: ", następnie po zatwierdzeniu
  2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się wartość pobrana z okna "Kwalifikacja: ..."
A. A = alert("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
B. A << prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
C. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: ".A)
D. A = prompt("Podaj kwalifikację: "); document.write("Kwalifikacja: " + A)
Funkcja prompt() jest kluczowym elementem do interakcji z użytkownikiem w JavaScript. Próba przypisania wartości za pomocą operatora przesunięcia bitowego << jest błędna, ponieważ ten operator służy do manipulacji bitami liczby, a nie do przypisania wartości w kontekście prompt(). Użycie alert() zamiast prompt() wprowadza użytkownika w błąd, ponieważ alert() wyłącznie wyświetla komunikat i nie zwraca wartości, która mogłaby być przypisana do zmiennej. Ponadto próba konkatenacji za pomocą operatora kropki w JavaScript jest niewłaściwa, ponieważ JavaScript używa operatora + do łączenia ciągów tekstowych. Tego rodzaju błędne koncepcje prowadzą do niepoprawnego rozumienia podstawowych operacji w JavaScript i mogą utrudniać efektywne tworzenie dynamicznych aplikacji webowych. W kontekście dobrych praktyk, ważne jest, aby stosować właściwe operatory i funkcje zgodnie z ich przeznaczeniem. Należy również zaznaczyć, że stosowanie document.write() jest ograniczone do prostych przypadków i w bardziej złożonych scenariuszach zaleca się manipulację DOM poprzez bezpośrednie modyfikacje struktur HTML, co zapewnia większą kontrolę nad zawartością strony i minimalizuje ryzyko nadpisywania istotnych danych.