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: 8 czerwca 2026 18:52
  • Data zakończenia: 8 czerwca 2026 19:10

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Zawarta baza danych składa się z trzech tabel oraz dwóch relacji. Aby uzyskać informacje o wszystkich lekarzach przypisanych do wybranego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Recepty.id
B. Lekarze.id = Pacjenci.id
C. Lekarze.id = Pacjenci.Lekarze_id
D. Lekarze.id = Pacjenci.Recepty_id
Odpowiedź Lekarze.id = Pacjenci.Lekarze_id jest poprawna, ponieważ w bazach danych relacyjne połączenie między tabelami jest realizowane przez klucze obce. Tabela Pacjenci zawiera kolumnę Lekarze_id, która jest kluczem obcym odnoszącym się do kolumny id w tabeli Lekarze. Dzięki temu połączeniu możemy określić, który lekarz jest przypisany do danego pacjenta. W praktyce oznacza to, że możemy wykonywać zapytania SQL, które łączą te tabele i wyświetlają dane wszystkich lekarzy przypisanych do konkretnego pacjenta. Przykładowe zapytanie SELECT może wyglądać tak SELECT Lekarze.imie Lekarze.nazwisko FROM Pacjenci INNER JOIN Lekarze ON Pacjenci.Lekarze_id = Lekarze.id WHERE Pacjenci.id = [id_pacjenta]. Takie podejście jest zgodne z dobrymi praktykami projektowania baz danych zgodnie z zasadami normalizacji co zwiększa spójność i integralność danych. Poprawne użycie kluczy obcych jest fundamentalne w kontekście zarządzania relacjami między danymi oraz umożliwia przeprowadzanie bardziej złożonych analiz danych z różnych tabel w sposób wydajny i bezpieczny.

Pytanie 2

Oznaczenie barwy w postaci #FF00E0 jest równoważne zapisowi

A. rgb(255, 0, 224)
B. rgb(FF, 0, E0)
C. rgb(F, 0, E0)
D. rgb(255, 0, 128)
Oznaczenie #FF00E0 to zapis koloru w systemie szesnastkowym (hex), bardzo typowym w CSS i ogólnie w tworzeniu interfejsów. Składa się ono z trzech par znaków: FF (czerwony), 00 (zielony), E0 (niebieski). Każda para to jedna składowa kanału RGB zapisana w systemie szesnastkowym, czyli w bazie 16. Zakres dla każdej składowej to od 00 do FF, co odpowiada wartościom dziesiętnym od 0 do 255.

FF w systemie szesnastkowym to 15×16 + 15 = 255 w systemie dziesiętnym. 00 to po prostu 0. Natomiast E0 to 14×16 + 0 = 224. Dlatego zapis #FF00E0 jest równoważny rgb(255, 0, 224). To jest dokładnie ten sam kolor, tylko zapisany w innym formacie. W CSS możesz używać obu zapisów zamiennie: np. `color: #FF00E0;` oraz `color: rgb(255, 0, 224);` dadzą identyczny efekt w przeglądarce.

W praktyce, przy projektowaniu stron i interfejsów, warto rozumieć oba zapisy, bo narzędzia graficzne (Photoshop, GIMP, Figma) często podają kolory w hex, a dokumentacja front-endowa i tutoriale bardzo często używają rgb() albo nawet rgba(). Dobra praktyka w branży jest taka, żeby umieć szybko w głowie lub z pomocą prostego kalkulatora przeliczyć wartości hex na dziesiętne, szczególnie przy drobnych korektach kolorów. Moim zdaniem świadomość, że hex to po prostu inna reprezentacja tych samych liczb 0–255, bardzo ułatwia później rozumienie gradientów, filtrów, a nawet pracy z kolorami w JavaScript, gdzie możesz programowo generować wartości rgb().

Pytanie 3

Ograniczanie dostępu do niektórych pól lub metod obiektów danej klasy, tak aby mogły być one wykorzystywane wyłącznie przez wewnętrzne metody tej klasy lub funkcje zaprzyjaźnione, to

A. konkatenacja
B. hermetyzacja
C. polimorfizm
D. dziedziczenie
Dziedziczenie to mechanizm, który pozwala na tworzenie nowych klas na podstawie już istniejących, co umożliwia ponowne wykorzystanie kodu i wprowadzanie hierarchii w projektach, jednak nie ma nic wspólnego z ukrywaniem pól i metod. W dziedziczeniu, klasy pochodne dziedziczą właściwości i metody klas bazowych, co sprawia, że możliwe jest ich wykorzystanie, a nie ukrycie. Kolejną koncepcją jest konkatenacja, która w kontekście programowania nie odnosi się do hermetyzacji, lecz do łączenia ciągów tekstowych, co nie ma zastosowania przy ukrywaniu danych w klasach. Polimorfizm natomiast to zdolność obiektów do przyjmowania wielu form, co jest związane z interfejsami i dziedziczeniem, ale również nie dotyczy hermetyzacji. Typowym błędem myślowym jest mylenie tych pojęć z hermetyzacją, ponieważ wszystkie one są fundamentami programowania obiektowego, lecz służą różnym celom. Zrozumienie tego rozróżnienia jest istotne dla prawidłowego stosowania technik programistycznych i wdrażania efektywnych rozwiązań w praktyce.

