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 20:39
  • Data zakończenia: 11 czerwca 2026 20:43

Egzamin niezdany

Wynik: 1/40 punktów (2,5%)

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

Jakie technologie są konieczne do uruchomienia systemu CMS Joomla!?

A. PHP oraz MySQL
B. Apache, PHP i MySQL
C. Apache oraz PHP
D. IIS, PERL i MySQL
Wybór niewłaściwego środowiska dla Joomla! może prowadzić do nieprawidłowego działania całego systemu. W przypadku odpowiedzi zawierających IIS oraz PERL, istotne jest zrozumienie, że Joomla! nie jest zoptymalizowana do pracy z tymi technologiami. IIS to serwer WWW od Microsoftu, który jest mniej popularny w środowisku, w którym dominuje Joomla!. Wiele funkcji dostępnych w Joomla! może być utrudnionych lub wręcz niemożliwych do zrealizowania przy użyciu tego serwera, co skutkuje ograniczeniami w dostępnych wtyczkach i modułach. Z kolei PERL, jako język programowania, nie jest standardowo używany w kontekście Joomla!, co stanowi kolejną przeszkodę. Wybierając Apache i PHP, użytkownik korzysta z najczęściej używanych rozwiązań w ekosystemie PHP, co zapewnia szeroką bazę wsparcia oraz dokumentacji. Niezrozumienie, które technologie są wymagane do działania Joomla!, może prowadzić do błędnych decyzji, takich jak wybór nieodpowiedniego serwera, co z kolei wpływa na wydajność i bezpieczeństwo końcowego projektu. Kluczowe jest, aby przed rozpoczęciem pracy z systemem CMS, dokładnie zapoznać się z jego wymaganiami i dobrymi praktykami, co pomoże uniknąć podstawowych problemów oraz zapewni optymalny rozwój i zarządzanie witryną.

Pytanie 2

W tabeli produkt znajdują się artykuły wyprodukowane po roku 2000, posiadające pola nazwa oraz rok_produkcji. Jakie zapytanie SQL pokaże listę artykułów wyprodukowanych?

Ilustracja do pytania
A. przed rokiem 2017
B. po roku 2017
C. w roku 2017
D. w latach innych niż 2017
Analizując działanie zapytania SQL niektóre z błędnych odpowiedzi wynikają z nieprawidłowego zrozumienia funkcji SUBSTR. Funkcja ta pobiera podciąg z konkretnej pozycji w ciągu znaków. W przypadku zapytania SELECT * FROM produkt WHERE SUBSTR(rok_produkcji3 2)=17; zapytanie koncentruje się na dwóch cyfrach rozpoczynających się od trzeciej pozycji. Błędne podejście polegające na sądzeniu że zapytanie wybiera przedmioty wyprodukowane po roku 2017 wynika z braku uwzględnienia faktu że operacja porównania jest wykonywana na wyekstraktowanym podciągu a nie na całym roku. To prowadzi do konkluzji że tylko przedmioty z końcówką roku 17 będą zwrócone. Inne błędne rozumienie sugeruje że przedmioty produkowane przed rokiem 2017 zostaną wybrane co jest niepoprawne ponieważ operacja SUBSTR jasno określa że porównanie dotyczy właśnie roku z końcówką 17. Istotne jest by zrozumieć że tego typu zapytanie nie jest w stanie określić pełnego zakresu dat a jedynie dokładność do dwóch określonych cyfr w danym formacie. W SQL kluczową rolę odgrywa dokładna analiza struktury danych oraz formatów by uniknąć takich nieporozumień. Dzięki temu można zoptymalizować zapytania SQL oraz uzyskać precyzyjne wyniki co jest podstawowym celem w zarządzaniu danymi.

Pytanie 3

Jakie polecenie należy zastosować, aby cofnąć uprawnienia przyznane użytkownikowi?

A.
REMOVE
B.
DROP PRIVILEGES
C.
GRANT NO PRIVILEGES
D.
REVOKE
Do cofania uprawnień służy REVOKE - polecenie DCL będące odwrotnością GRANT. Podaje się w nim cofane uprawnienia, obiekt oraz użytkownika, na przykład REVOKE INSERT ON klienci FROM jan. Dzięki temu administrator może ograniczyć dostęp dokładnie w takim zakresie, w jakim wcześniej go przyznał. Dlatego poprawną odpowiedzią jest REVOKE.

Pytanie 4

Jakie będą skutki wykonania podanego zapytania w tabeli?

ALTER TABLE nazwa1 ADD nazwa2 DOUBLE NOT NULL;
A. zmiana nazwy kolumny z nazwa1 na nazwa2
B. zmiana wartości kolumny nazwa2 na DOUBLE
C. dodanie kolumny nazwa2 typu zmiennoprzecinkowego
D. dodanie kolumny nazwa2 z wartością domyślną typu DOUBLE
Analiza błędnych odpowiedzi związanych z zapytaniem ALTER TABLE wymaga zrozumienia funkcji oraz ograniczeń tej komendy w SQL. Słowo kluczowe ADD wskazuje na intencję dodania nowego elementu do struktury tabeli co eliminuje możliwość zmiany istniejącej kolumny jak sugerują niektóre odpowiedzi. Typ DOUBLE jest używany do przechowywania danych zmiennoprzecinkowych lecz nie oznacza to że istniejąca kolumna może zmieniać się na ten typ poprzez użycie ADD co jest błędnym zrozumieniem funkcji SQL. Typowe błędy myślowe obejmują mylenie dodawania nowej kolumny ze zmianą istniejącej co można osiągnąć jedynie poprzez bezpośrednie użycie MODIFY w poleceniu ALTER TABLE. Również błędne jest założenie że dodawanie kolumny automatycznie ustali wartość domyślną co wymaga specjalnego określenia DEFAULT w zapytaniu aby wprowadzić takie ustawienie. Konsekwencją takiego błędnego rozumienia jest niepoprawna rozbudowa struktury danych co może prowadzić do problemów w aplikacjach wykorzystujących bazę danych. Prawidłowe rozumienie działania ALTER TABLE jest kluczowe w efektywnym zarządzaniu i rozwoju baz danych co zgodne jest z dobrymi praktykami w tej dziedzinie. Aby uniknąć tych błędów warto zapoznać się z dokumentacją i praktykami związanymi z obsługą SQL i wdrożyć systematyczne testowanie zmian strukturalnych przed ich implementacją w środowisku produkcyjnym co minimalizuje ryzyko błędów i ich wpływ na operacje biznesowe. Poprawne użycie ALTER TABLE wymaga także zaawansowanej znajomości typów danych i zasad spójności w bazach danych co jest istotnym elementem kompetencji każdego specjalisty IT zarządzającego danymi. W kontekście tego pytania ważne jest zrozumienie że kluczową operacją jest dodanie nowej kolumny a nie zmiana istniejącej struktury co wymaga innego podejścia i komend SQL.

