Skip to main contentSkip to footer

Test Bazy Danych i SQL – 40 pytań

Sprawdź swoją znajomość baz danych i języka SQL w teście przygotowującym do egzaminu INF.03. 40 praktycznych pytań pomoże Ci utrwalić wiedzę potrzebną do zdania kwalifikacji INF.03.

1. Załóżmy, że tworzysz tabelę z dwiema kolumnami i definiujesz unikalność danych: CREATE TABLE rejestr (id INT, kod VARCHAR(10), UNIQUE(id, kod)); Wstawiasz do tej tabeli trzy rekordy: (1, NULL), (1, NULL) oraz (1, 'A'). Jak zachowa się system bazodanowy zgodny ze standardem SQL (np. MySQL) podczas prób wykonania tych operacji?

Pytanie 943

2. Serwer MySQL domyślnie używa portu:

Pytanie 521

3. W bazie danych posiadasz tabelę 'pracownicy' z kolumną 'pensja', w której niektóre rekordy mają wartość NULL (brak wpisanej pensji). Wykonujesz zapytanie: SELECT COUNT(*), COUNT(pensja) FROM pracownicy; Jaki będzie rezultat tego zapytania?

Pytanie 920

4. W bazie MySQL tworzysz widok (VIEW). Chcesz uniemożliwić użytkownikom wykonywanie operacji INSERT lub UPDATE za pośrednictwem tego widoku, jeśli nowe lub zmodyfikowane dane nie spełniają kryteriów filtrowania zdefiniowanych w zapytaniu SELECT tego widoku. Jakiej klauzuli użyjesz przy definiowaniu widoku?

Pytanie 952

5. W języku zapytań SQL, aby dodać do tabeli Towar kolumnę rozmiar typu znakowego o maksymalnej długości 20 znaków, należy wykonać polecenie

Pytanie 281

6. W bazie danych masz tabelę 'klienci' z polem 'kod_rabatowy'. Chcesz pobrać liczbę wierszy, w których kod rabatowy NIE jest równy słowu 'ZIMA'. Uruchamiasz zapytanie: SELECT COUNT(*) FROM klienci WHERE kod_rabatowy <> 'ZIMA'; W tabeli jest 10 wierszy: 5 ma kod 'LATO', 3 ma kod 'ZIMA', a 2 wiersze mają wartość NULL w tej kolumnie. Ile wierszy policzy to zapytanie?

Pytanie 951

7. W bazie MySQL wykonujesz operację dodawania nowego rekordu. W tabeli zdefiniowano wyzwalacz (TRIGGER) powiązany z tą operacją. W jaki sposób wewnątrz kodu tego wyzwalacza możesz odwołać się do wartości, które właśnie są wstawiane w nowym wierszu?

Pytanie 927

8. Który typ klucza w bazie danych gwarantuje unikalność wartości, ale może przyjmować wartość NULL?

Pytanie 470

9. Projektujesz tabelę 'pracownicy' w systemie transakcyjnym. Kolumna 'id' jest kluczem głównym typu INT AUTO_INCREMENT. Uruchamiasz transakcję, wstawiasz nowy rekord (który otrzymuje ID = 10), po czym świadomie wykonujesz polecenie ROLLBACK. Następnie otwierasz nową transakcję i wstawiasz kolejny rekord. Jaka wartość ID zostanie przypisana temu nowemu rekordowi w standardowym silniku InnoDB (MySQL)?

Pytanie 942

10. Przeanalizuj poniższe polecenie mające na celu utworzenie tabeli: CREATE TABLE oceny (id INT, wartosc INT, CHECK (wartosc BETWEEN 1 AND 6)); W środowisku bazy danych MySQL w starszych wersjach (np. 5.6/5.7) deweloper wstawia rekord z wartością 10 i operacja kończy się sukcesem bez błędu. Dlaczego tak się stało?

Pytanie 953

11. Projektujesz bazę danych i chcesz wymusić regułę, według której usunięcie klienta z tabeli 'klienci' spowoduje automatyczne usunięcie wszystkich jego zamówień z tabeli 'zamowienia'. Jakie związki i opcje klucza obcego (FOREIGN KEY) musisz zdefiniować?

Pytanie 921

