Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 czerwca 2026 21:52
  • Data zakończenia: 11 czerwca 2026 22:03

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Model, w którym wszystkie dane są zapisane w jednej tabeli, określa się mianem

A. hierarchicznym
B. jednorodnym
C. relacyjnym
D. sieciowym
Model jednorodny to taka podstawowa struktura w bazach danych, gdzie wszystko trzymamy w jednej tabeli. To się fajnie sprawdza w prostych aplikacjach, bo wtedy relacje między danymi są dość oczywiste. Klasycznym przykładem może być baza kontaktów, gdzie każdy ma swoje info w jednym miejscu. Dzięki temu mamy łatwy dostęp do danych i prosto nimi zarządzać. Z mojego doświadczenia, to rozwiązanie jest super efektywne, ale jak system staje się większy i złożony, to zaczynają się schody. Wtedy inne modele, jak relacyjne, mogą mieć więcej sensu. W branży często korzysta się z modelu jednorodnego, zwłaszcza tam, gdzie szybki dostęp do danych jest kluczowy, a sztywne struktury tylko przeszkadzają. Na codzień to naprawdę przydatna rzecz, jak ktoś nie chce się męczyć z komplikacjami.

Pytanie 2

Które polecenie ustawi klucz główny na polu id w istniejącej tabeli uczniowie?

A.
ALTER TABLE uczniowie ADD PRIMARY KEY (id);
B.
INSERT TABLE uczniowie PRIMARY KEY (id);
C.
ADD TABLE uczniowie PRIMARY KEY (id);
D.
INSERT TABLE uczniowie ADD PRIMARY KEY (id);
Zmianę struktury istniejącej tabeli wykonuje ALTER TABLE. Aby ustawić klucz główny na kolumnie, używa się ALTER TABLE uczniowie ADD PRIMARY KEY (id); – wskazuje to pole id jako klucz główny. Dlatego poprawne jest ALTER TABLE uczniowie ADD PRIMARY KEY (id);.

Pytanie 3

W formularzu dokumentu PHP znajduje się pole <input name="im">. Gdy użytkownik wprowadzi tekst "Janek", aby dodać wartość tego pola do bazy danych, w tablicy $_POST będzie obecny element

A. im o indeksie Janek
B. Janek o indeksie im
C. Janek z następującym numerem indeksu
D. im z następującym numerem indeksu
Odpowiedź "Janek o indeksie im" jest prawidłowa, ponieważ w momencie, gdy użytkownik wprowadza dane do pola formularza z nazwą 'im', wartość tego pola, czyli "Janek", zostaje przypisana do elementu tablicy $_POST. W tablicy $_POST każdemu pole w formularzu przypisuje wartość pod jego nazwą (w tym przypadku 'im'). W rezultacie, klucz tablicy $_POST będzie mieć wartość 'im', a jego wartość to 'Janek'. To podejście jest zgodne z dobrymi praktykami programowania w PHP, w których dane z formularzy są przekazywane do skryptów serwerowych w sposób zorganizowany i łatwy do odczytania. Umożliwia to deweloperom efektywne przetwarzanie danych wejściowych, co jest kluczowe w aplikacjach webowych. Przykładowo, gdy tworzymy formularz rejestracyjny, możemy użyć $_POST do łatwego przechwytywania i walidacji danych użytkownika, co poprawia bezpieczeństwo i funkcjonalność aplikacji.

Pytanie 4

Klucz obcy w tabeli jest używany w celu

A. opracowania formularza do wprowadzania danych do tabeli
B. połączenia go z innymi kluczami obcymi w tabeli
C. umożliwienia jednoznacznej identyfikacji rekordu w danej tabeli
D. zdefiniowania relacji 1..n łączącej go z kluczem głównym innej tabeli
Klucz obcy w tabeli pełni kluczową rolę w definiowaniu relacji między tabelami w bazach danych. Dzięki zastosowaniu klucza obcego możliwe jest określenie relacji 1..n, co oznacza, że jeden rekord w tabeli głównej może być powiązany z wieloma rekordami w tabeli podrzędnej. Przykładem może być tabela 'Klienci' i tabela 'Zamówienia', gdzie klucz obcy w tabeli 'Zamówienia' wskazuje na klucz główny w tabeli 'Klienci'. To pozwala na gromadzenie wielu zamówień dla jednego klienta, co jest niezbędne w systemach e-commerce. Praktyczne wdrożenie kluczy obcych wspiera integralność danych oraz zapobiega ich duplikacji. Właściwe projektowanie relacji w bazach danych zgodnie z zasadami normalizacji wprowadza przejrzystość i efektywność w zarządzaniu danymi, a także ułatwia ich późniejszą analizę i raportowanie. W branży IT standardem jest stosowanie kluczy obcych w celu zapewnienia spójności i relacyjności danych, co jest istotne dla każdej aplikacji opierającej się na bazach danych.

Pytanie 5

Kod

SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)
wybiera
A. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat
B. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat
C. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat
D. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat
W podejściu zawartym w niepoprawnych odpowiedziach występuje kilka kluczowych nieporozumień dotyczących interpretacji zapytań SQL i zasad działania operatora `IN`. Wybór danych na podstawie wieku poniżej 18 lat jest błędny, ponieważ zapytanie nie uwzględnia wieku poniżej tej granicy, a zatem nie może zwracać rekordów dla tej grupy wiekowej. Takie wnioski mogą wynikać z mylnej interpretacji operatora `IN`, który nie działa na zasadzie zakresu, lecz na precyzyjnych wartościach. Przyjmowanie, że zapytanie obejmuje osoby powyżej 30 lat jest również niepoprawne, ponieważ zapytanie nie zawiera takich warunków, co dowodzi braku zrozumienia filtracji danych. Kolejny typowy błąd poznawczy to mylenie pojęcia 'przedziału' z konkretnymi wartościami. W SQL, kiedy chcemy odwołać się do przedziału, stosuje się operator `BETWEEN`, co różni się od zastosowania `IN`. Zrozumienie tych podstawowych różnic jest kluczowe w pracy z bazami danych. Aby skutecznie budować zapytania SQL, ważne jest zrozumienie, jakie operatory są odpowiednie do konkretnych zadań oraz jakie są ich ograniczenia. Niewłaściwe interpretowanie wyników zapytań może prowadzić do błędnych wniosków i decyzji, co podkreśla znaczenie staranności w analizie danych.