Pytanie 4

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
B. wszystkie operacje na tabelach bazy dane.
C. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
D. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
Prawidłowo zauważyłeś, że użytkownikowi Jan przypisano wszystkie uprawnienia (GRANT ALL PRIVILEGES) na bazie danych o nazwie 'dane.*'. Przyznanie pełnych uprawnień obejmuje możliwość tworzenia, modyfikowania, usuwania tabel, jak również manipulowania danymi w tych tabelach. W praktyce oznacza to, że Jan ma pełną kontrolę nad bazą danych. Jest to możliwe dzięki konstrukcji GRANT, która jest standardem w zarządzaniu uprawnieniami w relacyjnych bazach danych. Pozwala ona na precyzyjne definiowanie, jakie operacje może wykonywać dany użytkownik. Taka granularna kontrola jest kluczowa dla bezpieczeństwa systemów bazodanowych. Pamiętaj, że nadawanie pełnych uprawnień jest odpowiednie jedynie w sytuacjach, gdy użytkownik jest całkowicie zaufany - w innym przypadku, powinno się ograniczyć uprawnienia do tych, które są niezbędne do wykonania pewnych zadań.

Pytanie 5

Aby obraz na stronie automatycznie dopasowywał się do rozmiaru ekranu, na którym strona jest wyświetlana, należy:

A. jeden z wymiarów ustawić w pikselach
B. jego szerokość ustawić w wartościach procentowych
C. oba jego wymiary ustawić w pikselach
D. nie zmieniać jego wymiarów stylami CSS
Pozostałe sposoby nie dają responsywności. Ustawienie obu wymiarów (lub jednego) w pikselach daje stały rozmiar - na małym ekranie obraz nie zmaleje i może wystawać poza widok. Pozostawienie obrazu bez stylów sprawia, że zachowuje on swoje oryginalne, sztywne wymiary, więc również nie dopasuje się do urządzenia. Aby obraz skalował się płynnie do szerokości ekranu, jego szerokość podaje się w procentach (np. width: 100%), dlatego to ta odpowiedź jest poprawna.

Pytanie 6

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

A. analizę wybranych danych
B. aktualizowanie danych w tabelach
C. dodawanie danych do tabel
D. usuwanie danych z tabel
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

Przed przystąpieniem do tworzenia kopii zapasowej bazy danych, aby była ona poprawna i zdatna do późniejszego przywrócenia, konieczne jest sprawdzenie

A. spójności bazy danych
B. uprawnień dostępu do serwera bazy danych
C. poprawności składni zapytań
D. opcji udostępnienia bazy danych
Spójność bazy danych to kluczowy aspekt, który należy sprawdzić przed wykonaniem kopii bezpieczeństwa. Oznacza to, że wszystkie dane w bazie muszą być zgodne z ustalonymi regułami i zapewniać prawidłowe relacje między różnymi tabelami oraz rekordami. Na przykład, jeżeli w bazie danych znajdują się relacje między tabelami, to każda referencja musi wskazywać na istniejący rekord. W praktyce, przed wykonaniem kopii zapasowej, administratorzy często przeprowadzają operacje takie jak walidacja danych, aby upewnić się, że nie ma błędów, które mogłyby prowadzić do nieprawidłowych wyników po przywróceniu danych. Dobre praktyki w zarządzaniu bazami danych, takie jak regularne wykonywanie kontroli spójności oraz audytów danych, pomagają zminimalizować ryzyko problemów z danymi. Warto również korzystać z narzędzi automatyzacyjnych, które mogą wykrywać niezgodności w danych, co znacznie ułatwia proces przed wykonaniem kopii zapasowej.

Pytanie 8

Instrukcję transakcyjną ROLLBACK wydaje się, aby:

A. cofnąć transakcję już po wykonaniu COMMIT
B. zatwierdzić transakcję
C. zatwierdzić tylko wybrane zmiany transakcji
D. cofnąć (wycofać) zmiany wykonane w transakcji
Transakcja to zbiór operacji wykonywanych „wszystko albo nic”. Instrukcja ROLLBACK wycofuje wszystkie zmiany dokonane od początku transakcji, przywracając bazę do stanu sprzed niej - stosuje się ją, gdy w trakcie coś pójdzie nie tak i nie chcemy zapisać częściowych modyfikacji. Przeciwieństwem jest COMMIT, który zmiany zatwierdza na stałe. Można też cofnąć się tylko do oznaczonego miejsca poleceniem ROLLBACK TO SAVEPOINT. Dlatego ROLLBACK służy do cofnięcia działania transakcji.

Pytanie 9

W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
A. ulicy i miasta ze wszystkich zwróconych rekordów.
B. miasta i kodu pocztowego z pierwszego zwróconego rekordu.
C. miasta i kodu pocztowego ze wszystkich zwróconych rekordów.
D. ulicy i miasta z pierwszego zwróconego rekordu.
Niestety, wybrałeś niepoprawną odpowiedź. W twoim fragmencie kodu PHP, wykonujesz zapytanie SQL, które wybiera kolumny 'ulica', 'miasto', 'kod pocztowy' z tabeli 'adresy'. Następnie używasz funkcji mysqli_fetch_row(), która pobiera pierwszy zwrócony rekord jako indeksowaną tablicę. Funkcja echo wyświetla drugi i trzeci element tej tablicy (indeksy 1 i 2), które odpowiadają kolumnom 'miasto' i 'kod pocztowy'. Niepoprawne odpowiedzi sugerują, że twój kod wypisze 'ulicę i miasto' lub 'miasto i kod pocztowy' ze wszystkich zwróconych rekordów, co jest nieprawdą. Niezrozumienie, jak funkcje PHP działają z MySQL i jaki jest ich wynik, może prowadzić do poważnych błędów w kodzie. Wskazane jest dokładne zrozumienie, jakie dane są zwracane przez SQL i jak je przetwarzać w PHP.

Pytanie 10

Metainformacja „Description” zawarta w pliku źródłowym HTML powinna zawierać

<head>
    <meta name="description" content="...">