Pytanie 5

Polecenie serwera MySQL w postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
spowoduje, że użytkownikowi tKowal zostaną
A. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
B. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
C. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
D. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź wskazuje, że użytkownikowi tKowal odebrane zostały prawa usuwania i modyfikowania danych w tabeli pracownicy za pomocą polecenia REVOKE. W kontekście zarządzania uprawnieniami w MySQL, polecenie REVOKE jest kluczowym narzędziem, które umożliwia administratorom bazy danych kontrolowanie dostępu użytkowników do różnych operacji na danych. W tym przypadku, przy użyciu REVOKE DELETE, UPDATE, administrator zdejmuje z użytkownika tKowal możliwość usuwania (DELETE) oraz aktualizowania (UPDATE) rekordów w tabeli pracownicy. Praktycznym zastosowaniem tej funkcji może być sytuacja, gdy administrator chce ograniczyć dostęp do wrażliwych danych, aby zapobiec przypadkowemu lub nieuprawnionemu usunięciu informacji. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby zapewnić, że mają oni tylko te uprawnienia, które są im niezbędne do wykonywania swoich obowiązków, co przyczynia się do zwiększenia bezpieczeństwa danych.

Pytanie 6

Utworzono bazę danych z tabelą mieszkańcy, która zawiera pola: nazwisko, imię oraz miasto. Następnie przygotowano poniższe zapytanie do bazy:
SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Kraków';
Wskaż zapytanie, które zwróci takie same dane.

A. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto HAVING 'Poznań' OR 'Kraków';
B. SELECT nazwisko, imie FROM mieszkańcy AS 'Poznań' OR 'Kraków';
C. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';
D. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór odpowiedzi SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków' jest prawidłowy, ponieważ wykorzystuje operator logiczny OR, który umożliwia filtrowanie danych z tabeli mieszkańcy na podstawie wartości w polu miasto. To zapytanie zwraca wszystkich mieszkańców, którzy są z Poznania lub Krakowa, co odpowiada wymaganiom postawionym w pytaniu. Warto zauważyć, że taka konstrukcja jest efektywna, ponieważ nie używa złożonych zapytań ani nie tworzy zbiorów, które następnie muszą być łączone. Operator OR jest powszechnie stosowany w SQL do łączenia wielu warunków, co czyni go łatwym w użyciu. Dodatkowo, zgodnie z dobrymi praktykami baz danych, unikanie zbędnych operacji, jak UNION, gdy wystarczy proste OR, zwiększa wydajność i czytelność zapytań. Przykładowe zastosowanie tego zapytania może mieć miejsce w aplikacjach, które potrzebują zidentyfikować użytkowników z konkretnego regionu, co jest istotne w przypadku personalizacji treści lub promocji regionalnych.

Pytanie 7

Wykonano następującą kwerendę SQL na tabeli dania, której wiersze zostały pokazane na obrazie:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?

idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
62wieprzowy przysmak35
72Mintaj w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 5
B. 13
C. 8
D. 2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, dobrze sobie poradziłeś z tym pytaniem! Wykonanie kwerendy SELECT na tabeli danych, oznacza wybieranie konkretnych wierszy z tej tabeli, które spełniają określone kryteria. Kwerendy SQL są podstawowym narzędziem w zarządzaniu bazami danych, a ich zrozumienie jest kluczowe dla efektywnej pracy z danymi. W tym przypadku, kwerenda SELECT wybrała 2 wiersze - jest to prawidłowa odpowiedź. W praktyce, mogłoby to oznaczać na przykład wybranie z bazy danych informacji o dwóch klientach, którzy spełnili określone kryteria. Ważne jest, aby pamiętać, że liczba wybranych wierszy zależy od kryteriów, które określamy w kwerendzie. W SQL mamy wiele możliwości filtrowania i sortowania danych, co pozwala na efektywne zarządzanie informacjami. Dobra praktyka to dokładne zrozumienie działania kwerendy, zanim zostanie ona wykonana na dużej ilości danych.

Pytanie 8

Aby prawidłowo utworzyć relację typu m:n nienarażoną na redundancję danych, należy:

A. uporządkować przynajmniej jedną z tabel
B. bezpośrednio połączyć klucze główne obu tabel
C. utworzyć tabelę pośredniczącą (łączącą)
D. bezpośrednio połączyć klucze obce obu tabel

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacji typu m:n (wiele do wielu) nie da się poprawnie odwzorować, łącząc dwie tabele bezpośrednio - kończy się to powielaniem danych. Rozwiązaniem jest tabela pośrednicząca (łącząca, asocjacyjna), która zawiera klucze obce wskazujące na obie tabele. Dzięki niej relacja m:n rozkłada się na dwie relacje typu 1:n, a każde powiązanie zapisujemy jako pojedynczy wiersz w tabeli łączącej. Taki model jest zgodny z normalizacją i nie wprowadza redundancji - dlatego poprawna jest tabela pośrednicząca.