Pytanie 6

Głównym celem systemu CMS jest oddzielenie treści portalu informacyjnego od jego wyglądu. Taki efekt osiąga się przez generowanie zawartości

A. z bazy danych oraz wyglądu za pomocą atrybutów HTML
B. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
C. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
D. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
Wybór błędnych odpowiedzi wskazuje na niepełne zrozumienie architektury systemów zarządzania treścią. Odpowiedzi sugerujące generowanie zawartości z 'statycznych plików HTML' nie uwzględniają kluczowej zasady, jaką jest elastyczność i efektywność dynamicznego zarządzania treścią. Statyczne pliki HTML są trudne do aktualizacji, co powoduje, że zmiany w treści są czasochłonne i zwiększają ryzyko błędów. Przykładowo, w przypadku wprowadzenia istotnych zmian w treści, takich jak aktualizacje informacji o produktach, każda zmiana wymagałaby ręcznej edycji wielu plików, co jest niepraktyczne i nieefektywne. Ponadto, wykorzystanie technologii FLASH do generowania wyglądu jest przestarzałym podejściem, które nie jest już wspierane przez większość nowoczesnych przeglądarek internetowych. FLASH nie tylko ogranicza dostępność treści na urządzeniach mobilnych, ale także stwarza zagrożenia związane z bezpieczeństwem. Ostatecznie, podejścia te nie są zgodne z najlepszymi praktykami branżowymi, które kładą nacisk na wykorzystanie responsywnych, łatwych w zarządzaniu szablonów i dynamicznych baz danych, co jest kluczowe dla sukcesu nowoczesnych aplikacji internetowych.

Pytanie 7

Podaj właściwą sekwencję przy tworzeniu bazy danych?

A. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
B. Zdefiniowanie celu, normalizacja, utworzenie tabel, stworzenie relacji
C. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
D. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
Prawidłowa odpowiedź wskazuje, że pierwszym krokiem w procesie tworzenia bazy danych jest określenie celu, co jest kluczowe dla zrozumienia, jakie dane będą gromadzone i w jaki sposób będą one używane. Następnie, stworzenie tabel to fundament, na którym opiera się cała baza danych. Tabele definiują struktury danych, które będą przechowywane, a ich projektowanie powinno uwzględniać normalizację, czyli proces eliminowania redundancji danych i zapewniania ich integralności. Utworzenie relacji między tabelami jest kolejnym krokiem, który pozwala na efektywne łączenie danych w różnych tabelach, co z kolei umożliwia bardziej złożone zapytania. Normalizacja, będąca ostatnim krokiem, pozwala na optymalizację struktury bazy, co zwiększa wydajność operacji. Przykład zastosowania tej kolejności można zobaczyć w projektowaniu systemów zarządzania bazami danych w przedsiębiorstwach, gdzie dokładne określenie potrzeb biznesowych wpływa na przyszłe modele danych i ich relacje.

Pytanie 8

Atrybut autor w tabeli ksiazka oznacza