</head>
A. opis tego, co znajduje się na stronie.
B. informację o tym, kto jest autorem strony.
C. wyrazy kluczowe, z których korzystają wyszukiwarki sieciowe.
D. nazwę programu, przy użyciu którego została stworzona strona.
Poprawna odpowiedź to 'opis, co znajduje się na stronie'. Metainformacja 'Description' w pliku źródłowym HTML jest wykorzystywana przez wyszukiwarki internetowe do wyświetlania opisu strony w wynikach wyszukiwania. Dzięki temu użytkownik może zobaczyć na pierwszy rzut oka, czy strona jest związana z jego zapytaniem, czy też nie. Jest to jedno z kluczowych narzędzi w SEO (Search Engine Optimization), które ma na celu zwiększenie widoczności strony w wynikach wyszukiwania. W praktyce, opis powinien być krótki, zwięzły i zawierać ważne informacje o treści strony. Dobrą praktyką jest również uwzględnienie kluczowych słów, na które użytkownicy mogą szukać. Opis ten powinien być zrozumiały dla użytkowników, a także jest to miejsce, gdzie można wykorzystać strategie marketingowe, aby zachęcić do odwiedzenia strony.

Pytanie 11

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr:hover { background-color: Pink; }
D. tr { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 12

Które dane zostaną wybrane w wyniku działania kwerendy na przedstawionych rekordach?

SELECT id FROM samochody WHERE rocznik LIKE "2%4";
idmarkamodelrocznik
1FiatPunto2016
2FiatPunto2002
3FiatPunto2007
4OpelCorsa2016
5OpelAstra2003
6ToyotaCorolla2016
7ToyotaCorolla2014
8ToyotaYaris2004
A. Identyfikatory równe 7 oraz 8.
B. Wszystkie identyfikatory.
C. Brak danych.
D. Tylko identyfikator równy 8.
Prawidłowa odpowiedź wskazuje, że w wyniku działania kwerendy zostaną wybrane rekordy z id równymi 7 oraz 8, ponieważ oba te roczniki zaczynają się cyfrą 2 i kończą na 4, co spełnia warunek LIKE '2%4'. W SQL operator LIKE umożliwia wyszukiwanie wzorców w danych tekstowych i jest bardzo użyteczny w sytuacjach, gdy nieznana jest pełna wartość, a tylko jej część. W praktycznych aplikacjach, takich jak systemy zarządzania bazami danych, często stosuje się ten operator do filtrowania wyników na podstawie niepełnych informacji. Na przykład, jeżeli chciałbyś zidentyfikować wszystkie pojazdy z określonym rocznikiem, użycie LIKE może szybko zawęzić wyniki. Używanie tego operatora w połączeniu z innymi funkcjami SQL, jak GROUP BY czy JOIN, pozwala na kompozycję bardziej złożonych zapytań, co jest standardem w analityce danych.

Pytanie 13

Jakie informacje można uzyskać na temat normalizacji tej tabeli?

Ilustracja do pytania
A. Tabela znajduje się w trzeciej postaci normalnej
B. Tabela nie jest znormalizowana
C. Tabela znajduje się w pierwszej postaci normalnej
D. Tabela jest w drugiej postaci normalnej
Tabela nie jest znormalizowana ponieważ zawiera nieatomowe wartości w kolumnie Adres. Wartości te składają się z kilku elementów takich jak ulica kod pocztowy i miasto co jest sprzeczne z zasadą atomowości wymaganą w pierwszej postaci normalnej (1NF). Normalizacja danych jest kluczowym krokiem w projektowaniu baz danych mającym na celu eliminację redundancji i poprawę integralności danych. W praktyce dla osiągnięcia pierwszej postaci normalnej każda kolumna w tabeli powinna zawierać tylko jedną wartość co oznacza że Adres powinien być podzielony na kilka kolumn takich jak Ulica Kod Pocztowy i Miasto. Dalsze etapy normalizacji obejmują usuwanie zależności funkcyjnych oraz zapewnianie że wszystkie atrybuty niekluczowe są zależne wyłącznie od klucza głównego tabeli co jest celem drugiej i trzeciej postaci normalnej. Poprawne znormalizowanie danych ułatwia ich zarządzanie i zmniejsza ryzyko występowania niezgodności w bazie danych co jest standardem w branży IT zwłaszcza w dużych systemach informatycznych gdzie integralność danych jest kluczowa dla poprawnego działania aplikacji.

Pytanie 14

Który rastrowy format graficzny jest obsługiwany przez przeglądarki internetowe?

A. FLIF
B. PNG
C. PCX
D. TGA
Spośród wymienionych to PNG jest rastrowym formatem obsługiwanym natywnie przez przeglądarki internetowe - obok JPG i GIF tworzy zestaw bezpiecznych formatów webowych. Wyświetli się bez wtyczek i konwersji. Zapamiętaj webowe rastry: JPG (zdjęcia), PNG (jakość + przezroczystość), GIF (proste animacje).

Pytanie 15

W bazie danych wykonano następujące polecenia dotyczące uprawnień użytkownika adam. Po ich realizacji użytkownik adam uzyska uprawnienia do

GRANT ALL PRIVILEGES ON klienci TO adam
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam
A. tworzenia tabeli klienci oraz modyfikowania w niej danych
B. usuwania tabeli lub jej rekordów
C. modyfikowania danych i przeglądania tabeli klienci
D. przeglądania tabeli klienci oraz dodawania do niej sektorów
Prawidłowa odpowiedź dotycząca usunięcia tabeli lub jej rekordów wynika z analizy poleceń SQL które zostały wykonane na użytkowniku adam. Instrukcja GRANT ALL PRIVILEGES zapewnia użytkownikowi wszystkie dostępne uprawnienia do tabeli klienci w tym możliwość usunięcia zarówno całej tabeli jak i jej rekordów. Jednakże w dalszej kolejności polecenie REVOKE SELECT INSERT UPDATE ogranicza te konkretne uprawnienia. Pozostawia to użytkownikowi adam pełne prawo do korzystania z polecenia DELETE które umożliwia usunięcie poszczególnych rekordów oraz DROP które pozwala usunąć całą tabelę. Jest to kluczowe w zarządzaniu bazą danych zwłaszcza w kontekście zapewnienia integralności i bezpieczeństwa danych. W praktyce administratorzy baz danych muszą umiejętnie zarządzać uprawnieniami aby zapewnić odpowiedni poziom bezpieczeństwa oraz kontrolę dostępu zgodnie z najlepszymi praktykami branżowymi. Dzięki temu można uniknąć nieautoryzowanego dostępu do wrażliwych danych oraz przypadkowego usunięcia ważnych informacji

Pytanie 16

W języku HTML, aby nadać dokumentowi tytuł "Moja strona", który będzie wyświetlany na zakładce przeglądarki internetowej, należy posłużyć się zapisem

A. <head>Moja strona</head>
B. <meta name="title" content="Moja strona" />
C. <title>Moja strona</title>
D. <meta title="Moja strona">
Element <title> jest absolutnie podstawą, jeśli chodzi o definiowanie tytułu strony w HTML. Umieszcza się go zawsze wewnątrz sekcji <head>, a jego zawartość jest tym, co wyświetla się na karcie przeglądarki. Moim zdaniem to jedna z tych rzeczy, które – choć wydają się drobiazgiem – mają duży wpływ na użyteczność i pozycjonowanie strony. Jeśli budujesz własną stronę lub pracujesz przy większym projekcie, warto pamiętać, żeby tytuł był unikalny i możliwie krótki, bo to właśnie on pojawia się również w wynikach wyszukiwania Google. Organizacje takie jak W3C wyraźnie podkreślają, że <title> jest wymagany w każdym dokumencie HTML5. Często też spotykałem się z przypadkami, gdzie ktoś zapominał o tym tagu i potem dziwił się, że przeglądarka pokazuje „Untitled” albo po prostu adres URL na pasku zakładki. Z praktyki – zawsze warto od razu na początku pracy nad stroną ustawić sensowny tytuł, bo potem łatwo o tym zapomnieć. A jak już masz kilka kart z otwartymi projektami, czy klient patrzy na podgląd w wyszukiwarce – profesjonalnie przygotowany tytuł robi robotę. Pamiętaj też, że <title> nie jest miejscem na wrzucanie dodatkowego kodu HTML, tylko sam tekst. Prosta sprawa, a oszczędza potem sporo nerwów.

Pytanie 17

CMYK to kombinacja czterech podstawowych kolorów stosowanych w druku:

A. turkusowego, purpurowego, białego, czarnego
B. turkusowego, purpurowego, żółtego, czarnego
C. czerwonego, purpurowego, żółtego, szarego
D. turkusowego, błękitnego, białego, różowego
Odpowiedź zawierająca kolory turkusowy, purpurowy, żółty i czarny jest poprawna, ponieważ CMYK to standardowy model kolorów stosowany w druku. Składa się on z czterech podstawowych kolorów: cyjan (turkusowy), magenta (purpurowy), żółty i czarny (key). Model ten jest powszechnie wykorzystywany w przemyśle poligraficznym, ponieważ pozwala na uzyskanie szerokiej gamy kolorów poprzez mieszanie tych czterech odcieni. Przykładem zastosowania CMYK jest druk ulotek, plakatów czy książek, gdzie precyzyjne odwzorowanie kolorów jest kluczowe dla jakości i estetyki produktu. W praktyce, mieszanie kolorów w tym modelu odbywa się przez stosowanie różnych proporcji farb, co pozwala na uzyskanie pożądanych odcieni. Warto również zauważyć, że standard CMYK jest podstawą wielu systemów druku cyfrowego oraz offsetowego, co czyni go fundamentalnym narzędziem w pracy projektantów graficznych oraz drukarzy, którzy muszą zrozumieć jego zasady, aby efektywnie realizować projekty graficzne.

Pytanie 18

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

A. walidatora
B. optymalizatora
C. debuggera
D. konsolidatora
Poprawność składni CSS sprawdza walidator - na przykład walidator CSS organizacji W3C (jigsaw.w3.org/css-validator). Analizuje arkusz pod kątem zgodności ze standardem i wypisuje błędy oraz ostrzeżenia: literówki we właściwościach, nieprawidłowe wartości czy brakujące średniki. Dlatego do kontroli składni CSS służy walidator.

Pytanie 19

document.getElementById("napis").innerHTML = Date); // Aby poprawnie skomentować podaną linijkę kodu w języku JavaScript, należy dodać komentarz po znakach //