Pytanie 9

W instrukcji CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu pola tabeli spowoduje, że to pole stanie się

A. kluczem podstawowym
B. indeksem unikalnym
C. indeksem klucza
D. kluczem obcym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE oznacza, że pole, do którego jest ona przypisana, stanie się kluczem podstawowym tabeli. Klucz podstawowy to atrybut lub zbiór atrybutów, które jednoznacznie identyfikują każdy rekord w tabeli. Klucz podstawowy musi być unikalny dla każdego rekordu oraz nie może zawierać wartości NULL. Na przykład, w tabeli użytkowników, pole 'user_id' często pełni rolę klucza podstawowego, co pozwala na jednoznaczne odnalezienie informacji o każdym użytkowniku. Stosowanie kluczy podstawowych jest zgodne z najlepszymi praktykami w projektowaniu baz danych, ponieważ zapewnia integralność danych oraz umożliwia efektywne indeksowanie i wyszukiwanie informacji. Dodatkowo, klucze podstawowe mogą być używane w relacjach z innymi tabelami jako klucze obce, co ułatwia tworzenie powiązań między danymi. Klucz podstawowy jest zatem fundamentem struktury danych w bazie, co potwierdzają standardy SQL oraz normy projektowania baz danych.

Pytanie 10

Jaką relację w projekcie bazy danych należy zdefiniować pomiędzy tabelami przedstawionymi na rysunku, zakładając, że każdy klient sklepu internetowego składa przynajmniej dwa zamówienia?

Ilustracja do pytania
A. 1:1
B. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
C. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
D. n:n

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia, jest prawidłowa, ponieważ odzwierciedla rzeczywiste założenie, że każdy klient może złożyć wiele zamówień. W praktyce baza danych musi odwzorowywać te zależności, co pozwala na efektywne zarządzanie danymi. Każdy klient posiada unikalny identyfikator, zwykle klucz podstawowy, który nie może się powtarzać w tabeli Klient. Tabela Zamówienie posiada natomiast klucz obcy, który odnosi się do klucza podstawowego w tabeli Klient, umożliwiając przechowywanie wielu zamówień przypisanych do jednego klienta. Dzięki temu możemy łatwo wykonywać operacje takie jak wyszukiwanie wszystkich zamówień danego klienta czy śledzenie historii zakupów. Dobre praktyki projektowania baz danych podkreślają znaczenie poprawnego zdefiniowania relacji między tabelami, co zwiększa spójność danych i ułatwia ich późniejsze przetwarzanie. W systemach e-commerce taka struktura bazy danych jest niezbędna do obsługi klientów i śledzenia ich zamówień, co jest podstawą do analizy sprzedaży i tworzenia strategii marketingowych.

Pytanie 11

Tabela góry, której fragment został pokazany, obejmuje polskie pasma górskie oraz ich szczyty. Podaj kwerendę obliczającą dla każdego pasma górskiego średnią wysokość szczytów.

A. SELECT pasmo, SUM(wysokosc) FROM gory GROUP BY pasmo
B. SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo
C. SELECT pasmo, COUNT(wysokosc) FROM gory ORDER BY pasmo
D. SELECT pasmo, AVG(wysokosc) FROM gory LIMIT pasmo

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje! Twoja odpowiedź jest prawidłowa. Zapytanie 'SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo;' jest poprawne. Funkcja AVG() jest jedną z funkcji agregujących w SQL, które służą do wykonania pewnej operacji na zestawie wartości. W tym przypadku oblicza ona średnią wartość wysokości szczytów dla każdego z pasm górskich. Funkcja GROUP BY jest natomiast klauzulą SQL, która jest używana do grupowania wartości z różnych wierszy w jedną grupę. W tym przypadku GROUP BY pasmo oznacza, że wyniki zostaną pogrupowane według pasma górskiego, co pozwala obliczyć średnią wysokość szczytów dla każdego z pasm. Jest to zgodne z treścią pytania. Pamiętaj, że wykorzystanie funkcji agregujących w SQL pozwala na efektywne przetwarzanie dużych ilości danych, co jest niezwykle ważne w praktycznych zastosowaniach baz danych.

Pytanie 12

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik=2016;
Jakie wartości zostaną zwrócone w wyniku tego zapytania?
Ilustracja do pytania
A. Fiat, Opel, Toyota
B. Punto, Corsa, Astra, Corolla, Yaris
C. Punto, Corsa, Corolla
D. Czerwony, grafitowy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 13

W PHP, przy wykonywaniu działań na bazie danych MySQL, aby zakończyć sesję z bazą, należy użyć

A. mysqli_close();
B. mysqli_exit();
C. mysqli_rollback();
D. mysqli_commit();

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysqli_close() jest właściwym sposobem na zakończenie pracy z połączeniem do bazy danych MySQL w języku PHP. Użycie tej funkcji zwalnia zasoby skojarzone z danym połączeniem, co jest kluczowe w kontekście wydajności aplikacji. Po zakończeniu operacji na bazie danych, zwłaszcza w przypadku aplikacji intensywnie korzystających z zasobów, takich jak serwery webowe, ważne jest, aby zamknąć połączenie, aby uniknąć wycieków pamięci oraz ograniczyć liczbę otwartych połączeń. Przykładowo, po wykonaniu zapytań do bazy danych, stosując mysqli_close($connection), gdzie $connection to uchwyt do otwartego połączenia, można skutecznie zakończyć interakcję z bazą. Dobrą praktyką jest zamykanie połączeń w blokach finally, aby upewnić się, że zasoby są zwalniane nawet w przypadku wystąpienia wyjątków. Kiedy zamykasz połączenie, pamiętaj, że nie będziesz w stanie już korzystać z tego uchwytu połączenia, co jest zgodne z filozofią zarządzania zasobami, gdzie każdy otwarty zasób powinien być odpowiednio zamykany po zakończeniu jego użycia.