12. Czym różni się typ danych CHAR(10) od typu VARCHAR(10) w bazach danych takich jak MySQL czy PostgreSQL podczas przechowywania tekstu o długości 4 znaków (np. 'Anna')?

Pytanie 932

13. Projektujesz bazę danych i decydujesz się na zastosowanie relacji identyfikującej (Identifying Relationship) pomiędzy tabelą nadrzędną 'magazyny' a podrzędną 'sekcje'. Czym charakteryzuje się taka relacja w praktyce?

Pytanie 948

14. Które polecenie SQL zwróci wszystkie rekordy z tabeli klienci, których kolumna email nie jest pusta?

Pytanie 399

15. Jaką nazwę ma atak polegający na wstrzyknięciu kodu SQL przez formularz?

Pytanie 468

16. Która postać normalna eliminuje zależności przechodnie w tabeli?

Pytanie 579

17. W relacyjnej bazie danych kolumna user_id w tabeli orders jest kluczem obcym powiązanym z id w tabeli users. Co stanie się po usunięciu użytkownika, jeśli ograniczenie ma opcję ON DELETE CASCADE?

Pytanie 228

18. Mamy dwie tabele: 'studenci' (10 wierszy) oraz 'kursy' (5 wierszy). Wykonujesz zapytanie bez jawnego warunku złączenia: SELECT * FROM studenci, kursy; Jak nazywa się takie złączenie i ile wierszy zwróci w wyniku?

Pytanie 924

19. Dany jest krótki fragment transakcji w języku SQL: START TRANSACTION; INSERT INTO logi VALUES ('test'); ROLLBACK; Jaki będzie skutek wykonania tego bloku kodu w bazie danych?

Pytanie 928

20. Przeanalizuj poniższe zapytanie SQL grupujące dane: SELECT id_producenta, AVG(cena) FROM produkty WHERE AVG(cena) > 100 GROUP BY id_producenta; Czy to zapytanie wykona się poprawnie?

Pytanie 926

21. W MySQL polecenie EXPLAIN służy do:

Pytanie 515

22. W bazie danych posiadasz tabelę 'uczniowie' z kolumną 'ocena' (liczby od 1 do 6). Chcesz napisać zapytanie, które zamieni oceny cyfrowe na tekstowe (np. 6 na 'celujący', 5 na 'bardzo dobry' itd.) bezpośrednio w wyniku SELECT. Jakiej konstrukcji SQL użyjesz?

Pytanie 931

23. W teorii baz danych i standardzie izolacji transakcji ACID, na czym dokładnie polega anomalia nazywana 'Niepowtarzalnym odczytem' (Non-repeatable Read)?

Pytanie 946

24. Załóżmy, że wykonujesz procedurę składowaną, która zawiera błąd dzielenia przez zero. Domyślny tryb działania serwera MySQL (sql_mode) to 'STRICT_TRANS_TABLES'. Jak zachowa się baza danych?

Pytanie 955

25. Przeanalizuj poniższe zapytanie modyfikujące dane, w którym użyto podzapytania: UPDATE produkty SET cena = cena * 1.1 WHERE id_kategorii = (SELECT id FROM kategorie WHERE nazwa = 'AGD'); Załóżmy, że podzapytanie z tabeli 'kategorie' z powodu błędu w danych zwróciło dwa wiersze (np. dwa identyfikatory dla dwóch kategorii o tej samej nazwie). Jak zareaguje silnik bazy danych?

Pytanie 944

26. Dany jest zaawansowany scenariusz złączeń tabel: SELECT * FROM klienci k LEFT JOIN zamowienia z ON k.id = z.id_klienta WHERE z.status = 'Aktywne'; Jak zachowa się to zapytanie pod kątem logicznym i czym różni się od standardowego mechanizmu LEFT JOIN?

Pytanie 947

27. Co oznacza pojęcie „normalizacja bazy danych”?

Pytanie 40

28. Jak nazywa się indeks który przechowuje dane w strukturze drzewa zrównoważonego?

Pytanie 584

29. Która z poniższych postaci normalnych baz danych wymaga, aby każde pole niebędące kluczem głównym zależało tylko od klucza głównego?

Pytanie 76