A. wyświetlenie ciągu "Date()" w znaczniku o id = napis
B. zmiana właściwości atrybutu innerHTML
C. niepoprawne informacje
D. wyświetlenie daty oraz czasu w znaczniku o id = napis
W przedstawionej linii kodu JavaScript, 'document.getElementById("napis").innerHTML = Date;', mamy do czynienia z modyfikacją zawartości elementu HTML o identyfikatorze 'napis'. Funkcja 'getElementById' pozwala na selekcję elementu DOM, a atrybut 'innerHTML' umożliwia przypisanie nowej wartości, która będzie wyświetlana w tym elemencie. Wartością, która zostanie przypisana, jest 'Date', a nie 'Date()'. Przy użyciu 'Date' bez nawiasów, odnosi się do obiektu funkcji, a nie do wyniku wykonania tej funkcji, który zwraca aktualną datę i czas. W poprawnej wersji kodu powinno być 'document.getElementById("napis").innerHTML = new Date();', co spowoduje wyświetlenie bieżącej daty i godziny w elemencie o id 'napis'. Takie podejście jest zgodne z aktualnymi standardami ECMAScript, a także jest często wykorzystywane w aplikacjach webowych do dynamicznej aktualizacji treści na stronach internetowych, co zwiększa ich interaktywność i użytkowalność. Dla lepszego zrozumienia, praktycznym przykładem może być użycie tego kodu w aplikacji, która pokazuje czas rzeczywisty na stronie, co jest popularne w wielu projektach webowych.