Pytanie 14

GRANT CREATE, ALTER ON sklep.* TO adam; Zakładając, że użytkownik adam nie dysponował wcześniej żadnymi uprawnieniami, to polecenie SQL przyzna mu prawa jedynie do

A. wstawiania oraz modyfikacji danych w tabeli sklep
B. tworzenia oraz modyfikacji struktury w tabeli sklep
C. tworzenia oraz modyfikacji struktury wszystkich tabel w bazie sklep
D. wstawiania oraz modyfikacji danych we wszystkich tabelach bazy sklep

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie SQL 'GRANT CREATE, ALTER ON sklep.* TO adam;' przyznaje użytkownikowi adam prawa do tworzenia i modyfikowania struktury wszystkich tabel w bazie danych o nazwie 'sklep'. W kontekście zarządzania bazami danych, przyznawanie takich uprawnień jest kluczowe dla realizacji zadań związanych z projektowaniem i rozbudową bazy. Przykładowo, gdyby adam potrzebował dodać nową kolumnę do istniejącej tabeli lub utworzyć nową tabelę, mógłby to zrobić dzięki tym prawom. Z perspektywy bezpieczeństwa, nadawanie takich uprawnień powinna być starannie przemyślane, aby uniknąć nieautoryzowanych zmian w strukturze bazy. W praktyce, w sytuacjach, gdy wiele osób współpracuje nad projektem, zaleca się przyznawanie minimalnych uprawnień, które są niezbędne do wykonania określonych zadań. W związku z tym, wykorzystanie polecenia GRANT w sposób odpowiadający wymaganiom projektu jest najlepszą praktyką w zakresie administracji bazami danych.

Pytanie 15

Który typ komunikatu jest przesyłany WYŁĄCZNIE „w dół” - od kierownika do pracownika?

A. poszukiwanie rozwiązań
B. powierzenie zadania
C. zgłaszanie
D. uwagi dotyczące polityki organizacji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Komunikacja „w dół” płynie od przełożonego do podwładnego, a jej typowym przykładem jest POWIERZENIE ZADANIA - kierownik przydziela pracownikowi obowiązek do wykonania. Dlatego komunikatem „w dół” jest powierzenie zadania.

Pytanie 16

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

A.
VARCHAR
B.
CHAR
C.
FLOAT
D.
INT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Liczby zmiennoprzecinkowe (rzeczywiste, z częścią ułamkową) przechowuje w bazie typ <code><span class="code-variable">FLOAT</span></code>, np. ceny czy wyniki pomiarów. Dlatego do takich wartości stosuje się <code><span class="code-variable">FLOAT</span></code>.

Pytanie 17

Które polecenie naprawi uszkodzoną tabelę?

A.
REPAIR TABLE tbl_name
B.
OPTIMIZE TABLE tbl_name
C.
ANALYZE TABLE tbl_name
D.
REGENERATE TABLE tbl_name

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Uszkodzoną tabelę naprawia polecenie <code><span class="code-keyword">REPAIR</span> <span class="code-keyword">TABLE</span> <span class="code-variable">tbl_name</span></code> - próbuje odbudować jej strukturę i indeksy po awarii (np. przerwanym zapisie). Zapamiętaj nazwę wprost: „repair” = napraw tabelę.

Pytanie 18

Jakie dane zostaną pokazane w wyniku wykonania podanego zapytania SQL na 8 rekordach w tabeli zwierzeta?

SELECT imie FROM zwierzeta
WHERE rodzaj = 2
AND szczepienie = 2016;
idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Figaro, Dika, Fuks
B. Anna Kowalska, Jan Nowak
C. Fafik, Brutus, Dika, Fuks
D. Dika, Fuks

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W zapytaniu SQL określono, że chcemy wybrać kolumnę 'imie' z tabeli 'zwierzeta' dla rekordów, które spełniają dwa warunki: 'rodzaj' równa się 2 oraz 'szczepienie' równa się 2016. Analizując dane z tabeli, widzimy, że rekordy spełniające oba te kryteria to rekordy o ID 7 i 8, gdzie imiona to 'Dika' i 'Fuks'. Jest to poprawna odpowiedź, ponieważ jedynie te dwa rekordy mają 'rodzaj' równe 2 i 'szczepienie' równe 2016. Takie podejście do zapytań SQL jest zgodne z praktykami branżowymi, które uczą, by precyzyjnie definiować warunki filtrowania danych. Dzięki temu można efektywnie zarządzać danymi i uzyskiwać jedynie te informacje, które są istotne dla bieżącej analizy czy raportu. Warto zauważyć, że zastosowanie logicznej operacji 'AND' jest kluczowe, gdy chcemy, aby wszystkie określone warunki były spełnione jednocześnie. W różnych systemach baz danych, takich jak MySQL czy PostgreSQL, takie zapytania są powszechne i pomagają w utrzymaniu precyzyjnych i wydajnych operacji na danych.

Pytanie 19

Która funkcja SQL zwraca DŁUGOŚĆ (liczbę znaków) tekstu?

A.
LEN
B.
YEAR
C.
UPPER
D.
NOW

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Długość tekstu (liczbę znaków) zwraca funkcja <code><span class="code-variable">LEN</span></code> (w MS SQL) lub <code><span class="code-variable">LENGTH</span></code> (w MySQL), np. <code><span class="code-function">LEN</span><span class="code-text">(</span><span class="code-string">'Ala'</span><span class="code-text">)</span></code> da 3. Dlatego liczbę znaków zwraca <code><span class="code-variable">LEN</span></code>.