30. Mamy tabelę 'zamowienia' z indeksem założonym na kolumnie 'data_zamowienia'. Programista chce pobrać zamówienia z dzisiejszego dnia i pisze zapytanie: SELECT * FROM zamowienia WHERE YEAR(data_zamowienia) = 2026; Jaki jest główny problem wydajnościowy tego zapytania przy dużej bazie danych?

Pytanie 945

31. Uruchamiasz zapytanie z operatorem EXISTS: SELECT nazwisko FROM pracownicy p WHERE EXISTS (SELECT 1 FROM działy d WHERE d.id = p.id_dzialu AND d.lokalizacja = 'Warszawa'); Jak fachowo nazywa się podzapytanie umieszczone wewnątrz klauzuli EXISTS i jak jest przetwarzane przez silnik?

Pytanie 958

32. Co oznacza skrótowy zapis 'Relacja N:M' (wiele-do-wielu) w fazie fizycznego projektowania struktury relacyjnej bazy danych i jak implementuje się ją w kodzie SQL?

Pytanie 954

33. Masz dwie tabele powiązane relacją: 'artykuly' oraz 'komentarze' (relacja 1:N). Chcesz pobrać wszystkich artykuły wraz z liczbą ich komentarzy, wliczając w to artykuły, które nie mają żadnych komentarzy (wtedy ma pojawić się 0). Przeanalizuj poniższe zapytanie: SELECT a.id, COUNT(k.id) FROM artykuly a LEFT JOIN komentarze k ON a.id = k.id_artykulu GROUP BY a.id; Co się stanie, jeśli programista zmieni funkcję agregującą na COUNT(*)?

Pytanie 941

34. Mamy zapytanie SQL realizujące stronicowanie danych (pagination): SELECT * FROM produkty ORDER BY cena DESC LIMIT 10 OFFSET 50; Co dokładnie robi to zapytanie w kontekście zwracanego zbioru rekordów?

Pytanie 956

35. Jakim poleceniem w MySQL utworzysz kopię tabeli wraz z danymi?

Pytanie 474

36. W tabeli 'klienci' posiadasz 100 wierszy. W kolumnie 'telefon' 20 rekordów ma wartość NULL. Wykonujesz następujące zapytanie: SELECT COUNT(*) FROM klienci WHERE telefon <> '123' OR telefon = '123'; Ile wierszy zwróci to zapytanie?

Pytanie 940

37. Które polecenie pozwala na połączenie relacją WSZYSTKICH wierszy łączonych tabel

Pytanie 46

38. W bazie danych zdefiniowano indeks złożony (Composite Index) na tabeli 'zamowienia' obejmujący kolumny w następującej kolejności: (status, data_wystawienia). Które z poniższych zapytań NIE BĘDZIE mogło efektycznie wykorzystać tego indeksu do wyszukiwania?

Pytanie 957

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

Pytanie 48

40. Co oznacza właściwość Atomicity w modelu ACID transakcji?

Pytanie 583

arrow_upward

Preferencje plików cookies

Inne

Inne pliki cookie to te, które są analizowane i nie zostały jeszcze przypisane do żadnej z kategorii.

Niezbędne

Niezbędne
Niezbędne pliki cookie są absolutnie niezbędne do prawidłowego funkcjonowania strony. Te pliki cookie zapewniają działanie podstawowych funkcji i zabezpieczeń witryny. Anonimowo.

Reklamowe

Reklamowe pliki cookie są stosowane, by wyświetlać użytkownikom odpowiednie reklamy i kampanie marketingowe. Te pliki śledzą użytkowników na stronach i zbierają informacje w celu dostarczania dostosowanych reklam.

Analityczne

Analityczne pliki cookie są stosowane, by zrozumieć, w jaki sposób odwiedzający wchodzą w interakcję ze stroną internetową. Te pliki pomagają zbierać informacje o wskaźnikach dot. liczby odwiedzających, współczynniku odrzuceń, źródle ruchu itp.

Funkcjonalne

Funkcjonalne pliki cookie wspierają niektóre funkcje tj. udostępnianie zawartości strony w mediach społecznościowych, zbieranie informacji zwrotnych i inne funkcjonalności podmiotów trzecich.

Wydajnościowe

Wydajnościowe pliki cookie pomagają zrozumieć i analizować kluczowe wskaźniki wydajności strony, co pomaga zapewnić lepsze wrażenia dla użytkowników.