Pytanie 20

Jaką kompetencję społeczną ma osoba, która potrafi wyrażać swoje zdanie i bronić swoich racji, nie naruszając przy tym granic własnych ani innych ludzi?

A. konformizm
B. asertywność
C. akomodacja
D. empatia
Pozostałe pojęcia opisują inne postawy. Empatia to zdolność rozumienia uczuć innych, a nie wyrażania własnego zdania. Akomodacja (dostosowanie) i konformizm oznaczają uleganie otoczeniu i rezygnację z własnego stanowiska, czyli przeciwieństwo bronienia racji. Opisana postawa to asertywność.

Pytanie 21

Jakie znaczenie ma przedstawiony fragment kodu w języku C++?

Ilustracja do pytania
A. Interakcja między zmiennymi globalnymi a lokalnymi.
B. Trzy niezwiązane ze sobą zmienne.
C. Typ strukturalny składający się z trzech pól.
D. Zbiór zmiennych w hierarchii.
Ten fragment kodu w C++ definiuje strukturę o nazwie CONTACT, która ma trzy pola: nazwisko i telefon jako typy std::string oraz numer jako int. Struktury w C++ pozwalają na grupowanie różnych typów danych w jedną całość, co jest super przydatne w programowaniu, szczególnie gdy pracujemy z danymi. Dzięki strukturze kod widzi te dane jako jedno, co czyni go bardziej zorganizowanym. Na przykład w aplikacjach, gdzie musimy przetwarzać różne typy informacji, takie jak bazy danych czy systemy CRM, struktury sprawdzają się świetnie. Warto też dodać, że w nowoczesnym C++ wolemy korzystać z stringów, bo są łatwiejsze w użyciu niż tradycyjne tablice znaków, a standardowa biblioteka daje nam dodatkowe opcje. To podejście ułatwia życie programistom!

Pytanie 22

Na przedstawionym diagramie ER zapis FK1 oznacza

Ilustracja do pytania
A. klucz podstawowy.
B. relację 1:N.
C. klucz obcy.
D. relację 1:1.
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 23

W aplikacji internetowej komunikat powinien pojawiać się tylko wtedy, gdy dany użytkownik jest na stronie po raz pierwszy. Którą funkcję PHP należy w tym celu zastosować?

A. define
B. session_destroy
C. mysqli_change_user
D. setcookie
Prawidłowo – w tym zadaniu kluczowa jest funkcja setcookie(), bo to właśnie ciasteczka są standardowym mechanizmem do rozpoznawania, czy użytkownik był już wcześniej na danej stronie. W praktyce robi się to tak: przy pierwszym wejściu na stronę sprawdzasz, czy istnieje określone cookie, np. $_COOKIE['first_visit']. Jeśli go nie ma, wyświetlasz komunikat powitalny i ustawiasz ciasteczko za pomocą setcookie('first_visit', '1', time()+3600*24*365). Przy kolejnych wejściach cookie już będzie istniało, więc komunikat się nie pojawi. To jest bardzo typowy wzorzec np. dla banerów informujących o ciasteczkach, komunikatów onboardingowych czy jednorazowych podpowiedzi dla nowych użytkowników. Z mojego doświadczenia w webdevie to najprostsze i najbardziej przenośne rozwiązanie, bo działa niezależnie od sesji i logowania użytkownika – wystarczy przeglądarka z włączonymi cookies. Ważne jest też, żeby pamiętać o tym, że setcookie() musi być wywołane przed wysłaniem jakiegokolwiek outputu (czyli przed jakimkolwiek HTML, echo, BOM itd.), bo ciasteczka są wysyłane w nagłówkach HTTP. W bardziej rozbudowanych projektach często łączy się cookies z innymi mechanizmami (np. sesją czy bazą danych), ale do prostego sprawdzenia „czy użytkownik jest tu pierwszy raz” ciasteczko ustawiane setcookie() to według dobrych praktyk w zupełności wystarcza. Warto też dbać o parametry bezpieczeństwa ciastek (secure, httponly, samesite), szczególnie gdy później używamy tego mechanizmu do czegoś ważniejszego niż zwykły komunikat informacyjny.

Pytanie 24

Dane są zapisy w tabeli uczniowie, które zostały przedstawione na rysunku. Jaki będzie rezultat wykonania podanego zapytania SQL?

Ilustracja do pytania
A. Liczba wierszy równa 4
B. Wartość 3.5
C. Dane 4, 3, 4, 3
D. Suma ocen równa 14
Zapytanie SQL SELECT AVG(ocena) FROM uczniowie ma na celu obliczenie średniej wartości kolumny ocena w tabeli uczniowie. Średnia arytmetyczna jest obliczana poprzez zsumowanie wszystkich ocen i podzielenie wyniku przez liczbę rekordów. W tym przypadku mamy cztery oceny: 4 3 4 i 3. Suma tych ocen wynosi 14 a liczba rekordów to 4 co daje średnią arytmetyczną równą 3.5. W przypadku baz danych funkcja AVG() jest standardowym sposobem na obliczanie średniej wartości w zestawie danych i jest powszechnie używana w analizie danych gdzie często zachodzi potrzeba określenia centralnej tendencji. Takie podejście pozwala na szybką ocenę ogólnej wydajności lub trendów w zbiorze danych. Praktyczne zastosowanie tego mechanizmu obejmuje analizy biznesowe gdzie przeciętna wartość sprzedaży lub innych metryk może dostarczyć cennych informacji. Warto również podkreślić że AVG() ignoruje wartości NULL co jest korzystne w analizie zestawów danych o niepełnych wpisach.

Pytanie 25

Co powinno znaleźć się w dokumentacji UŻYTKOWNIKA aplikacji?