Pytanie 20

Aby dodać nową kolumnę do już istniejącej tabeli, należy użyć polecenia SQL:

A.
ALTER TABLE
B.
INSERT INTO
C.
CREATE TABLE
D.
UPDATE TABLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Strukturę istniejącej tabeli zmienia polecenie <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span></code>. Aby dodać kolumnę, stosuje się je z klauzulą <code><span class="code-keyword">ADD</span></code>, na przykład <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span> <span class="code-variable">klienci</span> <span class="code-keyword">ADD</span> <span class="code-variable">telefon</span> <span class="code-function">VARCHAR</span><span class="code-text">(</span><span class="code-number">15</span><span class="code-text">)</span></code>. Tym samym poleceniem usuwa się lub modyfikuje kolumny i ograniczenia. Dlatego do dodania kolumny do gotowej tabeli służy <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span></code>.

Pytanie 21

Co robi kwerenda:

ALTER TABLE artykuly MODIFY cena float;
?
A. usuwa kolumnę cena
B. dodaje kolumnę cena typu float, jeśli nie istnieje
C. zmienia typ kolumny cena na float
D. zmienia nazwę kolumny cena na float

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span> <span class="code-variable">artykuly</span> <span class="code-variable">MODIFY</span> <span class="code-variable">cena</span> <span class="code-variable">float</span><span class="code-text">;</span></code> zmienia DEFINICJĘ istniejącej kolumny cena, ustawiając jej typ na <code><span class="code-variable">float</span></code> (liczba zmiennoprzecinkowa). Klauzula <code><span class="code-variable">MODIFY</span></code> służy właśnie do zmiany właściwości kolumny, która już istnieje. Dlatego polecenie zmienia typ kolumny cena na float.

Pytanie 22

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. nie
B. 0
C. tak
D. 1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 23

Kwerenda ma za zadanie w tabeli artykuly ALTER TABLE artykuly MODIFY cena float;

A. dodać kolumnę cena o typie float, jeśli nie istnieje
B. zmienić nazwę kolumny z cena na float
C. usunąć kolumnę cena typu float
D. zmienić typ na float dla kolumny cena

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, która zmienia typ kolumny 'cena' na 'float' jest prawidłowa, gdyż użycie kwerendy ALTER TABLE z poleceniem MODIFY pozwala na modyfikację istniejącej kolumny w już utworzonej tabeli. W praktyce, jeśli w tabeli 'artykuły' kolumna 'cena' była wcześniej zdefiniowana jako typ inny niż float, zastosowanie polecenia ALTER TABLE jest właściwą metodą, by dostosować ten typ do wymagań aplikacji, które mogą wymagać precyzyjnych wartości liczbowych, na przykład w kontekście obliczeń finansowych. W SQL, typ float jest używany do przechowywania liczb zmiennoprzecinkowych, co jest szczególnie istotne w przypadku cen, które mogą mieć wartości dziesiętne. Dobre praktyki sugerują, aby zmiana typu danych dokonywana była w sposób przemyślany i po uprzednim sprawdzeniu, czy zmiana nie wpłynie negatywnie na istniejące dane. Warto pamiętać, że przed modyfikacją schematu bazy danych, dobrze jest wykonać kopię zapasową, aby zminimalizować ryzyko utraty danych.

Pytanie 24

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

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
B. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
C. SELECT nazwisko, Miasto FROM Osoby, Adresy;
D. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawne zapytanie korzysta z jawnego złączenia tabel: SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;. Kluczowe są tu dwie rzeczy: użycie słowa kluczowego JOIN oraz właściwy warunek ON, który łączy klucz obcy z kluczem głównym. W tabeli Osoby kolumna Adresy_id jest kluczem obcym (FK), który wskazuje na kolumnę id w tabeli Adresy. To dokładnie odzwierciedla relację jeden‑do‑wielu narysowaną na diagramie. Dzięki temu baza danych wie, które miasto przypisać do którego nazwiska. Takie podejście jest zgodne ze standardem SQL i dobrą praktyką w relacyjnych bazach danych. Jawne JOIN-y są czytelne, łatwe do modyfikacji (np. dodanie kolejnych tabel lub warunków filtrowania) i dobrze współpracują z optymalizatorem zapytań. W praktycznych projektach, np. w aplikacjach webowych, właśnie tak buduje się zapytania: łączymy tabelę użytkowników lub klientów z tabelą adresów, zamówień, faktur, logów itp. zawsze po kluczach głównych i obcych, a nie po przypadkowo dobranych kolumnach. Moim zdaniem warto od razu wyrabiać sobie nawyk pisania nazw tabel przy kolumnach, czyli Osoby.nazwisko, Adresy.Miasto – zmniejsza to ryzyko konfliktu nazw i poprawia czytelność kodu SQL. Gdyby w przyszłości w którejś tabeli pojawiła się druga kolumna o nazwie Miasto, zapytanie nadal byłoby jednoznaczne. W większych systemach, gdzie dochodzą dodatkowe warunki (WHERE, ORDER BY, GROUP BY), taka struktura zapytania z JOIN ON jest po prostu dużo łatwiejsza w utrzymaniu i debugowaniu. Warto też pamiętać, że relacja jeden‑do‑wielu oznacza, że jedna osoba może mieć wiele adresów albo jeden adres może być przypisany do wielu osób – dokładne powiązanie zależy od modelu, ale technika złączenia po kluczu obcym pozostaje taka sama.

Pytanie 25

W dostępnej tabeli mieszkań znajdują się kolumny o nazwach: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie podanej kwerendy SQL SELECT spowoduje, że zostaną wyświetlone