CREATE TABLE ksiazka (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  tytul VARCHAR(200),
  autor SMALLINT UNSIGNED NOT NULL,
  CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. kluczem obcym powiązanym z tabelą autorzy
B. atrybut używany w relacji z tabelą dane
C. atrybut typu tekstowego zawierający informacje o autorze
D. kluczem podstawowym tabeli ksiazka
Pole autor w tabeli ksiazka jest zdefiniowane jako klucz obcy co oznacza że tworzy relację z inną tabelą w bazie danych w tym przypadku z tabelą autorzy która zawiera id autorów W relacyjnych bazach danych klucz obcy jest mechanizmem który pozwala na utrzymanie integralności danych pomiędzy powiązanymi tabelami Jest to szczególnie ważne w kontekście modelowania rzeczywistości gdzie różne encje takie jak książki i autorzy są zależne od siebie W powyższym przykładzie pole autor odwołuje się do pola id w tabeli autorzy umożliwiając przypisanie konkretnego autora do danej książki Taka konstrukcja bazy danych jest zgodna z zasadami normalizacji które dążą do minimalizacji redundancji danych i zapewnienia ich spójności Klucze obce są powszechnie stosowaną praktyką w projektowaniu baz danych dzięki której złożone relacje mogą być reprezentowane i zarządzane w sposób efektywny Umożliwiają one implementację mechanizmu kaskadowego aktualizowania lub usuwania danych co pomaga w zachowaniu spójności w całej bazie danych

Pytanie 9

Co spowoduje

DELETE FROM mieszkania WHERE status = 1;
?
A. usunięcie tabel z bazy mieszkania
B. usunięcie rekordów z status = 1 z tabeli mieszkania
C. usunięcie pola status z tabeli
D. usunięcie całej tabeli mieszkania
Polecenie DELETE FROM mieszkania WHERE status = 1; usuwa z tabeli mieszkania te WIERSZE (rekordy), w których pole status ma wartość 1. Klauzula WHERE ogranicza usuwanie do pasujących rekordów. Dlatego pierwsza odpowiedź jest poprawna.

Pytanie 10

Przedstawiony fragment kodu PHP ma za zadanie umieścić dane znajdujące się w zmiennych $a, $b, $c w bazie danych, w tabeli dane. Tabela dane zawiera cztery pola, z czego pierwsze to autoinkrementowany klucz główny. Które z poleceń powinno być przypisane do zmiennej $zapytanie?

<?php
...
$zapytanie = "...";
mysqli_query($db, $zapytanie);
...
?>
A. INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');
B. SELECT '$a', '$b', '$c' FROM dane;
C. INSERT INTO dane VALUES ('$a', '$b', '$c');
D. SELECT NULL, '$a', '$b', '$c' FROM dane;
Właściwe polecenie to 'INSERT INTO dane VALUES (NULL, '$a', '$b', '$c');'. Użycie NULL w pierwszym polu pozwala na automatyczne ustawienie wartości klucza głównego, co jest zgodne z zasadą autoinkrementacji w bazach danych. Wartości zmiennych $a, $b i $c są wstawiane do kolejnych pól tabeli, co jest standardową praktyką w przypadku dodawania nowych rekordów do bazy danych. Dobrą praktyką jest również stosowanie przygotowanych zapytań, aby zminimalizować ryzyko ataków typu SQL injection. Można to osiągnąć za pomocą funkcji mysqli_prepare, co zwiększa bezpieczeństwo aplikacji. W kontekście standardów branżowych, PostgreSQL oraz MySQL stosują podobne zasady dotyczące wstawiania danych, co czyni tę wiedzę uniwersalną dla różnych systemów zarządzania bazami danych. Warto również zrozumieć, że wstawianie danych bezpośrednio przy użyciu zmiennych bez walidacji może prowadzić do błędów, dlatego zaleca się ich odpowiednie przetwarzanie przed wykonaniem zapytania.

Pytanie 11

Który typ relacji wymaga utworzenia tabeli pośredniczącej, łączącej klucze główne obu tabel?

A.
n..1
B.
1..n
C.
1..1
D.
n..n
Relacja wiele-do-wielu (n..n) oznacza, że rekordowi z jednej tabeli może odpowiadać wiele rekordów z drugiej i odwrotnie (np. uczniowie i przedmioty). Takiej relacji nie da się zapisać samym kluczem obcym – potrzebna jest TABELA POŚREDNICZĄCA (łącznikowa), która zawiera klucze główne obu tabel jako klucze obce i przechowuje powiązania. Dlatego tabeli pośredniczącej wymaga relacja n..n.

Pytanie 12

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Monika, Ewelina, Maria.
B. Tylko Anna.
C. Anna, Maria, Ewa.
D. Tylko Maria.
Gratulacje, udzielona odpowiedź jest prawidłowa! Wykonana kwerenda SQL 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy albo mają nazwisko 'Kowal', albo zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli pracowników, taka kwerenda zwróci nam poprawną odpowiedź 'Anna, Maria, Ewa'. To dlatego, że Anna pracuje na stanowisku 3, co jest większe niż 2, Maria ma nazwisko 'Kowal', a Ewa pracuje na stanowisku 4, które jest również większe niż 2. SQL jako język zapytań pozwala na efektywne zarządzanie danymi, niezależnie od skomplikowania zapytania. W praktyce, gdy mamy do czynienia z dużym zbiorem danych, takie zapytania pomagają w szybkim filtrowaniu i dostępie do potrzebnych informacji. Dobrym standardem jest wymyślanie i testowanie zapytań SQL w celu zrozumienia, jakie dane zostaną zwrócone, zanim zapytanie zostanie użyte w prawdziwej aplikacji lub systemie.

Pytanie 13

Którego narzędzia używa się do naprawy i optymalizacji bazy danych w MySQL?

A.
mysqladmin
B.
mysqldump
C.
mysqlslap
D.
mysqlcheck
Narzędzie mysqlcheck służy do sprawdzania, NAPRAWY i OPTYMALIZACJI tabel bazy MySQL (potrafi też je analizować). Łączy w sobie działanie poleceń CHECK, REPAIR i OPTIMIZE TABLE. Dlatego do naprawy i optymalizacji służy mysqlcheck.

Pytanie 14

Które z poniższych stwierdzeń na temat klucza głównego jest prawdziwe?

A. W przypadku tabeli z danymi osobowymi może to być pole nazwisko
B. Jest unikalny dla danej tabeli
C. Może przyjmować wyłącznie wartości liczbowe
D. Składa się wyłącznie z jednego pola
Klucz podstawowy to atrybut (lub zbiór atrybutów) w tabeli, który jednoznacznie identyfikuje każdy wiersz w tej tabeli. Jego unikalność w obrębie tabeli jest kluczowa, ponieważ pozwala na zapobieganie duplikatom i zapewnia integralność danych. Na przykład, w tabeli przechowującej informacje o klientach, kolumna z identyfikatorem klienta (np. ID klienta) powinna być kluczem podstawowym, ponieważ każdy klient musi mieć unikalny identyfikator. Standardy baz danych, takie jak model relacyjny, podkreślają znaczenie kluczy podstawowych w zapewnieniu stabilności i efektywności w przechowywaniu danych. Użycie klucza podstawowego również wpływa na wydajność operacji wyszukiwania i łączenia tabel, dlatego w projektowaniu baz danych należy starannie dobierać atrybuty, które będą pełnić tę rolę, aby spełniały wymagania unikalności oraz wydajności.

Pytanie 15

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

Ilustracja do pytania
A. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy WHERE poziom = 4
B. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.Firmy_id = Firmy.id WHERE poziom = 4
C. SELECT Zamówienia.id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.id = Firmy.id WHERE poziom = 4
D. SELECT id, nazwa FROM Zamówienia JOIN Firmy ON Zamówienia.Firmy_id = Firmy.id WHERE poziom = 4
Odpowiedź numer 2 jest prawidłowa, ponieważ wykorzystuje poprawne połączenie między tabelami Zamowienia i Firmy przy użyciu klucza obcego Firmy_id, co jest zgodne z praktykami projektowania relacyjnych baz danych. Klucz obcy w tabeli Zamowienia wskazuje na klucz główny w tabeli Firmy, co odzwierciedla relację jeden do wielu, gdzie jedna firma może mieć wiele zamówień. Właściwe stosowanie kluczy obcych nie tylko poprawia integralność danych, ale także ułatwia zrozumienie struktury danych. Właściwe użycie klauzuli JOIN z warunkiem ON pozwala na efektywne powiązanie rekordów z obu tabel. Warunek WHERE poziom = 4 pozwala na filtrowanie wyników, co jest kluczowe w analizie danych, umożliwiając wyodrębnienie tylko tych rekordów, które spełniają określone kryteria. Dzięki temu możemy uzyskać zestaw danych zawierający tylko te zamówienia, które pochodzą od firm o określonym poziomie, co jest częstym wymogiem w raportach biznesowych. Praktyczne użycie tego typu zapytań jest niezastąpione w aplikacjach analitycznych i systemach raportowania, gdzie precyzyjne filtrowanie i łączenie danych ma kluczowe znaczenie dla podejmowania decyzji biznesowych. Dbając o zgodność z najlepszymi praktykami, takie zapytania powinny być dobrze testowane i optymalizowane, aby zapewnić ich efektywność w dużych zbiorach danych.

Pytanie 16

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';
Wskaź, które zapytanie zwróci te same dane.
A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 17

Tabela podzespoly ma pola: model, producent, typ, cena. Które zapytanie wyświetli modele pamięci RAM firmy Kingston od najtańszej do najdroższej?

A.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC;
B.
SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC;
C.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC;
D.
SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Trzeba spełnić DWA warunki naraz (typ „RAM” ORAZ producent „Kingston”), więc łączy się je <code><span class="code-keyword">AND</span></code>. Sortowanie od najtańszej do najdroższej to porządek ROSNĄCY, czyli <code><span class="code-keyword">ORDER</span> <span class="code-keyword">BY</span> <span class="code-variable">cena</span> <span class="code-variable">ASC</span></code>. Stąd <code><span class="code-keyword">SELECT</span> <span class="code-variable">model</span> <span class="code-keyword">FROM</span> <span class="code-variable">podzespoly</span> <span class="code-keyword">WHERE</span> <span class="code-variable">typ</span><span class="code-text">=</span><span class="code-string">'RAM'</span> <span class="code-keyword">AND</span> <span class="code-variable">producent</span><span class="code-text">=</span><span class="code-string">'Kingston'</span> <span class="code-keyword">ORDER</span> <span class="code-keyword">BY</span> <span class="code-variable">cena</span> <span class="code-variable">ASC</span><span class="code-text">;</span></code>. Dlatego pierwsza odpowiedź jest poprawna.

Pytanie 18

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich kolumn w tabeli hurtownia
B. dla użytkownika root na serwerze sprzedawca
C. do wszystkich tabel w bazie hurtownia
D. dla użytkownika root na serwerze localhost

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; nadaje prawo SELECT dla wszystkich tabel w bazie danych o nazwie hurtownia. Symbol * po nazwie bazy oznacza, że uprawnienia dotyczą wszystkich tabel w tej bazie. Jest to popularny sposób przyznawania uprawnień w systemach zarządzania bazami danych takich jak MySQL. Prawidłowe zarządzanie uprawnieniami jest kluczowe w zapewnieniu bezpieczeństwa i efektywności pracy z bazami danych. Przyznanie prawa SELECT oznacza, że użytkownik sprzedawca może odczytywać dane, co jest często stosowane w przypadku użytkowników, którzy potrzebują dostępu do raportów lub analiz. Zgodnie z dobrymi praktykami warto przyznawać minimalny poziom uprawnień niezbędny do wykonywania określonych zadań co chroni przed nieautoryzowanym dostępem lub modyfikacją danych. Przyznając uprawnienia warto także monitorować logi dostępu w celu wykrywania potencjalnych nieprawidłowości. Również istotne jest aby użytkownik localhost miał dostęp tylko z lokalnego serwera co ogranicza ryzyko zdalnych ataków.

Pytanie 19

W programie MS Access w ustawieniach pola klasa należy określić maskę wprowadzania danych. Jaką maskę należy ustawić, aby dane wprowadzone składały się z trzech znaków w formacie: obowiązkowa cyfra, następnie dwie obowiązkowe litery?

Ogólne
Rozmiar pola3
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. CLL
B. 0LL
C. 0CC
D. 000

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W MS Access maska wprowadzania danych jest używana do kontrolowania formatu danych wprowadzanych do pola. Dla pola, w którym dane muszą mieć postać jednej cyfry, a następnie dwóch liter, odpowiednia maska to 0LL. Zero (0) oznacza, że na tej pozycji musi znajdować się cyfra i jest to wymóg obowiązkowy. Litera L oznacza, że na tej pozycji musi znajdować się litera i jest to również wymóg obowiązkowy. W ten sposób maska 0LL wymusza, aby dane były dokładnie w formacie jednej cyfry i dwóch liter. Praktyczne zastosowanie tego typu maski może być widoczne w sytuacjach, gdzie istnieje konieczność katalogowania produktów, gdzie oznaczenie musiałoby zawierać numer identyfikacyjny w postaci cyfry i skrót literowy identyfikujący kategorię. Takie podejście do formatowania danych zapewnia spójność i poprawność danych wprowadzanych do bazy, zgodnie z dobrymi praktykami zarządzania danymi, co jest kluczowe w systemach bazodanowych, gdzie dane są często przetwarzane i analizowane.

Pytanie 20

Używając polecenia ALTER TABLE, co można zrobić?

A. usunięcie tabeli
B. zmiana wartości w rekordach tabeli
C. stworznie tabeli
D. zmiana struktury tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie ALTER TABLE w SQL jest używane do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, zmieniać typ danych kolumn, a także dodawać klucze obce lub indeksy. Przykładem zastosowania ALTER TABLE może być dodanie nowej kolumny do tabeli pracowników w celu rejestrowania daty zatrudnienia: 'ALTER TABLE pracownicy ADD COLUMN data_zatrudnienia DATE;'. Good practices w zakresie modyfikacji tabeli sugerują, aby przed dokonaniem takich zmian zawsze tworzyć kopię zapasową bazy danych. Warto również monitorować wpływ zmian na istniejące zapytania oraz aplikacje, które wykorzystują tę tabelę, aby uniknąć potencjalnych błędów w przyszłości. W kontekście projektowania baz danych, ALTER TABLE stanowi kluczowy element w utrzymaniu i dostosowywaniu struktury bazy danych do zmieniających się potrzeb organizacji. Na przykład, w miarę wzrostu firmy mogą pojawić się potrzeby wprowadzenia nowych informacji dotyczących klientów, co wymaga elastyczności w strukturze bazy danych.

Pytanie 21

W tabeli uczniowie (kolumny: imie, nazwisko, klasa) wszyscy uczniowie klas 1–5 przeszli do następnej klasy. Które polecenie zwiększy wartość w kolumnie klasa o 1?

A.
SELECT uczniowie WHERE klasa BETWEEN 1 AND 5
B.
SELECT nazwisko, imie FROM uczniowie
C.
UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5
D.
UPDATE nazwisko, imie SET klasa = klasa + 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do zmiany istniejących danych służy <code><span class="code-keyword">UPDATE</span></code>: po nazwie tabeli podaje się <code><span class="code-keyword">SET</span></code> z nowymi wartościami, a <code><span class="code-keyword">WHERE</span></code> ogranicza zakres zmian. Aby podnieść klasę o 1 tylko uczniom klas 1–5, zapisuje się <code><span class="code-keyword">UPDATE</span> <span class="code-variable">uczniowie</span> <span class="code-keyword">SET</span> <span class="code-variable">klasa</span> <span class="code-text">=</span> <span class="code-variable">klasa</span> <span class="code-text">+</span> <span class="code-number">1</span> <span class="code-keyword">WHERE</span> <span class="code-variable">klasa</span> <span class="code-text">&gt;</span><span class="code-text">=</span> <span class="code-number">1</span> <span class="code-keyword">AND</span> <span class="code-variable">klasa</span> <span class="code-text">&lt;</span><span class="code-text">=</span> <span class="code-number">5</span></code>. Dlatego poprawne jest to polecenie <code><span class="code-keyword">UPDATE</span></code>.

Pytanie 22

W SQL prawo SELECT w poleceniu GRANT umożliwia użytkownikowi bazy danych na

A. usuwanie danych z tabeli
B. zmianę danych w tabeli
C. pobieranie danych z tabeli
D. tworzenie nowych tabel

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przywilej SELECT w poleceniu GRANT w języku SQL jest kluczowym elementem zarządzania dostępem do danych w bazach danych. Umożliwia on użytkownikowi wykonanie operacji odczytu na danych przechowywanych w tabelach. W praktyce oznacza to, że użytkownik, któremu przyznano ten przywilej, może wykonywać zapytania SELECT, aby przeglądać dane, analizować je i generować raporty. Przykładowo, w kontekście systemu zarządzania bazą danych (DBMS) takiego jak MySQL, po przyznaniu przywileju SELECT dla konkretnej tabeli, użytkownik może wywołać zapytanie takie jak 'SELECT * FROM nazwa_tabeli;', co pozwala mu na wyświetlenie wszystkich rekordów z tej tabeli. Praktyka ta jest zgodna z podstawowymi zasadami zarządzania dostępem do danych, które są zdefiniowane w standardzie SQL. Odczytywanie danych jest fundamentalnym zadaniem w analizie danych, a przywilej SELECT jest często pierwszym krokiem w budowaniu bardziej złożonych zapytań, które mogą obejmować agregacje, filtrowanie czy łączenie tabel. W ten sposób przywilej SELECT nie tylko umożliwia dostęp do danych, ale także stanowi podstawę dla bardziej zaawansowanych operacji na danych.

Pytanie 23

Który zestaw zawiera wyłącznie języki programowania działające po stronie serwera?

A. Java, C#, AJAX, Ruby, PHP
B. C#, Python, Ruby, PHP, JavaScript
C. Java, C#, Python, ActionScript, PHP
D. Java, C#, Python, Ruby, PHP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Języki działające po stronie serwera wykonują kod na serwerze i odsyłają do przeglądarki gotowy wynik (np. HTML). Należą do nich m.in. Java, C#, Python, Ruby i PHP – w nich pisze się logikę aplikacji, obsługę baz danych i przetwarzanie żądań. Przeciwieństwem jest klasyczny JavaScript, wykonywany w przeglądarce (po stronie klienta), choć dziś dzięki Node.js bywa używany i na serwerze. Dlatego zestaw samych języków serwerowych to Java, C#, Python, Ruby, PHP.

Pytanie 24

Jakie prawa będzie miał użytkownik jan po wykonaniu poniższych poleceń na bazie danych?

GRANT ALL PRIVILEGES ON klienci TO jan;
REVOKE SELECT, INSERT, UPDATE, DELETE ON klienci FROM jan;
A. Będzie mógł zmieniać strukturę tabeli klienci
B. Będzie mógł dodawać rekordy do tabeli klienci
C. Będzie mógł przeszukiwać dane w tabeli klienci
D. Będzie mógł usuwać rekordy z tabeli klienci

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie GRANT ALL PRIVILEGES ON klienci TO jan pozwala użytkownikowi jan na wykonywanie wszystkich operacji na tabeli klienci. Obejmuje to działania takie jak SELECT INSERT UPDATE DELETE oraz inne operacje strukturalne jak ALTER czy DROP. Następnie polecenie REVOKE SELECT INSERT UPDATE DELETE ON klienci FROM jan usuwa część tych uprawnień. Po wykonaniu tych poleceń jan zachowuje uprawnienia do zmiany struktury tabeli klienci czyli może wykonywać operacje takie jak ALTER. ALTER TABLE jest kluczowe w zarządzaniu bazą danych pozwalając na dodawanie lub usuwanie kolumn oraz modyfikację typów danych. W praktyce oznacza to że jan może np. dostosować strukturę danych do nowych wymagań biznesowych co jest ważnym aspektem elastycznego zarządzania bazą danych. Umiejętność zarządzania strukturą tabel jest ważną częścią administracji baz danych i powinna być wykonywana zgodnie z najlepszymi praktykami aby zapewnić integralność danych i wydajność systemu. Użytkownik powinien regularnie przeglądać i aktualizować dokumentację techniczną aby śledzić wszelkie zmiany w strukturze bazy danych

Pytanie 25

W tabeli podzespoly należy zaktualizować wartość pola URL na 'toshiba.pl' dla wszystkich rekordów, gdzie pole producent to TOSHIBA. W języku SQL ta zmiana będzie wyglądała następująco

A. UPDATE producent='TOSHIBA' SET URL='toshiba.pl';
B. UPDATE podzespoly.producent='TOSHIBA' SET URL='toshiba.pl';
C. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
D. UPDATE podzespoly SET URL='toshiba.pl';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź ta jest prawidłowa, ponieważ poprawnie wykorzystuje składnię języka SQL do aktualizacji danych w tabeli. W instrukcji UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA'; najpierw wskazujemy tabelę, w której chcemy dokonać zmian, czyli 'podzespoly'. Następnie używamy klauzuli SET, aby zdefiniować nową wartość pola URL, a klauzula WHERE precyzuje, które rekordy mają zostać zaktualizowane, w tym przypadku te, gdzie producent to 'TOSHIBA'. To podejście jest zgodne z dobrymi praktykami, ponieważ stosowanie klauzuli WHERE zapobiega masowym aktualizacjom, które mogą prowadzić do niezamierzonych zmian w danych. Przykładowo, jeśli chcielibyśmy zaktualizować tylko określoną grupę produktów, klauzula WHERE pozwala na precyzyjne określenie zakresu zmian. Wprowadzenie takiej modyfikacji w bazie danych, z uwzględnieniem warunków, minimalizuje ryzyko błędów i poprawia integralność danych.

Pytanie 26

Jakie zapytanie SQL umożliwi wyszukanie z podanej tabeli tylko imion i nazwisk pacjentów, którzy przyszli na świat przed rokiem 2002?

Ilustracja do pytania
A. SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002
B. SELECT * FROM Pacjenci WHERE rok_urodzenia <= 2002
C. SELECT * FROM Pacjenci WHERE rok_urodzenia LIKE 2002
D. SELECT imie, nazwisko FROM Pacjenci WHERE data_ostatniej_wizyty < 2002

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
To zapytanie SQL, które napisałeś, czyli SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002, jest całkiem trafione. Po pierwsze, używasz operatora SELECT, żeby wskazać, jakie kolumny chcesz zwrócić - czyli imię i nazwisko. To jest dokładnie to, co było potrzebne. Po drugie, warunek WHERE z rokiem urodzenia zapewnia, że do wyników dostają się tylko pacjenci, którzy przyszli na świat przed 2002 rokiem. No i to jest ważne, bo masz tutaj operator mniejszości <, który wyklucza sam rok 2002. Takie podejście jest super przydatne w bazach danych, bo pozwala na filtrowanie informacji w oparciu o lata, co często wykorzystuje się w raportach i analizach. Generalnie, dobre praktyki w SQL mówią, że warto precyzyjnie określać, jakie kolumny chcesz uwzględnić, bo to pomaga odciążyć system i zrobione zapytanie będzie działać wydajniej. Twoje zapytanie nie tylko spełnia wymagania, ale także jest optymalne, co jest naprawdę istotne w pracy z bazami danych.

Pytanie 27

Jaką funkcją agregującą można uzyskać ilość rekordów?

A. AVG
B. COUNT
C. SUM
D. NUMBER

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja COUNT jest naprawdę ważna w SQL, bo pozwala nam zliczać rekordy w naszych zbiorach danych. Używa się jej w różnych sytuacjach, na przykład przy robieniu raportów czy analizie danych. Możesz na przykład napisać zapytanie: SELECT COUNT(*) FROM klienci WHERE kraj = 'Polska'. Dzięki temu dowiesz się, ilu klientów jest z Polski. To bardzo przydaje się do analizy demograficznej czy oceniania rynku. Co też warto wiedzieć, COUNT działa na wszystkich rekordach, bez względu na to, co jest w kolumnach. Takie wszechstronne narzędzie z pewnością ułatwia pracę z danymi. A jeśli dodasz klauzulę GROUP BY do COUNT, to możesz zliczać rekordy w różnych kategoriach, co jest mega pomocne przy skomplikowanych raportach. Ogólnie rzecz biorąc, używanie funkcji agregujących jak COUNT to dobra praktyka w SQL, bo sprawia, że kod jest bardziej efektywny i czytelny.

Pytanie 28

Co umożliwia polecenie BACKUP LOG w MS SQL Server?

A. kopię zapasową dziennika transakcji
B. wykonanie pełnej kopii bazy
C. odczyt komunikatów z tworzenia kopii
D. zalogowanie się do kopii zapasowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie <code><span class="code-variable">BACKUP</span> <span class="code-variable">LOG</span></code> wykonuje kopię zapasową DZIENNIKA TRANSAKCJI (transaction log) – zapisuje zmiany zarejestrowane od ostatniej kopii. Umożliwia to m.in. odtworzenie bazy do konkretnego momentu w czasie. Pełną kopię całej bazy robi natomiast <code><span class="code-variable">BACKUP</span> <span class="code-keyword">DATABASE</span></code>. Dlatego <code><span class="code-variable">BACKUP</span> <span class="code-variable">LOG</span></code> tworzy kopię dziennika transakcji.

Pytanie 29

W jakim celu tworzy się w tabeli klucz OBCY?

A. aby utworzyć relację (np. 1..n) z kluczem głównym innej tabeli
B. aby jednoznacznie identyfikować rekord w tabeli
C. aby wiązać go z innymi kluczami obcymi tej samej tabeli
D. aby stworzyć formularz do wprowadzania danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz OBCY tworzy się, aby ustanowić RELACJĘ między tabelami – wskazuje on klucz główny INNEJ tabeli (np. w relacji jeden-do-wielu klucz obcy po stronie „wiele” wskazuje rekord po stronie „jeden”). Pilnuje też spójności powiązań. Dlatego czwarta odpowiedź jest poprawna.

Pytanie 30

Które polecenie usunie z tabeli artykuly wiersze, gdzie pole tresc zawiera „sto” w dowolnym miejscu?

A.
DELETE * FROM artykuly WHERE tresc LIKE "%sto%";
B.
DELETE * FROM artykuly WHERE tresc = "%sto%";
C.
DELETE FROM artykuly WHERE tresc LIKE "%sto%";
D.
DELETE FROM artykuly WHERE tresc = "%sto%";

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dopasowanie WZORCA (fragmentu) wymaga operatora <code><span class="code-keyword">LIKE</span></code> z symbolami wieloznacznymi: <code><span class="code-string">"%sto%"</span></code> oznacza „sto” poprzedzone i poprzedzające dowolny ciąg, czyli w dowolnym miejscu. Składnia usuwania to <code><span class="code-keyword">DELETE</span> <span class="code-keyword">FROM</span> <span class="code-variable">tabela</span> <span class="code-keyword">WHERE</span> <span class="code-text">.</span><span class="code-text">.</span><span class="code-text">.</span></code> (bez <code><span class="code-text">*</span></code>). Stąd <code><span class="code-keyword">DELETE</span> <span class="code-keyword">FROM</span> <span class="code-variable">artykuly</span> <span class="code-keyword">WHERE</span> <span class="code-variable">tresc</span> <span class="code-keyword">LIKE</span> <span class="code-string">"%sto%"</span><span class="code-text">;</span></code>. Dlatego trzecia odpowiedź jest poprawna.

Pytanie 31

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
B. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
C. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 4 jest prawidłowa, ponieważ prawidłowo wykorzystuje składnię SQL do połączenia dwóch tabel oraz filtrowania danych na podstawie podanego warunku. Kwerenda używa JOIN, aby połączyć tabele Klienci i Uslugi na podstawie wspólnej kolumny uslugi_id, co jest zgodne z zasadami relacyjnej bazy danych, gdzie klucz obcy w jednej tabeli odnosi się do klucza głównego w innej tabeli. Następnie, kwerenda stosuje filtrację WHERE cena > 10, co pozwala na wybór tylko tych rekordów, gdzie cena usługi przekracza 10 zł. Jest to zgodne z praktyką selektywnego pobierania danych, co jest kluczowe w optymalizacji zapytań i skutecznym zarządzaniu zasobami bazy danych. Zastosowanie takich technik jest standardem w branży, umożliwiając efektywne zarządzanie dużymi zbiorami danych oraz zwiększenie wydajności aplikacji poprzez ograniczenie liczby zwracanych wierszy do tych, które spełniają określone kryteria. Zrozumienie i umiejętność implementacji takich zapytań SQL to podstawowa umiejętność dla specjalistów IT pracujących z bazami danych.

Pytanie 32

Po zrealizowaniu polecenia użytkownik Jacek będzie miał możliwość

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. usuwać tabelę i zakładać nową
B. modyfikować strukturę tabeli oraz dodawać nowe dane
C. przeglądać dane w tabeli i wstawiać nowe dane
D. usuwać rekordy z tabeli i przeglądać informacje

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost'; przyznaje użytkownikowi Jacek uprawnienia do przeglądania danych (SELECT) oraz wstawiania nowych danych (INSERT) do tabeli mojaTabela w bazie danych baza1. To oznacza, że Jacek nie ma możliwości usuwania tabeli ani zmiany jej struktury, co jest zarezerwowane dla uprawnień takich jak ALTER czy DROP. Zastosowanie tych uprawnień jest kluczowe w kontekście bezpieczeństwa i zarządzania danymi, ponieważ pozwala na kontrolowanie, kto może wykonywać określone operacje w bazie danych. Przykładem praktycznego zastosowania może być sytuacja, w której zespół programistów musi umożliwić pracownikom działu sprzedaży dostęp do danych klientów w tabeli, ale jednocześnie chce zapobiec przypadkowemu usunięciu lub modyfikacji struktury tabeli. W ten sposób, przyznając tylko uprawnienia SELECT i INSERT, administracja bazy danych może zapewnić odpowiedni poziom kontroli nad danymi, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi i zabezpieczeń.

Pytanie 33

Jak wykonanie zapytania SQL przedstawionego poniżej wpłynie na tabelę pracownicy?

ALTER TABLE pracownicy MODIFY plec char(9);
A. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
B. Utworzy kolumnę plec o typie znakowym o zmiennej długości 9.
C. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.
D. Utworzy kolumnę plec o typie znakowym o stałej długości 9.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest poprawna, ponieważ polecenie ALTER TABLE zmienia istniejącą kolumnę w tabeli pracownicy. W szczególności, polecenie MODIFY plec char(9) modyfikuje typ danych kolumny plec na znakowy o stałej długości 9. Oznacza to, że każda wartość przechowywana w tej kolumnie będzie miała dokładnie 9 znaków (wypełnionych np. spacjami, jeśli wartość będzie krótsza). W praktyce zapewnia to jednolitą długość dla przechowywanych danych, co może być korzystne w przypadku, gdy wymagane jest zachowanie spójności długości, na przykład przy przechowywaniu kodów pocztowych lub identyfikatorów. Standardy projektowania baz danych zalecają używanie odpowiednich typów danych, aby zminimalizować przestrzeń dyskową oraz przyspieszyć operacje na danych. Warto zauważyć, że w przypadku kolumny char(9) nie można wprowadzić wartości dłuższej niż 9 znaków, co zapobiega niezgodnościom danych.

Pytanie 34

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

A.
LONGTEXT
B.
BLOB
C.
DOUBLE
D.
ENUM

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do przechowywania dużych danych binarnych – obrazów, dźwięku, plików – służy typ <code><span class="code-variable">BLOB</span></code> (Binary Large Object). W odróżnieniu od typów tekstowych nie zakłada kodowania znaków, więc nadaje się do surowych bajtów. W MySQL ma warianty (TINYBLOB, MEDIUMBLOB, LONGBLOB) o różnej pojemności. Dlatego dla danych multimedialnych właściwy jest <code><span class="code-variable">BLOB</span></code>.

Pytanie 35

Który język służy do opisania wyglądu (stylów) strony internetowej?

A. CSS
B. PHP
C. SQL
D. HTML

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CSS (Cascading Style Sheets – kaskadowe arkusze stylów) to język służący do opisania warstwy wizualnej strony: kolorów, czcionek, marginesów, układu i responsywności. Oddziela wygląd od treści, którą buduje HTML. Dlatego za wygląd strony odpowiada CSS.

Pytanie 36

Które z zapytań SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się od litery Z?

A. SELECT nazwisko FROM klient WHERE nazwisko='Z?';
B. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';
C. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';
D. SELECT nazwisko FROM klient WHERE nazwisko='Z_?';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoje zapytanie SQL wygląda świetnie: 'SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';'. Używając operatora LIKE razem z symbolem '%', dajesz znać, że po literze 'Z' mogą się pojawić różne znaki. Dzięki temu dostaniesz wszystkie nazwiska zaczynające się na 'Z', niezależnie od tego, ile liter potem występuje. Moim zdaniem to dobry sposób na wyszukiwanie, bo w praktyce może zwrócić takie nazwiska jak 'Zawadzki', 'Zielinski' czy 'Zachariasz'. W SQL operator LIKE jest naprawdę przydatny, bo pozwala na elastyczne porównywanie wartości tekstowych. Symbol '%' oznacza dowolny ciąg znaków (nawet pusty), a '_' to dokładnie jeden znak. Wiem, że to podejście jest zgodne z normami SQL, co sprawia, że działa w różnych systemach baz danych, co jest świetne, bo można to łatwo przenieść z jednego miejsca do drugiego.

Pytanie 37

Fragment kwerendy SQL zaprezentowany w ramce ma na celu uzyskanie

SELECT COUNT(wartosc) FROM ...
A. liczbę kolumn.
B. średnią wartość w kolumnie wartosc.
C. sumę wartości w kolumnie wartosc.
D. liczbę wierszy.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja COUNT w kwerendzie SQL służy do zliczania liczby wierszy w tabeli, które spełniają określone kryteria. Wyrażenie SELECT COUNT(wartosc) FROM ... zlicza wiersze, które mają niepustą wartość w kolumnie wartosc. Funkcja COUNT jest jedną z funkcji agregujących w SQL, które pozwalają na wykonywanie operacji na zestawach danych. Zastosowanie tej funkcji jest szczególnie istotne w sytuacjach, gdy potrzebujemy szybko uzyskać informację o liczebności danych, co jest kluczowe w analizie danych oraz raportowaniu. Warto zauważyć, że COUNT(*) policzyłoby wszystkie wiersze, niezależnie od tego, czy zawierają wartości NULL, natomiast COUNT(kolumna) ignoruje wiersze z wartościami NULL w podanej kolumnie. To rozróżnienie jest kluczowe w optymalizacji zapytań oraz w zapewnieniu dokładności wyników. W praktyce biznesowej, zliczanie wierszy może być wykorzystywane do śledzenia liczby zamówień, ilości produktów w magazynie oraz innych wskaźników operacyjnych, co sprawia, że funkcja COUNT jest podstawowym narzędziem każdego analityka danych.

Pytanie 38

Rozważ tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
B. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
C. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
D. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź wskazująca na metraż oraz cenę mieszkań, które mają więcej niż 3 pokoje jest prawidłowa, ponieważ kwerenda SQL wykorzystuje operator '>', co oznacza, że wybrani będą tylko ci, którzy mają co najmniej 4 pokoje. W kontekście tabeli mieszkania, zapytanie SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3; efektywnie filtruje dane, aby zwrócić tylko kolumny metraż oraz cena dla mieszkań spełniających ten warunek. W praktyce, umiejętność pisania takich zapytań SQL jest kluczowa w pracy z bazami danych, gdzie często potrzebne jest zrozumienie struktury danych i umiejętność ich analizy. Przykładem zastosowania może być analiza rynku nieruchomości, gdzie deweloperzy mogą chcieć zbadać ceny mieszkań większych niż 3 pokoje, aby lepiej dostosować swoje oferty do potrzeb klientów. Warto również zaznaczyć, że takie zapytania powinny być pisane zgodnie z najlepszymi praktykami, takimi jak unikanie selekcji niepotrzebnych danych, co przyspiesza ich przetwarzanie oraz zmniejsza obciążenie bazy danych.

Pytanie 39

W relacyjnych systemach baz danych, gdy dwie tabele są powiązane przez ich klucze główne, mamy do czynienia z relacją

A. n..1
B. n..n
C. 1..n
D. 1..1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W relacyjnych bazach danych, relacja 1..1 oznacza, że każdemu rekordowi w pierwszej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, a odwrotnie. Gdy tabele są połączone kluczem głównym, zapewnia to unikalność powiązań między nimi. Przykładami takich relacji mogą być tabele 'Pracownicy' i 'Konta', gdzie każdy pracownik ma jedno konto, a każde konto należy do jednego pracownika. Relacja 1..1 jest typowa w sytuacjach, gdy jedna tabela zawiera szczegółowe informacje o obiektach reprezentowanych w drugiej tabeli. Z perspektywy projektowania baz danych, stosowanie relacji 1..1 pomaga w minimalizowaniu redundancji danych oraz zwiększa spójność informacji. Praktyczne podejście do projektowania bazy danych sugeruje, aby relacje 1..1 były wykorzystywane tam, gdzie konieczne jest zapewnienie jednoznacznego powiązania danych, co wspiera integralność danych zgodnie z normami ACID (Atomicity, Consistency, Isolation, Durability).

Pytanie 40

Aby utworzyć tabelę w relacyjnej bazie danych, należy zastosować polecenie SQL CREATE TABLE:

A.
ADD TABLE
B.
NEW TABLE
C.
CREATE TABLE
D.
PLUS TABLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tabelę tworzy instrukcja <code><span class="code-keyword">CREATE</span> <span class="code-keyword">TABLE</span></code>, należąca do języka definiowania danych (DDL) w SQL. Definiujesz w niej nazwę tabeli oraz listę kolumn wraz z ich typami danych, a opcjonalnie dodajesz ograniczenia, takie jak klucz główny czy <code><span class="code-keyword">NOT</span> <span class="code-keyword">NULL</span></code>. Najprostsza składnia to <code><span class="code-keyword">CREATE</span> <span class="code-keyword">TABLE</span> <span class="code-function">nazwa</span> <span class="code-text">(</span><span class="code-variable">kolumna</span> <span class="code-variable">typ</span><span class="code-text">)</span><span class="code-text">;</span></code>, na przykład <code><span class="code-keyword">CREATE</span> <span class="code-keyword">TABLE</span> <span class="code-function">pracownicy</span> <span class="code-text">(</span><span class="code-variable">id</span> <span class="code-variable">INT</span> <span class="code-keyword">PRIMARY</span> <span class="code-keyword">KEY</span><span class="code-text">,</span> <span class="code-variable">nazwisko</span> <span class="code-function">VARCHAR</span><span class="code-text">(</span><span class="code-number">50</span><span class="code-text">)</span><span class="code-text">)</span><span class="code-text">;</span></code>. Polecenie jest częścią standardu SQL, więc działa w większości systemów bazodanowych (MySQL, PostgreSQL, SQLite, SQL Server) i to właśnie ono buduje strukturę, do której później wstawiasz dane.