A. szczegółowy opis kodu źródłowego
B. instrukcja obsługi funkcji systemu
C. opis algorytmów zastosowanych w kodzie
D. opis użytych technologii i bibliotek
Dokumentacja UŻYTKOWNIKA jest pisana dla osoby obsługującej program, więc zawiera instrukcję obsługi jego funkcji - jak wykonać typowe zadania, krok po kroku, bez wnikania w kod. Dlatego znajdzie się w niej instrukcja obsługi funkcji systemu.

Pytanie 26

W SQL wykonano poniższe instrukcje GRANT. Kto będzie miał prawa do przeglądania oraz modyfikacji danych?

GRANT ALL ON firmy TO 'admin'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tomasz i Anna
B. Adam i Anna
C. Tomasz i Adam
D. Tylko Tomasz
Prawidłowa odpowiedź to Tylko Tomasz ponieważ polecenie GRANT SELECT INSERT UPDATE ON firmy TO 'tomasz'@'localhost' przyznaje Tomaszowi uprawnienia do przeglądania danych i ich zmiany w bazie danych firmy. Uprawnienia SELECT INSERT i UPDATE są wystarczające do przeglądania i modyfikowania danych. SELECT pozwala na odczyt danych z tabeli INSERT umożliwia dodawanie nowych rekordów a UPDATE pozwala na modyfikację istniejących danych. To przyznaje Tomaszowi pełną kontrolę nad przeglądaniem i aktualizacją danych. Inni użytkownicy jak Anna czy Adam nie posiadają wszystkich tych uprawnień. Anna ma jedynie uprawnienia ALTER CREATE i DROP co pozwala na zmianę struktury bazy danych ale nie na przeglądanie i edytowanie danych. Zrozumienie tych różnic jest kluczowe w administracji bazami danych gdyż precyzyjne zarządzanie uprawnieniami użytkowników zapewnia bezpieczeństwo danych i efektywność działania systemu. Tomasz dzięki przyznanym uprawnieniom może efektywnie zarządzać danymi co jest ważnym aspektem w kontekście zarządzania bazami danych w organizacji.

Pytanie 27

Którego znacznika HTML NIE można użyć do wstawienia grafiki (dynamicznej) na stronę?

A.
<embed>
B.
<object>
C.
<img>
D.
<strike>
Znacznik <strike> służył do PRZEKREŚLANIA tekstu (dziś przestarzały, zastąpiony przez <del>/<s>) - nie ma nic wspólnego z osadzaniem grafiki. Dlatego do wstawienia obrazu NIE można użyć <strike>.

Pytanie 28

W bazie danych wykonano poniższe polecenia dotyczące uprawnień użytkownika adam:

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;
Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do:
A. tworzenia tabeli klienci i modyfikowania w niej danych
B. zmiany danych oraz przeglądania tabeli klienci
C. przeglądania tabeli klienci oraz dodawania do niej rekordów
D. usunięcia tabeli lub jej rekordów
Użytkownik <b>adam</b> rzeczywiście uzyskuje pełne prawa do zarządzania tabelą <b>klienci</b> po wykonaniu polecenia GRANT ALL PRIVILEGES. To polecenie nadaje wszystkie możliwe uprawnienia, w tym SELECT (przeglądanie danych), INSERT (wstawianie nowych rekordów), UPDATE (aktualizowanie istniejących danych) oraz DELETE (usuwanie rekordów). W kontekście praktycznym, posiadanie ALL PRIVILEGES oznacza, że użytkownik ma swobodę w manipulowaniu danymi, co jest kluczowe w pracy z bazami danych. Na przykład, w aplikacji zarządzającej klientami, <b>adam</b> może zaktualizować szczegóły klienta, dodać nowych klientów do bazy oraz usunąć tych, którzy już nie są aktywni. Jednakże, ważne jest, aby przyznawanie takich uprawnień odbywało się zgodnie z zasadami minimalnych uprawnień, aby zredukować ryzyko nieautoryzowanych zmian. Dlatego też praktyki zarządzania użytkownikami w bazach danych powinny obejmować dokładne audyty uprawnień oraz regularne przeglądy przyznanych praw, aby zapewnić bezpieczeństwo danych.

Pytanie 29

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. wszystkich elementów tablicy
B. parzystych elementów tablicy
C. dodatnich elementów tablicy
D. nieparzystych elementów tablicy
Kod analizuje tablicę liczby i sumuje wyłącznie te elementy, które są parzyste. Nie można zatem mówić o sumowaniu nieparzystych czy wszystkich elementów tablicy. Warunek liczby[i] % 2 == 0 jednoznacznie wskazuje na sumowanie wyłącznie parzystych wartości – reszta z dzielenia przez 2 równa 0 jednoznacznie identyfikuje liczbę jako parzystą. W kontekście sumowania wszystkich elementów, kod nie spełnia tej funkcji, gdyż wykorzystuje warunek ograniczający sumowanie do parzystych liczb. Rozważania o sumowaniu wszystkich elementów lub tylko dodatnich nie znajdują uzasadnienia w analizowanym kodzie. Częstym błędem może być mylenie operacji logicznych i warunkowych w pętli, co prowadzi do niepoprawnych interpretacji zadania. W praktyce, prawidłowe zrozumienie i zastosowanie operatorów warunkowych, takich jak modulo, jest niezbędne w programowaniu, szczególnie przy operacjach na tablicach i dużych zestawach danych. Warunki, jak ten zastosowany w kodzie, umożliwiają precyzyjne filtrowanie danych, co jest kluczowe w wielu aplikacjach, w tym w analizie danych czy automatyzacji procesów. Zrozumienie tych mechanizmów jest fundamentalne dla programisty, zarówno w kontekście wydajności, jak i poprawności działania algorytmów.

Pytanie 30

