Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 15 października 2026 21:08
Zakończenie: 15 października 2026 21:18
Egzamin zdany!
Wynik: 37/40 punktów (92,5%)
Wymagane minimum: 20 punktów (50%)
Pewność odpowiedzi
Żadna odpowiedź nie została oznaczona jako strzał.
Przy następnym egzaminie zaznaczaj niepewne odpowiedzi - zobaczysz wtedy, ile wyniku bierze się z wiedzy, a ile ze szczęścia.
Twój wynik na tle innych
Twój wynik jest lepszy niż 96% podejść do kwalifikacji INF.03.
Porównanie z 47854 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Poprawa! Poprzednio 0,0%, teraz 92,5% (+92,5 p.p.).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin trafi na Twoje konto, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
Jaką czynność należy wykonać przed zrobieniem kopii zapasowej danych w MySQL?
A. sprawdzenie, czy baza działa wystarczająco wydajnie
B. zweryfikowanie poprawności tabel w bazie oraz ewentualne naprawienie usterek
Twoja odpowiedź
C. przyznanie uprawnień do przeglądania bazy dla Administratora
D. ustalenie systemu kodowania znaków w bazie
Poprawna odpowiedź. Sprawdzenie poprawności tabel w bazie przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który pozwala na zapewnienie integralności danych. W przypadku, gdy w tabelach występują błędy, takie jak uszkodzone wiersze czy niedopasowane indeksy, proces tworzenia kopii zapasowej może nie uwzględnić tych problemów, co w konsekwencji prowadzi do utraty danych lub trudności w ich przywróceniu. W MySQL, przed rozpoczęciem backupu, zaleca się użycie polecenia 'CHECK TABLE' do weryfikacji stanu tabel. Przykładowo, jeśli tabela 'users' jest sprawdzana i wykryto błąd, można zastosować 'REPAIR TABLE', aby naprawić uszkodzenia. Dobrą praktyką w branży jest regularne tworzenie kopii zapasowych oraz prowadzenie audytów jakości danych, co pozwala na minimalizację ryzyka utraty informacji. Utrzymywanie bazy danych w dobrym stanie technicznym poprzez regularne sprawdzanie tabel oraz ich naprawianie jest zalecane w dokumentacji MySQL oraz innych systemów zarządzania bazami danych, co podkreśla znaczenie tego procesu w kontekście bezpieczeństwa danych.
Pytanie 2
W bazie danych znajduje się tabela o nazwie pracownicy z kolumnami: nazwisko, imię, pensja, wiek. Jak powinna wyglądać składnia polecenia do obliczenia średniej pensji pracowników?
A. select AVG (nazwisko) into pensja
B. select VAR (pensja) from nazwisko
C. select VAR (pracownicy) into pensja
D. select AVG (pensja) from pracownicy
Twoja odpowiedź
Poprawna odpowiedź. Poprawna odpowiedź, czyli polecenie 'select AVG (pensja) from pracownicy', wykorzystuje funkcję agregującą AVG, która jest standardowo stosowana w SQL do obliczania średniej wartości w kolumnie. W tym przypadku, polecenie to oblicza średnią pensję pracowników zapisanych w tabeli 'pracownicy'. Użycie funkcji AVG jest zgodne z dobrymi praktykami SQL, które zalecają stosowanie odpowiednich funkcji agregujących w celu efektywnego przetwarzania danych. Wartości w kolumnie 'pensja' są analizowane, a wynik zwraca jedną wartość — średnią pensję, co jest niezwykle użyteczne w kontekście raportowania czy analizy wynagrodzeń. Przykładowo, jeśli tabela zawiera pensje 3000, 4000 i 5000, funkcja AVG zwróci 4000. Tego rodzaju zapytania są powszechnie stosowane w raportach kadrowych oraz podczas analizy budżetu w organizacjach, co czyni je niezbędnym elementem wiedzy dla analityków danych oraz programistów baz danych.
Pytanie 3
Rekordy do raportu mogą pochodzić z
A. zapytania INSERT INTO
B. tabeli
Twoja odpowiedź
C. makropolecenia
D. innego raportu
Poprawna odpowiedź. Tabela stanowi fundamentalne źródło danych w kontekście raportowania, ponieważ przechowuje zorganizowane informacje w formie wierszy i kolumn. W praktyce, raporty często opierają się na danych zgromadzonych w tabelach, które są częścią bazy danych. Dzięki strukturze tabeli, możliwe jest łatwe filtrowanie, sortowanie i agregowanie danych, co jest kluczowe w procesie tworzenia raportów. Na przykład, w systemach CRM, dane o klientach są przechowywane w tabeli, co pozwala na wygenerowanie raportów dotyczących sprzedaży, aktywności klientów czy trendów rynkowych. W kontekście standardów branżowych, stosowanie tabel w relacyjnych bazach danych jest nie tylko powszechne, ale również zgodne z najlepszymi praktykami, które zalecają utrzymywanie danych w znormalizowanej formie, aby minimalizować redundancję i ułatwiać zarządzanie danymi. Dodatkowo, w przypadku tworzenia raportów, można korzystać z języka SQL, aby dynamicznie wydobywać dane z tabel, co zwiększa elastyczność i precyzję raportowania.
Pytanie 4
W tabeli artykuly (kolumny: nazwa, typ, producent, cena) chcemy wypisać nazwy artykułów typu „pralka” o cenie od 1000 do 1500 zł. Które zapytanie jest poprawne?
Poprawna odpowiedź. Aby spełnione były oba wymagania naraz - typ i zakres ceny - warunki łączy się operatorem AND. Zakres wartości zapisuje się przez BETWEENdolnaANDgórna, która obejmuje też końce przedziału. Poprawne zapytanie to więc SELECTnazwaFROMartykulyWHEREtyp="pralka"ANDcenaBETWEEN1000AND1500. Dlatego ta odpowiedź jest właściwa.
Pytanie 5
Której kwerendy SQL należy użyć, aby utworzyć tabelę samochod z atrybutami marka, model, cena, gdzie marka i model są typu tekstowego, natomiast cena jest liczbą rzeczywistą typu stałoprzecinkowego?
A. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena DOUBLE);
B. CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena FLOAT);
C. CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));
Twoja odpowiedź
D. CREATE TABLE samochod (marka INT(30), model INT(30), cena DECIMAL(2,15));
Poprawna odpowiedź. Poprawna kwerenda używa składni CREATE TABLE z listą kolumn i ich typów danych: CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));. To dokładnie odpowiada treści zadania. Atrybuty marka i model są typu tekstowego, więc zastosowano CHAR(30) – stałej długości łańcuch znaków. W praktyce w wielu projektach częściej używa się VARCHAR zamiast CHAR (bo oszczędza miejsce przy krótszych napisach), ale użycie CHAR(30) jest jak najbardziej poprawne i zgodne ze składnią SQL. Kluczowy jest tu typ ceny. W zadaniu jest mowa o liczbie rzeczywistej typu stałoprzecinkowego, czyli takiej, która przechowuje część ułamkową, ale w sposób dokładny, a nie przybliżony. Do tego właśnie służy DECIMAL(p,s) (lub NUMERIC), gdzie p to precyzja (łączna liczba cyfr), a s to skala (liczba cyfr po przecinku). DECIMAL(15,2) oznacza liczbę z maksymalnie 15 cyframi, z czego 2 po przecinku, czyli świetnie nadaje się np. do przechowywania cen w złotówkach i groszach: 1234567890123,45 mieści się w takim typie. To jest standardowa, dobra praktyka w systemach finansowych, sklepach internetowych, systemach magazynowych itp., bo unikamy błędów zaokrągleń charakterystycznych dla typów zmiennoprzecinkowych jak FLOAT czy DOUBLE. W realnych bazach danych (MySQL, PostgreSQL, SQL Server) kolumny z cenami, stawkami VAT, rabatami procentowymi prawie zawsze definiuje się właśnie jako DECIMAL z odpowiednią skalą, a nie jako typy binarne zmiennoprzecinkowe. Warto też zauważyć, że prawidłowa składnia CREATE TABLE nie używa słowa VALUES przy definiowaniu struktury tabeli – po nazwie tabeli od razu podajemy listę kolumn z typami, tak jak w wybranej odpowiedzi. Taka konstrukcja jest zgodna z SQL-92 i wspierana przez wszystkie popularne systemy bazodanowe.
Pytanie 6
Dostępna jest tabela zatytułowana wycieczki, zawierająca kolumny nazwa, cena oraz miejsca (jako liczba dostępnych miejsc). Aby wyświetlić jedynie nazwy wycieczek, których cena jest poniżej 2000 złotych oraz posiadają co najmniej cztery dostępne miejsca, należy zastosować zapytanie
Poprawna odpowiedź. Wybrana odpowiedź jest prawidłowa, ponieważ wykorzystuje operator AND, który jest kluczowy dla spełnienia obu warunków jednocześnie: cena musi być niższa niż 2000 zł, a liczba wolnych miejsc musi być większa niż 3. Dzięki temu zapytanie działa zgodnie z zamierzeniem, wyświetlając tylko te wycieczki, które rzeczywiście spełniają oba kryteria. Dodatkowo, wybór kolumny 'nazwa' zamiast wszystkich kolumn (jak w przypadku użycia *) optymalizuje zapytanie, co jest dobrym podejściem w kontekście wydajności bazy danych. W przypadku większych zbiorów danych, ograniczenie liczby zwracanych kolumn do tych faktycznie potrzebnych jest zgodne z zasadami dobrych praktyk w zakresie projektowania zapytań SQL. Można to zaobserwować na przykład w aplikacjach rezerwacji, gdzie użytkownicy są zainteresowani tylko kluczowymi informacjami o dostępnych wycieczkach. W związku z tym, poprawna konstrukcja zapytania nie tylko spełnia wymogi funkcjonalne, ale także wpływa na wydajność i czytelność kodu.
Pytanie 7
W zaprezentowanym fragmencie zapytania SQL, instrukcja SELECT ma za zadanie zwrócić
SELECTCOUNT(wartosc) FROM ...
A. suma w kolumnie wartosc
B. liczby rekordów
Twoja odpowiedź
C. średniej wartości tabeli
D. średniej w kolumnie wartosc
Poprawna odpowiedź. Komenda SELECT COUNT w języku SQL jest używana do zwracania liczby wierszy w rezultacie zapytania. Użycie funkcji COUNT z nazwą kolumny, jak w przykładzie SELECT COUNT(wartosc), pozwala policzyć wszystkie niepuste wartości w danej kolumnie wartosc w tabeli. Jest to przydatne w przypadkach, gdy chcemy zrozumieć, ile danych spełnia określone kryteria, lub gdy interesuje nas liczba wierszy zawierających wartości w konkretnej kolumnie. Funkcja COUNT jest jedną z podstawowych funkcji agregujących w SQL, co oznacza, że podsumowuje dane w określony sposób. Stosowanie tej funkcji jest zgodne z najlepszymi praktykami w projektowaniu baz danych, gdzie często potrzebujemy analizować dane w sposób ilościowy. Przykładowo, jeśli prowadzimy bazę danych klientów, możemy użyć SELECT COUNT(id) FROM klienci, aby dowiedzieć się, ilu mamy zarejestrowanych klientów. Ta funkcja jest także kluczowym elementem w optymalizacji zapytań, ponieważ pozwala na szybkie uzyskanie informacji o liczbie rekordów bez konieczności przetwarzania wszystkich danych z tabeli. Zrozumienie działania COUNT i jego zastosowań jest kluczowe dla efektywnego przetwarzania danych i tworzenia wydajnych zapytań w języku SQL.
Pytanie 8
Formularze do zarządzania bazami danych są tworzone w celu
A. tworzenia powiązań w relacyjnych bazach danych
B. wyszukiwania rekordów spełniających określone kryteria
C. łatwiejszego wprowadzania, edytowania oraz usuwania danych
Twoja odpowiedź
D. generowania raportów z danych
Poprawna odpowiedź. Formularze do obsługi baz danych są kluczowym narzędziem, które umożliwia użytkownikom łatwe wprowadzanie, edytowanie i usuwanie danych w sposób zorganizowany i efektywny. Głównym celem formularzy jest zapewnienie przyjaznego interfejsu, który upraszcza interakcję z bazą danych, eliminując potrzebę bezpośredniego wprowadzania poleceń SQL czy pracy z tabelami w surowej formie. Dzięki formularzom użytkownicy mogą szybko wprowadzać dane do bazy, a także modyfikować istniejące rekordy, co jest szczególnie istotne w codziennym zarządzaniu danymi. Przykładem zastosowania formularzy jest system CRM, gdzie zespół sprzedażowy może w prosty sposób dodawać nowe informacje o klientach czy aktualizować dane kontaktowe. Dobre praktyki w projektowaniu formularzy obejmują zapewnienie walidacji danych, co pozwala na uniknięcie błędów podczas wprowadzania, oraz stosowanie odpowiednich typów pól, takich jak daty, numery czy listy rozwijane, które zwiększają użyteczność formularza. W skrócie, formularze są nieodłącznym elementem efektywnego zarządzania danymi i poprawiają wydajność pracy z bazami danych.
Pytanie 9
Która funkcja PHP ustawia KODOWANIE znaków połączenia z bazą (np. dla polskich liter)?
A.
mysqli_set_charset()
Twoja odpowiedź
B.
mysqli_query()
C.
mysqli_fetch_assoc()
D.
mysqli_connect()
Poprawna odpowiedź. Nawet gdy tabele są w utf8, połączenie PHP-baza może domyślnie używać innego kodowania - i wtedy „ą”, „ś”, „ł” zamieniają się w „krzaki”. Naprawia to mysqli_set_charset($polaczenie,"utf8"), ustawiając kodowanie znaków dla całej komunikacji z bazą. Wywołuje się ją raz, zaraz po połączeniu. Zapamiętaj: „set_charset” = ustaw zestaw znaków połączenia, żeby polskie litery zapisywały się i czytały poprawnie.
Pytanie 10
Na podstawie tabeli Towar wykonano następujące zapytanie SQL. Jaki będzie wynik tej operacji?
SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC;
ID
nazwa_towaru
cena_katalogowa
waga
kolor
1
Papier ksero A4
11
2.3
biel
2
Zeszyt A5
4.2
0.13
wielokolorowy
3
Zeszyt A5 w linie
3.5
0.12
niebieski
4
Kredki 24 kolory
9
0.3
wielokolorowy
5
Plecak szkolny
65.5
1.3
zielony
A. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
Poprawna odpowiedź
B. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
C. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
Twoja odpowiedź
D. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
Niepoprawna odpowiedź. Twoja odpowiedź jest niepoprawna. Wydaje się, że nie zrozumiałeś, jak działa zapytanie SQL w kontekście selekcji i sortowania danych. Zapytanie to zwracałoby nazwy towarów, które spełniają warunek ceny katalogowej mniejszej niż 65. Następnie sortuje te towary od najcięższego do najlżejszego. W przypadku podanej tabeli towary, które spełniają te warunki to: Papier ksero A4 (waga 2.3), Kredki 24 kolory (waga 0.3), Zeszyt A5 (waga 0.13) i Zeszyt A5 w linie (waga 0.12). Błędne odpowiedzi sugerują, że nie zrozumiałeś, w jaki sposób zapytanie SQL sortuje wyniki na podstawie wagi. Istotne jest zrozumienie, że SQL pozwala na filtrowanie danych za pomocą różnych operatorów, takich jak 'mniejszy od', a następnie sortowanie tych wyników za pomocą różnych kryteriów. W tym przypadku sortowanie odbywa się od najcięższego do najlżejszego towaru. Upewnij się, że rozumiesz te koncepcje, ponieważ są one kluczowe w pracy z bazami danych.
Pytanie 11
W bazie danych znajduje się tabela ksiazki, która zawiera pola: tytul, id_autora, data_wypoz oraz id_czytelnika. Co dzień generowany jest raport dotyczący książek wypożyczonych w danym dniu, który prezentuje tylko tytuły książek. Która z poniższych kwerend SQL będzie odpowiednia do utworzenia tego raportu?
Poprawna odpowiedź. Wybrana kwerenda SQL, czyli 'SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE();', jest poprawna, ponieważ precyzyjnie spełnia wymagania zadania. Kwerenda ta wybiera jedynie tytuły książek z tabeli 'ksiazki', które zostały wypożyczone w dniu, który odpowiada bieżącej dacie. Funkcja 'CURRENT_DATE()' zwraca datę systemową w formacie YYYY-MM-DD, co pozwala na prawidłowe porównanie z polem 'data_wypoz'. Takie podejście jest zgodne z dobrymi praktykami w zakresie analizy baz danych, gdzie minimalizowanie liczby zwracanych danych do niezbędnego minimum znacząco poprawia wydajność zapytań. W praktyce, taka kwerenda może być przydatna w systemach bibliotek, które generują codzienne raporty wypożyczeń, umożliwiając bibliotekarzom szybki dostęp do informacji o książkach, które były popularne danego dnia. Warto także pamiętać o możliwości używania dodatkowych filtrów, na przykład według konkretnego czytelnika, co zwiększa funkcjonalność raportu.
Pytanie 12
Przy użyciu komendy ALTER TABLE można
A. zmodyfikować strukturę tabeli
Twoja odpowiedź
B. skasować tabelę
C. usunąć dane z rekordu
D. zmienić dane w rekordach
Poprawna odpowiedź. Kiedy mówimy o poleceniu ALTER TABLE w SQL, to jest to naprawdę ważne narzędzie, które pozwala na zmianę struktury tabeli w bazie danych. Możemy dzięki niemu dodać nowe kolumny, zmienić rodzaj danych w istniejących czy nawet usunąć niepotrzebne kolumny. Na przykład, gdybyśmy chcieli dodać kolumnę 'data_urodzenia' do tabeli 'pracownicy', to musielibyśmy użyć takiego polecenia: ALTER TABLE pracownicy ADD data_urodzenia DATE;. To wszystko jest kluczowe, żeby nasze aplikacje mogły się rozwijać i żeby baza danych spełniała coraz to nowe wymagania. Z mojego doświadczenia wynika, że najlepiej jest zawsze robić kopię zapasową danych przed wprowadzeniem jakichkolwiek zmian. Dobrze by też było testować zmiany w środowisku, które nie jest produkcyjne, zanim coś popsujemy. Warto pamiętać, że niektóre operacje mogą wymagać zablokowania tabeli, co może skutkować tym, że użytkownicy nie będą mogli korzystać z systemu, więc trzeba to mieć na uwadze.
Pytanie 13
Który obiekt bazy danych z graficznym interfejsem służy do wprowadzania danych?
A. formularz
Twoja odpowiedź
B. kwerenda
C. raport
D. encja
Poprawna odpowiedź. Formularz to obiekt bazy danych z graficznym interfejsem, który ułatwia WPROWADZANIE i edycję danych - zamiast wpisywać je wprost do tabeli, użytkownik korzysta z czytelnych pól. Dlatego do wprowadzania danych służy formularz.
Pytanie 14
Do czego służy w MS SQL Server polecenie RESTOREDATABASE?
A. do przywrócenia bazy danych z kopii zapasowej
Twoja odpowiedź
B. do aktualizacji bazy z weryfikacją więzów integralności
C. do rekonstrukcji bazy z danych buforowanych
D. do usunięcia bazy z serwera
Poprawna odpowiedź. Polecenie RESTOREDATABASE w MS SQL Server przywraca bazę z wcześniej utworzonej KOPII ZAPASOWEJ (pliku .bak) - odtwarza jej strukturę i dane do stanu z momentu backupu. To odpowiednik „cofnięcia” po awarii. Zapamiętaj parę: BACKUP robi kopię, RESTORE ją odtwarza.
Pytanie 15
Podane w ramce polecenie SQL ma za zadanie
UPDATEUczenSETid_klasy=id_klasy+1;
A. ustawić wartość w kolumnie id_klasy na 1 dla wszystkich rekordów tabeli Uczen
B. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
Twoja odpowiedź
C. ustawić wartość pola id_klasy na 1 dla wszystkich rekordów tabeli Uczen
D. zwiększyć o jeden wartość pola id_klasy w jednym rekordzie tabeli Uczen
Poprawna odpowiedź. Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1; modyfikuje wszystkie rekordy w tabeli Uczen, bo nie ma w nim klauzuli WHERE. To jest kluczowa rzecz: brak WHERE oznacza, że polecenie dotyczy całej tabeli, a nie pojedynczego wiersza. Wyrażenie id_klasy = id_klasy + 1 oznacza aktualizację kolumny na podstawie jej dotychczasowej wartości – po prostu dodajemy 1 do obecnej wartości w każdej krotce. Nie ustawiamy stałej wartości, tylko wykonujemy operację arytmetyczną na kolumnie. W praktyce taki zapis stosuje się np. gdy chcemy przesunąć identyfikatory klas, zmienić numerację poziomów, podnieść wszystkim uczniom numer semestru albo zaktualizować jakiś licznik. W SQL to bardzo typowy wzorzec: UPDATE tabela SET kolumna = kolumna + wartość WHERE warunek; i w dobrych praktykach zawsze pilnuje się, żeby świadomie używać lub pomijać WHERE. Administratorzy baz danych zwykle wręcz powtarzają zasadę: przed uruchomieniem UPDATE bez WHERE zastanów się dwa razy, czy na pewno chcesz zmienić wszystkie wiersze. Moim zdaniem warto zapamiętać dwie rzeczy: po pierwsze, UPDATE bez WHERE = aktualizacja wszystkich rekordów; po drugie, po lewej stronie znaku równości zawsze jest nazwa kolumny, którą zmieniamy, a po prawej – wyrażenie, z którego zostanie policzona nowa wartość. To wyrażenie może używać starej wartości tej samej kolumny, tak jak tutaj. W wielu systemach bazodanowych (np. MySQL, PostgreSQL, SQL Server) ta konstrukcja działa identycznie, więc to taki uniwersalny, standardowy zapis, zgodny z ogólnymi zasadami języka SQL.
Pytanie 16
Który atrybut nadać polu, aby przyjmowało automatycznie kolejne liczby całkowite?
A.
NULL
B.
NOTNULL
C.
AUTO_INCREMENT
Twoja odpowiedź
D.
PRIMARYKEY
Poprawna odpowiedź. Atrybut AUTO_INCREMENT sprawia, że przy każdym nowym rekordzie pole samo przyjmuje kolejną liczbę całkowitą (1, 2, 3, ...), bez podawania jej ręcznie. Stosuje się go zwykle dla klucza głównego z unikalnymi identyfikatorami. Dlatego automatyczną numerację daje AUTO_INCREMENT.
Pytanie 17
Do usuwania czego stosuje się w MySQL polecenie TRUNCATETABLE?
A. tabel
B. kolumn
C. wierszy tabeli
Twoja odpowiedź
D. baz danych
Poprawna odpowiedź. Polecenie TRUNCATETABLE usuwa z tabeli WSZYSTKIE wiersze naraz, zostawiając jej strukturę (kolumny, definicję) nienaruszoną. Działa szybciej niż DELETE bez warunku, bo nie kasuje wiersz po wierszu. Dlatego TRUNCATETABLE usuwa wiersze tabeli.
Pytanie 18
Jakie są wyniki wykonania zapytania SQL?
SELECT count(*) FROM Uczniowie WHERE srednia=5;
A. łączna liczba uczniów
B. średnia wszystkich ocen uczniów
C. ilość uczniów, których średnia ocen wynosi 5
Twoja odpowiedź
D. suma ocen uczniów z średnią 5
Poprawna odpowiedź. Zapytanie SQL używa funkcji COUNT aby policzyć liczbę rekordów w tabeli Uczniowie spełniających warunek srednia=5 Klauzula WHERE ogranicza zestaw zliczanych rekordów do tych gdzie średnia ocen ucznia wynosi dokładnie 5 W efekcie wynik zapytania odpowiada liczbie uczniów mających średnią ocen równą 5 Takie podejście jest powszechnie stosowane w analizie danych gdzie wymagane jest określenie liczby jednostek spełniających konkretne kryteria Zastosowanie COUNT w połączeniu z WHERE umożliwia precyzyjną kontrolę nad analizowanym zbiorem danych co jest standardem w wielu systemach bazodanowych Praktyczne zastosowanie tej techniki można spotkać w raportowaniu wyników nauczania generowaniu statystyk czy w analizach biznesowych gdzie kluczowe jest zrozumienie struktury i charakterystyki danych Zapytanie to ilustruje dobrą praktykę pracy z bazami danych polegającą na efektywnym i precyzyjnym formułowaniu zapytań w celu uzyskania wartościowych i precyzyjnych informacji
Pytanie 19
Wykonano następującą kwerendę SQL na tabeli dania, której wiersze zostały pokazane na obrazie:
SELECT*FROMdaniaWHEREtyp<3ANDcena<30LIMIT5;
Ile wierszy wybierze ta kwerenda?
id
typ
nazwa
cena
1
1
Gazpacho
20
2
1
Krem z warzyw
25
3
1
Gulaszowa ostra
30
4
2
Kaczka i owoc
30
5
2
Kurczak pieczony
40
6
2
wieprzowy przysmak
35
7
2
Mintaj w panierce
30
8
2
Alle kotlet
30
9
3
Owoce morza
20
10
3
Grzybki, warzywka, sos
15
11
3
Orzechy i chipsy
10
12
3
Tatar i jajo
15
13
3
Bukiet warzyw
10
A. 13
B. 8
C. 5
D. 2
Twoja odpowiedź
Poprawna odpowiedź. 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 20
Czym jest DBMS?
A. strukturalnym językiem zapytań do bazy danych
B. systemem zarządzania bazą danych
Twoja odpowiedź
C. kaskadowym arkuszem stylów do opisu wyglądu strony
D. obiektowym językiem programowania do tworzenia stron
Poprawna odpowiedź. DBMS (Database Management System) to system zarządzania bazą danych - oprogramowanie, które przechowuje dane, udostępnia je wielu użytkownikom, kontroluje dostęp i wykonuje zapytania (np. SQL). Przykłady to MySQL, MariaDB, PostgreSQL czy MS SQL Server. Dlatego DBMS to system zarządzania bazą danych.
Pytanie 21
Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL pozwala na
A. przyznawanie uprawnień z użyciem ustalonego schematu
B. usunięcie użytkownika z bazy danych
C. przyznawanie praw do tabeli
D. odebranie uprawnień danemu użytkownikowi
Twoja odpowiedź
Poprawna odpowiedź. Polecenie REVOKE SELECT ON w języku SQL jest używane do odbierania uprawnień do wykonywania operacji SELECT na określonej tabeli lub widoku dla konkretnego użytkownika lub grupy użytkowników. W przypadku użycia tej komendy, administrator bazy danych lub właściciel obiektu wskazuje, że dany użytkownik nie ma już prawa do odczytu danych z określonej tabeli, co skutkuje zablokowaniem dostępu do informacji w tej tabeli. Przykładowo, jeśli mamy tabelę 'Pracownicy' i użytkownika 'JanKowalski', polecenie REVOKE SELECT ON Pracownicy FROM JanKowalski skutkuje tym, że Jan Kowalski nie będzie mógł wykonywać zapytań typu SELECT na tej tabeli. Ważne jest, aby zrozumieć, że polecenie to nie usuwa użytkownika z bazy danych ani nie zmienia struktury bazy, a jedynie modyfikuje uprawnienia dostępu. W kontekście SQL, standardy takie jak ANSI SQL definiują sposób, w jaki uprawnienia mogą być przyznawane i odbierane, co sprawia, że umiejętność zarządzania uprawnieniami jest niezbędna dla każdego administrującego bazą danych.
Pytanie 22
Jak nazywa się nadrzędny formularz służący do nawigacji między formularzami i kwerendami bazy?
A. pierwotnym
B. zagnieżdżonym
C. głównym
Twoja odpowiedź
D. sterującym
Poprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe nazwy nie są poprawne w tym znaczeniu. „Główny”, „pierwotny” czy „zagnieżdżony” nie określają formularza-menu (zagnieżdżony to formularz osadzony w innym). Nadrzędny formularz nawigacyjny to formularz sterujący.
Pytanie 23
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;
id
rodzaj
imie
wlasciciel
szczepienie
opis
1
1
Fafik
Adam Kowalski
2016
problemy z uszami
2
1
Brutus
Anna Wysocka
2016
zapalenie krtani
4
1
Saba
Monika Nowak
2015
antybiotyk
5
1
Alma
Jan Kowalewski
NULL
antybiotyk
6
2
Figaro
Anna Kowalska
NULL
problemy z uszami
7
2
Dika
Katarzyna Kowal
2016
operacja
8
2
Fuks
Jan Nowak
2016
antybiotyk
A. Figaro, Dika, Fuks
B. Fafik, Brutus, Dika, Fuks
C. Dika, Fuks
Twoja odpowiedź
D. Anna Kowalska, Jan Nowak
Poprawna odpowiedź. 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 24
Aby wykonać kopię zapasową bazy danych na serwerze MS SQL, należy użyć polecenia:
A.
UNBACKUPDATABASE
B.
EXPORTDATABASE
C.
SAVEDATABASE
D.
BACKUPDATABASE
Twoja odpowiedź
Poprawna odpowiedź. Kopię zapasową bazy w MS SQL Server tworzy polecenie BACKUPDATABASE, któremu podaje się nazwę bazy i miejsce zapisu, np. BACKUPDATABASEsklepTODISK='c:\sklep.bak'. Z takiej kopii można później odtworzyć bazę poleceniem RESTOREDATABASE. Regularne kopie chronią przed utratą danych. Dlatego do wykonania kopii służy BACKUPDATABASE.
Pytanie 25
W tabeli artykuły wykonano następujące instrukcje dotyczące uprawnień użytkownika jan:
GRANT ALL PRIVILEGES ON artykuly TO jan
REVOKE SELECT, UPDATE ON artykuly FROM jan
Po zrealizowaniu tych instrukcji pracownik jan będzie uprawniony do
A. tworzenia tabeli i wypełniania jej danymi
Twoja odpowiedź
B. tworzenia tabeli oraz edytowania danych w niej
C. edycji danych oraz przeglądania tabeli
D. wyświetlania zawartości tabeli
Poprawna odpowiedź. Jan, po wydaniu polecenia GRANT ALL PRIVILEGES ON artykuly TO jan, miał pełne uprawnienia do wszystkich operacji na tabeli artykuly. Jednakże, po wykonaniu polecenia REVOKE SELECT, UPDATE ON artykuly FROM jan, jego uprawnienia do przeglądania danych (SELECT) oraz aktualizacji danych (UPDATE) zostały odebrane. Oznacza to, że Jan zachowuje możliwość tworzenia nowych tabel oraz wypełniania ich danymi (INSERT), ponieważ nie został ograniczony w tym zakresie. Możliwości tworzenia tabeli i wypełniania jej danymi są częścią przyznanych uprawnień. W standardzie SQL, komendy GRANT i REVOKE służą odpowiednio do przyznawania i odbierania uprawnień użytkownikom. W praktycznym zastosowaniu, takie operacje są kluczowe dla zarządzania bezpieczeństwem i dostępem do danych w bazach danych, co zapobiega nieautoryzowanym zmianom i zabezpiecza integralność danych.
Pytanie 26
Aby udostępnić aplikację PHP w internecie, jej pliki źródłowe należy skopiować na serwer za pomocą protokołu:
A. SMTP
B. FTP
Twoja odpowiedź
C. HTTP
D. NNTP
Poprawna odpowiedź. Pliki źródłowe aplikacji wgrywa się na serwer protokołem FTP (lub jego bezpieczną odmianą SFTP), zwykle za pomocą klienta takiego jak FileZilla. Po skopiowaniu plików do katalogu serwera aplikacja staje się dostępna pod adresem WWW. Dlatego do publikacji aplikacji PHP używa się protokołu FTP.
Pytanie 27
Co robi polecenie:
GRANTALLPRIVILEGESONklienciTOpracownik;
?
A. kopiuje uprawnienia z klienci na pracownik
B. nadaje użytkownikowi pracownik wszystkie prawa do tabeli klienci
Twoja odpowiedź
C. nadaje grupie klienci prawa do tabeli pracownik
D. odbiera pracownik wszystkie prawa do klienci
Poprawna odpowiedź. Polecenie GRANTALLPRIVILEGESONklienciTOpracownik; nadaje użytkownikowi pracownik WSZYSTKIE prawa do obiektu klienci (tabeli). Dlatego nadaje użytkownikowi pracownik wszystkie prawa do tabeli klienci.
Pytanie 28
Źródłem danych dla raportu może być
A. inny raport
B. tabela
Twoja odpowiedź
C. makropolecenie
D. zapytanie INSERT INTO
Poprawna odpowiedź. Tabela jest podstawowym elementem struktury bazy danych, który służy jako źródło danych dla raportów. Tabele przechowują zorganizowane informacje w formie wierszy i kolumn, co umożliwia łatwy dostęp i analizę danych. Każda kolumna w tabeli reprezentuje atrybut, a każdy wiersz to pojedynczy rekord z danymi. Przykładowo, w tabeli zawierającej informacje o klientach, kolumny mogą obejmować imię, nazwisko, adres e-mail i numer telefonu. Dzięki standardom takim jak SQL (Structured Query Language), można łatwo wykonywać operacje na tych tabelach, takie jak selekcja, aktualizacja czy usuwanie danych. Tabele są fundamentalne w systemach zarządzania bazami danych (DBMS) i stanowią podstawowe źródło dla generowania raportów, które mogą być wykorzystywane w różnych kontekstach biznesowych. W raportach można agregować dane, obliczać różne wskaźniki oraz wizualizować wyniki, co czyni tabele nieocenionym elementem w analizie danych.
Pytanie 29
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. należy zdefiniować relację l..n pomiędzy tabelami ksiazki a autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Twoja odpowiedź
D. trzeba utworzyć dwie oddzielne kwerendy: pierwsza do wyszukiwania tytułów książek, druga do wyszukiwania nazwisk autorów
Poprawna odpowiedź. 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 30
W języku SQL zrealizowano polecenia GRANT przedstawione w ramce. Kto uzyska prawo do przeglądania i modyfikowania danych?
Poprawna odpowiedź. Odpowiedź, że prawo do przeglądania i zmiany danych mają Tomasz i Adam, jest prawidłowa, ponieważ wynikają one z poleceń GRANT wykonanych w SQL. Adam otrzymuje pełne prawa do bazy danych 'frmy' dzięki komendzie 'GRANT ALL', co oznacza, że może zarówno przeglądać, jak i modyfikować wszelkie dane w tej bazie. Z kolei Tomasz, dzięki przyznanym mu uprawnieniom SELECT, INSERT i UPDATE, również ma możliwość przeglądania danych oraz ich zmiany. Ta sytuacja odzwierciedla kluczowe aspekty zarządzania uprawnieniami w systemach baz danych, gdzie precyzyjne przydzielanie ról i dostępów jest fundamentalne dla zapewnienia bezpieczeństwa i integralności danych. Praktyczne zastosowania takich operacji obejmują sytuacje, w których administratorzy baz danych muszą zróżnicować dostęp do danych w zależności od ról użytkowników, co jest zgodne z zasadami minimalnych uprawnień, które są standardem w branży IT.
Pytanie 31
Poniżej przedstawiono sposób obsługi:
<?php
if (!isset($_COOKIE[$nazwa]))
echo"nie ustawiono!";
elseecho"ustawiono, wartość: ".$_COOKIE[$nazwa];
?>
A. baz danych
B. ciasteczek
Poprawna odpowiedź
C. zmiennych tekstowych
Twoja odpowiedź
D. sesji
Niepoprawna odpowiedź. Analizując przedstawione odpowiedzi, najpierw rozważmy zmienne tekstowe. Kod PHP nie odnosi się bezpośrednio do operacji na zmiennych tekstowych, które zazwyczaj obejmują manipulację ciągami znaków przy użyciu funkcji takich jak strlen czy str_replace. Kod dotyczy mechanizmu przechowywania danych między żądaniami HTTP, co nie jest typowe dla obsługi zmiennych tekstowych. Kolejna opcja to baza danych. Skrypty PHP często współpracują z bazami danych w celu przechowywania i pobierania danych, ale w tym przypadku żadna operacja na bazie danych nie jest wykonywana. Nie ma użytych funkcji typowych dla obsługi baz danych, takich jak mysqli_query czy PDO. Skrypt nie ustanawia połączenia z bazą danych ani nie wykonuje zapytań. Natomiast sesje to mechanizm do przechowywania danych o użytkownikach między żądaniami, ale działa inaczej niż ciasteczka. Sesje zwykle przechowują informacje na serwerze, a jedynie identyfikator sesji jest przechowywany po stronie klienta, często w ciasteczku, ale niekoniecznie. Kod nie wykorzystuje zmiennej $_SESSION, która jest typowa dla obsługi sesji. Każda z tych koncepcji ma swoje zastosowania i ograniczenia, jednak w kontekście przedstawionego kodu kluczowe jest zrozumienie, że podstawową operacją wykonywaną jest manipulacja ciasteczkami, co wyklucza inne podane rozwiązania i wskazuje na prawidłową odpowiedź jako na obsługę ciasteczek w PHP. Kod ilustruje prosty przykład sprawdzania i wyświetlania wartości ciasteczka, co jest podstawowym zastosowaniem tej technologii po stronie klienta.
Pytanie 32
Która metoda przesłania danych poufnych z formularza jest NAJBEZPIECZNIEJSZA?
A. metoda POST przez HTTPS
Twoja odpowiedź
B. metoda GET przez HTTPS
C. metoda POST przez HTTP
D. metoda GET przez HTTP
Poprawna odpowiedź. Najbezpieczniejsze jest połączenie metody POST z protokołem HTTPS. POST przesyła dane w treści żądania (nie w widocznym adresie URL), a HTTPS dodatkowo SZYFRUJE całą transmisję - więc nawet przechwycone dane są nieczytelne. To standard przy logowaniu i płatnościach. Zapamiętaj: POST ukrywa dane w żądaniu, HTTPS je szyfruje - razem dają maksymalne bezpieczeństwo.
Pytanie 33
Wskaż prawdziwe stwierdzenie dotyczące polecenia:
CREATE TABLE IF NOT EXISTSadres (ulicaVARCHAR(70) CHARACTER SETutf8);
A. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
Twoja odpowiedź
B. Klauzula CHARACTER SET utf8 jest obowiązkowa.
C. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
D. Rekordem tabeli nie może być '3 MAJA'.
Poprawna odpowiedź. Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.
Pytanie 34
Który typ danych najlepiej nadaje się do zapisania daty urodzenia ucznia?
A.
ENUM
B.
DATE
Twoja odpowiedź
C.
TIME
D.
BLOB
Poprawna odpowiedź. Datę urodzenia - samą datę, bez godziny - najlepiej zapisać typem DATE, który przechowuje rok, miesiąc i dzień (format RRRR-MM-DD). Pozwala to porównywać daty, sortować je i liczyć wiek bezpośrednio w bazie. Gdyby potrzebny był też czas, użyłoby się DATETIME lub TIMESTAMP, ale dla daty urodzenia wystarcza DATE. Dlatego to on jest właściwym typem.
Pytanie 35
Czym jest relacja w bazach danych?
A. kluczem podstawowym w relacji tabel
B. połączeniem dwóch pól jednej tabeli
C. algebraicznym powiązaniem tabel
D. logicznym powiązaniem tabel
Twoja odpowiedź
Poprawna odpowiedź. Relacja w bazie danych to LOGICZNE powiązanie między tabelami - zwykle realizowane przez klucze: klucz obcy w jednej tabeli wskazuje klucz główny w drugiej. Dzięki relacjom dane są rozdzielone między powiązane tabele (np. klienci i ich zamówienia), co ogranicza nadmiarowość i pilnuje spójności. Dlatego relacja to logiczne powiązanie tabel.
Pytanie 36
W teorii relacji operacja selekcji polega na
A. eliminuje krotki z powtarzającymi się polami
B. pozbywaniu się pustych wierszy
C. wybraniu krotek, które nie zawierają wartości NULL
D. wybraniu krotek, które spełniają określone warunki
Twoja odpowiedź
Poprawna odpowiedź. Operacja selekcji w algebrze relacji polega na wydobywaniu z bazy danych krotek, które spełniają określone warunki. Tego rodzaju operacje są kluczowe w kontekście zapytań do baz danych, ponieważ pozwalają na precyzyjne filtrowanie danych. Na przykład, jeśli mamy tabelę 'Klienci' z informacjami o klientach, możemy użyć selekcji, aby wybrać tylko tych, którzy mają status 'aktywny', co pozwala nam skoncentrować się na aktualnych użytkownikach. Takie podejście jest zgodne z podstawowymi zasadami zarządzania danymi, w tym z zasadą minimalizacji danych, która mówi, że należy pracować tylko z tymi informacjami, które są istotne do danego zadania. Ponadto, operacja selekcji jest często używana w połączeniu z innymi operacjami, takimi jak projekcja czy łączenie, co pozwala na budowanie bardziej złożonych zapytań i uzyskiwanie bardziej szczegółowych informacji. W praktyce, umiejętność skutecznego stosowania selekcji jest niezbędna dla każdego, kto pracuje z bazami danych, a znajomość tej operacji stanowi podstawę dla bardziej zaawansowanych technik analizy danych.
Pytanie 37
W systemie bazy danych dotyczącej pojazdów, pole kolor w tabeli samochody może przyjmować wartości tylko z listy lakier. Aby zrealizować połączenie między tabelami samochody a lakier przez relację, należy użyć kwerendy
Poprawna odpowiedź. Odpowiedź 4 jest poprawna, ponieważ dokładnie określa, jak należy zdefiniować relację między tabelą samochody a tabelą lakier w kontekście bazy danych. W tym przypadku, pole kolor w tabeli samochody pełni rolę klucza obcego, który odnosi się do kolumny lakierId w tabeli lakier. To połączenie jest niezbędne, aby zapewnić integralność danych oraz umożliwić korzystanie z relacyjnych własności baz danych. Klucz obcy stosowany w relacjach między tabelami pozwala na ograniczenie wartości, które mogą być wprowadzone do pola kolor, zapewniając, że będą one zgodne z wartościami zdefiniowanymi w tabeli lakier. Przykładowo, jeśli chcemy zapewnić, że każdy samochód ma przypisany kolor z określonej palety, stosowanie kluczy obcych jest najlepszą praktyką. Tego rodzaju podejście jest zgodne z normami ACID (Atomicity, Consistency, Isolation, Durability), co zwiększa niezawodność operacji na bazie danych.
Pytanie 38
Aby w MySQL nadać użytkownikowi prawo do nadawania i modyfikowania uprawnień innym użytkownikom, należy użyć klauzuli:
A.
FLUSHPRIVILEGES
B.
ALLPRIVILEGES
C.
GRANTOPTION
Twoja odpowiedź
D.
TRIGGER
Poprawna odpowiedź. Klauzula WITHGRANTOPTION dodana do polecenia GRANT daje użytkownikowi prawo przekazywania innym tych uprawnień, które sam otrzymał. Np. GRANTSELECTONbaza.*TOjanWITHGRANTOPTION pozwala Janowi nadawać SELECT kolejnym osobom. Dlatego do delegowania uprawnień służy GRANTOPTION.
Pytanie 39
Jakie zapytanie należy użyć, aby wyświetlić tylko imię, nazwisko oraz ulicę wszystkich mieszkańców?
Poprawna odpowiedź. Odpowiedź SELECT imie nazwisko ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id jest trafna, bo korzysta z dobrej składni dołączenia tabel w SQL. Dzięki temu wyciągasz tylko te kolumny, które są Ci potrzebne. W tym przypadku, używając JOIN, łączysz tabele Mieszkancy i Adresy na podstawie odpowiednich kluczy, co dobrze odpowiada zasadom baz danych. Klucz obcy Adresy_id w tabeli Mieszkancy wskazuje na id w tabeli Adresy, co jest super ważne, bo zapewnia, że dane są spójne. To zapytanie pokazuje, jak optymalizować SQL, bo ogranicza wybór do niezbędnych kolumn (imie, nazwisko, ulica), co zmniejsza obciążenie bazy i przyspiesza wyrzucanie wyników. W praktyce takie podejście jest fajne do efektywnego zarządzania danymi w relacyjnych bazach. Dobrze jest mieć w głowie, jak używać JOIN oraz wybierać konkretne kolumny, bo to naprawdę pomaga w pisaniu bardziej zrozumiałych i wydajnych zapytań, co jest przydatne w pracy zawodowej.
Pytanie 40
Po wykonaniu przedstawionego poniżej polecenia SQL użytkownik Ela będzie mógł
GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. wykonywania wszystkich operacji na strukturze danych
B. jedynie tworzenia i zmiany struktury tabel
C. jedynie dodawania i edytowania danych
D. wykonywania wszelkich działań na danych
Twoja odpowiedź
Poprawna odpowiedź. Polecenie SQL GRANT SELECT INSERT UPDATE DELETE ON baza1.tab1 TO 'Ela'@'localhost' przyznaje użytkownikowi Ela pełny dostęp do danych w tabeli tab1 w bazie danych baza1. Oznacza to możliwość wykonywania wszystkich operacji związanych z zarządzaniem danymi w tej tabeli. Komenda GRANT jest używana do nadawania uprawnień użytkownikom bazy danych. W tym przypadku uprawnienia obejmują SELECT do odczytu danych INSERT do dodawania nowych rekordów UPDATE do modyfikacji istniejących danych oraz DELETE do usuwania rekordów. Uprawnienia te pokrywają pełne spektrum operacji związanych z manipulacją danymi co jest kluczowe w sytuacjach gdzie użytkownik musi mieć elastyczność w zarządzaniu zawartością tabeli. Dobrymi praktykami jest ograniczanie nadawania takich szerokich uprawnień tylko wtedy gdy jest to absolutnie konieczne w celu minimalizacji ryzyka nieautoryzowanej manipulacji danymi. Rozumienie i zarządzanie uprawnieniami użytkowników jest kluczowym elementem bezpieczeństwa bazy danych ponieważ pozwala na kontrolę dostępu i zapewnienie integralności danych. Tak szeroki dostęp jak w tym przypadku powinien być przyznawany z rozwagą i jedynie zaufanym użytkownikom w środowiskach produkcyjnych gdzie dane są szczególnie wrażliwe.