1.Łatwy
Klient może złożyć wiele zamówień, ale każde zamówienie należy do dokładnie jednego klienta. Jaki to rodzaj związku?
- AJeden do wielu
- BJeden do jednego
- CWiele do wielu
- DZero do zera
2.Łatwy
Co robi GROUP BY w zapytaniu?
- AŁączy dwie tabele według ich wspólnych kolumn
- BSortuje wiersze wyniku alfabetycznie
- CUsuwa wiersze z wartościami NULL
- DŁączy wiersze o tych samych wartościach w grupy, by agregaty obliczać dla każdej grupy
3.Łatwy
Która instrukcja usuwa wiersze z tabeli?
- ADELETE
- BDROP
- CTRUNCATE COLUMN
- DREMOVE
4.Średni
Kolumna zawiera wartości 10, 20 i NULL. Co zwraca AVG(col)?
- A15
- B30
- CNULL
- D10
5.Średni
Które zapytanie zwraca liczbę zamówień dla każdego klienta?
- ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- BSELECT DISTINCT COUNT(*) FROM orders
- CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
6.Średni
Które zapytanie zwraca liczbę różnych miast w tabeli customers?
- ASELECT COUNT(DISTINCT city) FROM customers
- BSELECT DISTINCT COUNT(city) FROM customers
- CSELECT SUM(DISTINCT city) FROM customers
- DSELECT COUNT(city) FROM customers GROUP BY city
7.Trudny
Dlaczego wiele DBMS stosuje ścisłe blokowanie dwufazowe (strict 2PL), utrzymując blokady wyłączne aż do zatwierdzenia?
- APozwala transakcjom bezpiecznie odczytywać brudne dane
- BZapobiega kaskadowym wycofaniom, bo nikt nie może odczytać niezatwierdzonych zapisów
- CEliminuje potrzebę dziennika transakcji
- DUniemożliwia zakleszczenia
8.Trudny
Co pokazuje dla zapytania EXPLAIN (lub EXPLAIN ANALYZE w PostgreSQL)?
- AWyłącznie zapis zapytania w notacji algebry relacji
- BListę użytkowników, którzy uruchomili zapytanie
- CPlan wykonania wybrany przez optymalizator, np. rodzaje skanowania i metody złączeń
- DZnaczenie każdego słowa kluczowego SQL w zapytaniu
Klucz odpowiedzi
- 1. A · Jeden do wielu
- 2. D · Łączy wiersze o tych samych wartościach w grupy, by agregaty obliczać dla każdej grupy
- 3. A · DELETE
- 4. A · 15
- 5. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 6. A · SELECT COUNT(DISTINCT city) FROM customers
- 7. B · Zapobiega kaskadowym wycofaniom, bo nikt nie może odczytać niezatwierdzonych zapisów
- 8. C · Plan wykonania wybrany przez optymalizator, np. rodzaje skanowania i metody złączeń
Pełne rozwiązania krok po kroku: ćwicz ten temat na examproblems.com.