Pętla napisana w języku PHP wprowadzi do tablicy liczby
$x=0
for($i=0;$i<10;$i++)
{
   $tab[$i]=$x;
   $x=$x+10;
}

A. 10,20,30,40,50,60,70,80,90,100
B. 0,1,2,3,4,5,6,7,8,9,10
C. 0,10,20,30,40,50,60,70,80,90
D. 0,1,2,3,4,5,6,7,8,9
Pierwsza z niepoprawnych odpowiedzi sugeruje, że do tablicy zostaną wpisane liczby od 0 do 9, co jest błędne. Pętla for w tym kodzie nie inkrementuje zmiennej $x w sposób liniowy, lecz zwiększa ją o 10 w każdej iteracji, co oznacza, że wartości przypisane do tablicy będą znacznie większe niż jedynie kolejne liczby całkowite. Ponadto, nie ma żadnej zmiennej w pętli, która miałaby na celu inkrementację $i do kolejnych liczb, co w efekcie prowadziłoby do podobnych wartości. Druga z odpowiedzi wskazuje, że ostatnią liczbą w tablicy będzie 10, co jest również niepoprawne. W rzeczywistości, ostatnią liczbą, jaka zostanie wstawiona do tablicy w tym przypadku, będzie 90, a nie 10, ponieważ pętla kończy się po przypisaniu wartości 90, a zmienna $x nigdy nie osiągnie wartości 100 w ramach tej pętli. Ostatnia z niepoprawnych odpowiedzi sugeruje, że do tablicy wstawione zostanie 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. Jest to błędne z powodu tego, iż pętla for nie wykonuje się wystarczająco długo, aby osiągnąć wartość 100. Tak więc, zamiast oczekiwanego wyniku, pętla generuje jedynie dziewięć wartości, kończąc na 90, co znacząco różni się od wartości wskazanych w tej odpowiedzi.

Pytanie 31

W jakim formacie zostanie wyświetlona data po uruchomieniu poniższego kodu?

<?php
    echo date('l, dS F Y');
?>
A. Monday, 10th July 17
B. Monday, 10 July 2017
C. Monday, 10th July 2017
D. 10, Monday July 2017
Twoja odpowiedź jest prawidłowa. Kod PHP wyświetli datę w formacie 'Monday, 10th July 2017', ponieważ używa funkcji date() z odpowiednimi parametrami formatowania. Parametr 'l' zwraca pełną nazwę dnia tygodnia, 'd' zwraca dzień miesiąca z zerem wiodącym, 'S' dodaje angielski sufiks liczby porządkowej do dnia miesiąca, 'F' zwraca pełną nazwę miesiąca, a 'Y' zwraca pełny rok. To jest standardowy sposób formatowania daty w PHP i jest zgodny z dobrymi praktykami programowania. Pozwala na czytelne i zrozumiałe wyświetlanie daty dla użytkowników końcowych. Dobrze jest pamiętać o tych konwencjach, ponieważ różne systemy mogą wymagać różnych formatów daty. Zrozumienie, jak korzystać z funkcji date() w PHP, pozwoli Ci na elastyczne i efektywne manipulowanie danymi daty.

Pytanie 32

Aby walidować pole formularza na bieżąco, w trakcie wpisywania znaków przez użytkownika, można wykorzystać zdarzenie:

A.
onFocusOut
B.
onKeyDown
C.
onClick
D.
onLoad
Aby reagować na dane w trakcie ich wpisywania, używa się zdarzeń klawiatury, takich jak onKeyDown (lub onInput), które zachodzą przy każdym naciśnięciu klawisza. Dzięki temu skrypt może sprawdzać poprawność pola na bieżąco i od razu informować użytkownika o błędzie. Dlatego do walidacji podczas pisania nadaje się onKeyDown.

Pytanie 33

Do ilu pól edycyjnych zostanie przypisane tło Teal dla przedstawionego fragmentu dokumentu HTML i stylu CSS?

<input type="text">
<input type="number">
<input type="email">
<input type="number">
<input>

input[type="number"] {
    background-color: Teal;
}
A. Do wszystkich.
B. Do dwóch.
C. Do trzech.
D. Do żadnego.
Bardzo dobrze! Wybrałeś prawidłową odpowiedź, mówiącą, że tło Teal zostanie przypisane do dwóch pól edycyjnych. W przedstawionym fragmencie dokumentu HTML mamy pięć pól edycyjnych (input), z których tylko dwa mają typ 'number'. Tło Teal jest zdefiniowane w stylu CSS i ma być zastosowane tylko do pól typu 'number'. Jest to zgodne z dobrymi praktykami stosowania selektorów atrybutów w CSS, które pozwalają na precyzyjne określenie, do jakich elementów strony internetowej powinien być zastosowany dany styl. Dzięki temu możemy na przykład zastosować różne style dla różnych typów pól wejściowych, jak to jest w tym przypadku. To jest przykład, jak możemy wykorzystać moc CSS do kontroli wyglądu różnych elementów na naszej stronie.

Pytanie 34

Która z czynności NIE WPŁYNIE na wielkość zajmowanej pamięci pliku graficznego?

A. Kompresja
B. Interpolacja
C. Zmiana rozdzielczości obrazu
D. Skalowanie obrazu przy użyciu atrybutów HTML
Skalowanie obrazu za pomocą atrybutów HTML nie wpływa na rozmiar pliku graficznego, ponieważ ta operacja odbywa się po stronie klienta, w przeglądarce, a nie na samym pliku. Gdy obraz jest wyświetlany w HTML, atrybuty takie jak 'width' i 'height' mogą zmienić jego wizualny rozmiar na stronie, ale nie modyfikują samego pliku. W praktyce oznacza to, że niezależnie od tego, jak duży lub mały wyświetlany jest obraz, jego rzeczywisty rozmiar na dysku pozostaje niezmieniony. Dobrą praktyką w web designie jest stosowanie odpowiednich rozmiarów i formatów obrazów w zależności od kontekstu, co może poprawić szybkość ładowania strony i doświadczenie użytkownika. Warto również pamiętać, że zbyt duże obrazy mogą powodować dłuższy czas ładowania, co wpływa na SEO i oceny wydajności witryny. Dlatego zaleca się optymalizację obrazów przed ich dodaniem do strony, co jest bardziej efektywne niż poleganie na zmianie rozmiarów przez HTML.