Ilustracja do pytania
A. metraż oraz cena tych mieszkań, które mają co najmniej 3 pokoje
B. wszystkie informacje dotyczące mieszkań, które mają co najmniej 3 pokoje
C. wszystkie informacje oprócz adresu tych mieszkań, które mają więcej niż 3 pokoje
D. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwerenda SQL SELECT metraz cena FROM mieszkania WHERE ile_pokoi 3 jest zapytaniem, które precyzyjnie określa zakres danych do wyświetlenia na podstawie warunku. Polecenie SELECT określa, które kolumny będą zwracane w wyniku kwerendy w tym przypadku metraz i cena. Dzięki temu uzyskujemy tylko te dane które są istotne w kontekście analizy efektywności lub porównania cen nieruchomości o określonym rozmiarze w ramach bazy danych. Użycie klauzuli WHERE ile_pokoi 3 definiuje dodatkowy filtr aby wyświetlane były jedynie te rekordy które spełniają podany warunek logiczny czyli ilość pokoi większą niż trzy. Jest to powszechnie stosowana praktyka w pracy z bazami danych pozwalająca na efektywne przetwarzanie i analizę dużych zbiorów danych poprzez ograniczenie zwracanych wyników do tych które są najbardziej istotne dla użytkownika. Takie podejście pozwala na optymalizację wydajności zapytań SQL co jest kluczowe w środowiskach produkcyjnych gdzie czas odpowiedzi i obciążenie serwera mają istotne znaczenie

Pytanie 26

W systemie MySQL trzeba użyć polecenia REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian jedynie w definicji struktury bazy danych. Odpowiednia komenda do odebrania tych uprawnień ma postać

A. REVOKE ALL ON tabela1 FROM 'anna'@'locaihost'
B. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych wcześniej uprawnień użytkownikom. W kontekście pytania, właściwa odpowiedź to 'REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost''. To polecenie wskazuje na odebranie użytkownikowi 'anna' możliwości tworzenia nowych obiektów w bazie danych (CREATE), zmiany struktury istniejących obiektów (ALTER) oraz usuwania obiektów (DROP) w tabeli 'tabela1'. Odbieranie tych praw jest kluczowe w zarządzaniu bezpieczeństwem bazy danych, ponieważ pozwala na precyzyjne kontrolowanie, kto ma dostęp do modyfikacji struktury bazy danych. W praktyce, administratorzy baz danych często muszą ograniczać uprawnienia użytkowników, aby zapobiec nieautoryzowanym zmianom, które mogą wpłynąć na integralność danych. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby dostosować je do zmieniających się potrzeb organizacji oraz zwiększyć poziom bezpieczeństwa systemu.

Pytanie 27

Zadanie polecenia w języku SQL ALTER TABLE USA ... polega na

A. stworzeniu nowej tabeli USA
B. usunięciu tabeli USA
C. zamianie starej tabeli USA
D. modyfikacji tabeli USA

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź dotycząca modyfikacji tabeli USA za pomocą polecenia ALTER TABLE jest prawidłowa, ponieważ ALTER TABLE jest standardowym poleceniem SQL, które pozwala na wprowadzanie zmian w istniejącej tabeli. W praktyce możemy za jego pomocą dodawać nowe kolumny, modyfikować istniejące kolumny (np. zmieniając ich typ danych), lub usuwać kolumny, co jest kluczowe w procesie optymalizacji struktury bazy danych. Przykładem zastosowania tego polecenia może być dodanie kolumny 'wiek' do tabeli 'USA', co można osiągnąć poprzez wywołanie komendy: ALTER TABLE USA ADD wiek INT; Takie zmiany są częścią cyklu życia bazy danych, gdzie w odpowiedzi na nowe wymagania biznesowe lub techniczne dostosowujemy strukturę bazy. Warto przestrzegać dobrych praktyk, takich jak tworzenie kopii zapasowych przed wprowadzeniem zmian oraz testowanie modyfikacji w środowisku deweloperskim przed ich wdrożeniem na produkcji, co minimalizuje ryzyko utraty danych lub błędów w aplikacji.

Pytanie 28

Kod

SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)
wybiera
A. imiona, numery PESEL oraz wiek osób, które mają więcej niż 30 lat
B. imiona, numery PESEL oraz wiek osób mieszczących się w przedziale od 18 do 30 lat
C. imiona, nazwiska oraz numery PESEL osób, które mają mniej niż 18 lat
D. imiona, numery PESEL oraz wiek osób w wieku dokładnie 18 lub 30 lat

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ zapytanie SQL `SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30)` w sposób precyzyjny selekcjonuje dane tylko dla osób, których wiek wynosi dokładnie 18 lub 30 lat. Użycie operatora `IN` pozwala na wskazanie konkretnych wartości, które nas interesują, w tym przypadku są to dwa liczby: 18 i 30. Takie podejście jest zgodne z najlepszymi praktykami w tworzeniu zapytań SQL, gdyż umożliwia efektywne filtrowanie danych i minimalizowanie obciążenia bazy danych poprzez ograniczenie ilości przetwarzanych rekordów. W kontekście aplikacji, które wymagają analizy danych demograficznych, na przykład w systemach monitorujących wiek klientów, tego typu zapytania są niezwykle przydatne. Pozwalają na szybkie wyciąganie informacji potrzebnych do podejmowania decyzji, jak na przykład dostosowywanie ofert marketingowych do określonych grup wiekowych. Przykładowo, w instytucji finansowej analiza wieku klientów może być kluczowa w tworzeniu ofert produktów kredytowych skierowanych do osób młodych oraz do tych w średnim wieku, co pozwala na lepsze zrozumienie i zaspokojenie ich potrzeb.