Pytanie 35

Aby dodać nowy rekord do tabeli Pracownicy, konieczne jest zastosowanie polecenia SQL

A. INSERT INTO Pracownicy VALUES ('Jan',' Kowalski')
B. INSERT (Jan, Kowalski) INTO Pracownicy
C. INSERT VALUES Pracownicy INTO (Jan, Kowalski)
D. INSERT VALUES (Jan, Kowalski) INTO Pracownicy
Aby dodać nowy rekord do tabeli Pracownicy w bazie danych, należy skorzystać z polecenia SQL INSERT INTO, które jest standardowym sposobem na wprowadzenie nowych danych do tabeli. Poprawna składnia polecenia to 'INSERT INTO <nazwa_tabeli> VALUES (<wartości>)'. W przypadku podanego przykładu, używamy 'INSERT INTO Pracownicy VALUES ('Jan', 'Kowalski');', co jest zgodne z wymaganiami SQL. Polecenie to wprowadza dwa nowe atrybuty: imię 'Jan' oraz nazwisko 'Kowalski' do tabeli Pracownicy. Ważne jest, aby wartości były poprawnie otoczone apostrofami w przypadku typów danych tekstowych. Zgodnie z normami SQL, zapis ten pozwala na dodanie rekordu, pod warunkiem, że kolumny tabeli są zgodne z wprowadzanymi danymi, a tabela Pracownicy została wcześniej zdefiniowana w bazie danych. Przykładem może być sytuacja, w której tabela Pracownicy ma kolumny 'Imie' i 'Nazwisko', a wprowadzenie wartości bezpośrednio do tych kolumn jest zgodne z ich definicją.

Pytanie 36

Jak inaczej zapisać w JavaScript instrukcję a++;?

A.
a & 1;
B.
a << 1;
C.
1 += a;
D.
a = a + 1;
Operator a++ zwiększa wartość zmiennej o 1, więc równoważnym zapisem jest a = a + 1. Dlatego a++ to a = a + 1.

Pytanie 37

Czym różnią się polecenia DROP TABLE i TRUNCATE TABLE?

A. DROP TABLE usuwa tabelę, a TRUNCATE TABLE zmienia w niej dane wg warunku
B. DROP TABLE usuwa tabelę, a TRUNCATE TABLE usuwa wszystkie dane, zostawiając pustą tabelę
C. oba usuwają tabelę z zawartością, ale TRUNCATE da się cofnąć
D. oba usuwają tylko zawartość, ale tylko DROP TABLE da się cofnąć
DROP TABLE usuwa CAŁĄ tabelę - razem ze strukturą (kolumnami, definicją), więc tabela przestaje istnieć. TRUNCATE TABLE kasuje tylko wszystkie WIERSZE, zostawiając pustą tabelę gotową do dalszego użycia. Dlatego DROP usuwa tabelę, a TRUNCATE czyści dane, zostawiając pustą tabelę.

Pytanie 38

Który operator w języku SQL zwraca resztę z dzielenia (modulo)?

A.
&
B.
||
C.
%
D.
/
Operator % w SQL (m.in. w MySQL) oblicza resztę z dzielenia całkowitego - modulo. Na przykład SELECT 7 % 3 zwróci 1, bo 7 podzielone przez 3 daje 2 i resztę 1. Bywa wykorzystywany np. do sprawdzenia parzystości (liczba % 2 = 0) czy cykliczności. W niektórych systemach dostępna jest też funkcja MOD(a, b). Dlatego resztę z dzielenia zwraca operator %.

Pytanie 39

Który typ danych w języku C++ ma najszerszy zakres wartości całkowitych?

A. long long
B. short
C. int
D. long int
Pozostałe typy są węższe. short jest najmniejszy, int zwykle 32-bitowy, a long int bywa 32- lub 64-bitowy, ale nie szerszy niż long long. Najszerszy zakres ma long long.

Pytanie 40

Tabela Pacjenci zawiera kolumny: imie, nazwisko, wiek oraz lekarz_id. W celu stworzenia raportu z imionami i nazwiskami pacjentów, którzy mają mniej niż 18 lat i są zapisani do lekarza o id wynoszącym 6, należy zastosować kwerendę SQL

A. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6
C. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6
D. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6
Odpowiedź 'SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6' jest poprawna, ponieważ precyzyjnie określa, jakie dane mają zostać zwrócone. Kwerenda ta wykorzystuje klauzulę 'FROM', aby wskazać, z której tabeli mają zostać pobrane dane, oraz 'WHERE', aby nałożyć odpowiednie warunki. W tym przypadku chcemy uzyskać imiona i nazwiska pacjentów, którzy są poniżej 18 roku życia oraz zapisani do lekarza o identyfikatorze 6. Używanie operatora 'AND' jest kluczowe w tym kontekście, ponieważ tylko pacjenci spełniający obydwa warunki będą uwzględniani w wynikach. W praktyce, taka kwerenda jest niezwykle użyteczna w systemach medycznych, gdzie konieczne jest operowanie na danych demograficznych pacjentów oraz ich przypisania do lekarzy. Dobre praktyki w SQL wymagają jasności w określaniu warunków filtracji, co ta kwerenda osiąga, unikając niejednoznaczności, które mogłyby wyniknąć z użycia operatora 'OR'.