Pytanie 29

Jak nazywa się WYBRANY minimalny zestaw atrybutów jednoznacznie identyfikujący każdy rekord (wartości unikalne i niepuste)?

A. głównym
B. obcym
C. złożonym
D. kandydującym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybrany, minimalny zestaw atrybutów o wartościach unikalnych i niepustych, jednoznacznie identyfikujący każdy rekord, to klucz GŁÓWNY (podstawowy). Dlatego mowa o kluczu głównym.

Pytanie 30

W bazie danych księgarni znajduje się tabela ksiazki, która zawiera pola: id, idAutor, tytul, ileSprzedanych, oraz tabela autorzy z polami: id, imie, nazwisko. Jak można utworzyć raport sprzedanych książek zawierający tytuły oraz nazwiska autorów?

A. konieczne jest stworzenie kwerendy, która wyszukuje tytuły książek
B. należy zdefiniować relację 1..1 pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
C. trzeba utworzyć dwie oddzielne kwerendy: pierwsza do wyszukiwania tytułów książek, druga do wyszukiwania nazwisk autorów
D. należy zdefiniować relację l..n pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja l..n między tabelami 'ksiazki' i 'autorzy' jest naprawdę ważna. To oznacza, że jeden autor może napisać kilka książek, co jest całkiem normalne w świecie księgarni. Dzięki tej relacji, dla każdego 'idAutor' w tabeli 'ksiazki' możemy mieć wiele wpisów, co super ułatwia powiązanie tytułów z autorami. Jakbyś stworzył kwerendę, która łączy te obie tabele, to bez problemu uzyskasz dane, które jasno pokazują te relacje. Na przykład, taka kwerenda SQL mogłaby wyglądać tak: SELECT ksiazki.tytul, autorzy.nazwisko FROM ksiazki JOIN autorzy ON ksiazki.idAutor = autorzy.id; Taki sposób działania jest zgodny z normalizacją danych, co sprawia, że nasze bazy danych będą efektywne i dobrze zorganizowane.

Pytanie 31

Co PRZYSPIESZA wyszukiwanie danych, ale może spowolnić operacje zapisu (INSERT/UPDATE)?

A. klucze podstawowe
B. reguły
C. indeksy
D. wartości domyślne

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Indeksy przyspieszają WYSZUKIWANIE danych (szybciej odnajdują wiersze), ale spowalniają zapis - przy każdym <code><span class="code-keyword">INSERT</span></code>/<code><span class="code-keyword">UPDATE</span></code> trzeba też zaktualizować indeks. Dlatego tę cechę mają indeksy.

Pytanie 32

Podaj polecenie SQL, które wprowadza kolumnę miesiacSiewu do istniejącej tabeli rosliny?

A. CREATE TABLE rosliny {miesiacSiewu int}
B. UPDATE rosliny ADD miesiacSiewu int
C. INSERT INTO rosliny VALUES (miesiacSiewu int)
D. ALTER TABLE rosliny ADD miesiacSiewu int

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to ALTER TABLE rosliny ADD miesiacSiewu int. To polecenie SQL jest używane do modyfikacji istniejącej tabeli w bazie danych. W tym przypadku, zmiana dotyczy dodania nowego pola 'miesiacSiewu', które określi miesiąc siewu roślin. Typ danych 'int' oznacza, że wartość tego pola będzie przechowywana jako liczba całkowita, co jest odpowiednie, jeśli miesiące będą reprezentowane jako liczby od 1 do 12. Przykład użycia polecenia w praktyce: po dodaniu tego pola można wprowadzać dane o miesiącu siewu dla różnych roślin, co może być przydatne w systemach zarządzania uprawami. Dobrą praktyką jest zawsze dokumentować zmiany w schemacie bazy danych, aby zapewnić spójność i przejrzystość w zarządzaniu danymi. Ważne jest również, aby przed modyfikacją tabeli upewnić się, że nie wprowadza to konfliktów z istniejącymi danymi lub strukturami.

Pytanie 33

Aby ułatwić wprowadzanie oraz modyfikację danych w tabeli, konieczne jest zdefiniowanie

A. filtra
B. formularza
C. kwerendy SELECT
D. raportu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Formularz to narzędzie, które pozwala na łatwe i intuicyjne wprowadzanie oraz edytowanie danych w bazie danych. W przeciwieństwie do kwerend, które są używane głównie do selekcji danych, formularze zapewniają interfejs użytkownika, który ułatwia zbieranie danych od użytkowników. Dzięki formularzom można zaprojektować przyjazny dla użytkownika interfejs, który może zawierać różne elementy, takie jak pola tekstowe, listy rozwijane, przyciski radiowe i przyciski akcji. Praktycznym zastosowaniem formularzy jest wprowadzanie danych do systemów zarządzania treścią, takich jak bazy danych dla aplikacji webowych czy systemów CRM. Dobrą praktyką jest stosowanie walidacji danych w formularzach, aby upewnić się, że wprowadzane informacje są zgodne z wymaganym formatem i nie zawierają błędów. Ponadto formularze mogą być zintegrowane z procesami automatyzacji, co znacznie zwiększa efektywność wprowadzania danych i minimalizuje ryzyko wystąpienia błędów.

Pytanie 34

Jak system CMS realizuje oddzielenie treści serwisu od jego wyglądu?

A. treść ze statycznych plików HTML, a wygląd ze szablonu
B. treść generuje z bazy danych, a wygląd ze zdefiniowanego szablonu
C. treść z bazy danych, a wygląd za pomocą atrybutów HTML
D. treść ze statycznych plików HTML, a wygląd we Flashu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CMS oddziela treść od wyglądu: TREŚĆ przechowuje w bazie danych i pobiera dynamicznie, a WYGLĄD definiuje osobny szablon (motyw). Dzięki temu zmiana szablonu nie rusza treści i odwrotnie. Dlatego CMS generuje treść z bazy danych, a wygląd ze zdefiniowanego szablonu.

Pytanie 35

Aby usunąć wybrane wiersze (rekordy) z tabeli, należy użyć polecenia:

A.
DELETE
B.
SELECT
C.
GRANT
D.
ALTER

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wiersze z tabeli usuwa polecenie <code><span class="code-keyword">DELETE</span></code>, zwykle z warunkiem <code><span class="code-keyword">WHERE</span></code> wskazującym, które rekordy skasować, np. <code><span class="code-keyword">DELETE</span> <span class="code-keyword">FROM</span> <span class="code-variable">klienci</span> <span class="code-keyword">WHERE</span> <span class="code-variable">id</span> <span class="code-text">=</span> <span class="code-number">5</span></code>. Bez warunku usunęłoby wszystkie wiersze, dlatego stosuje się je ostrożnie. Tabela i jej struktura pozostają - znikają tylko dane. Dlatego do usuwania rekordów służy <code><span class="code-keyword">DELETE</span></code>.

Pytanie 36

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

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

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 37

Po uszkodzeniu serwera bazy danych, aby jak najszybciej przywrócić pełną bazę, należy użyć:

A. kompletnej listy użytkowników serwera
B. aktualnej kopii zapasowej
C. najnowszej wersji instalacyjnej serwera
D. opisów struktur danych w tabelach

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Po uszkodzeniu serwera najszybciej odtworzysz PEŁNĄ bazę z aktualnej KOPII ZAPASOWEJ (backupu) - zawiera ona zarówno strukturę, jak i dane. Dlatego regularne kopie to podstawa bezpieczeństwa: im świeższy backup, tym mniejsza strata. Zapamiętaj: awaria danych = przywrócenie z kopii zapasowej.

Pytanie 38

Jakie uprawnienia 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ł eliminować rekordy z tabeli klienci.
B. Będzie mógł zmieniać strukturę tabeli klienci.
C. Będzie mógł dodawać rekordy do tabeli klienci.
D. Będzie mógł przeszukiwać dane w tabeli klienci.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "Będzie mógł zmienić strukturę tabeli klienci" jest prawidłowa, ponieważ użytkownik jan zyskał pełne uprawnienia do tabeli klienci za pomocą polecenia GRANT ALL PRIVILEGES. Oznacza to, że posiada on wszystkie dostępne uprawnienia w tym zakresie, w tym możliwość modyfikacji struktury tabeli, co obejmuje dodawanie lub usuwanie kolumn, zmienianie typów danych oraz wprowadzanie modyfikacji do indeksów. Jednakże, zastosowane polecenie REVOKE powoduje odebranie wybranych uprawnień, tj. SELECT, INSERT, UPDATE oraz DELETE. W związku z tym, mimo że jan może zmieniać strukturę tabeli, nie ma już możliwości wprowadzania, usuwania ani przeglądania danych. Praktycznie, na przykład, jeżeli jan chciałby dodać nową kolumnę do tabeli klienci, ma taką możliwość, jednak nie będzie mógł dodać nowych rekordów ani ich edytować. To podejście jest zgodne z najlepszymi praktykami zarządzania uprawnieniami w systemach baz danych, gdzie ważne jest precyzyjne określenie, jakie operacje mogą być realizowane przez różnych użytkowników.

Pytanie 39

Jaką funkcję pełni CONCAT w języku SQL?

A. przycina wyświetlany tekst
B. łączy (skleja) teksty w jeden ciąg
C. zwraca podłańcuch z tekstu wejściowego
D. usuwa wskazany fragment tekstu

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja <code><span class="code-variable">CONCAT</span></code> łączy (skleja) kilka wartości tekstowych w jeden ciąg, np. <code><span class="code-keyword">SELECT</span> <span class="code-function">CONCAT</span><span class="code-text">(</span><span class="code-variable">imie</span><span class="code-text">,</span> <span class="code-string">' '</span><span class="code-text">,</span> <span class="code-variable">nazwisko</span><span class="code-text">)</span> <span class="code-keyword">FROM</span> <span class="code-variable">klienci</span></code> zwróci pełne imię i nazwisko w jednej kolumnie. Przyjmuje dowolną liczbę argumentów i często służy do budowania czytelnych etykiet, adresów czy komunikatów z kolumn bazy. W MySQL pokrewna <code><span class="code-variable">CONCAT_WS</span></code> pozwala dodatkowo podać separator wstawiany między elementy. Dlatego <code><span class="code-variable">CONCAT</span></code> odpowiada za łączenie tekstu.

Pytanie 40

Aby odebrać użytkownikowi wcześniej nadane uprawnienia, należy zastosować polecenie:

A.
DELETE PRIVILEGES
B.
DELETE
C.
GRANT NO PRIVILEGES
D.
REVOKE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do odbierania uprawnień służy <code><span class="code-keyword">REVOKE</span></code> - polecenie z grupy DCL (Data Control Language), które stanowi odwrotność <code><span class="code-keyword">GRANT</span></code>. Wskazujesz w nim, jakie uprawnienia i na jakim obiekcie chcesz cofnąć oraz któremu użytkownikowi, na przykład <code><span class="code-keyword">REVOKE</span> <span class="code-keyword">INSERT</span> <span class="code-keyword">ON</span> <span class="code-variable">klienci</span> <span class="code-keyword">FROM</span> <span class="code-variable">jan</span></code>. Dzięki temu administrator może w każdej chwili ograniczyć dostęp, gdy zmienia się zakres obowiązków lub konto przestaje być potrzebne. To właśnie <code><span class="code-keyword">REVOKE</span></code> jest poprawną odpowiedzią.