1.Łatwy
Do czego służy diagram związków encji (ER)?
- ADo pokazywania, jak wykonywane jest zapytanie
- BDo wyliczania użytkowników bazy danych
- CDo modelowania encji, ich atrybutów i związków podczas projektowania bazy danych
- DDo pomiaru wydajności bazy danych
2.Łatwy
Co zwraca CROSS JOIN?
- AKażdą kombinację wierszy z dwóch tabel
- BTylko wiersze, które nie pasują
- CTylko wiersze pierwszej tabeli
- DTylko wiersze pasujące według wspólnej kolumny klucza
3.Łatwy
Którego operatora używa się w klauzuli WHERE do prostego dopasowywania wzorców tekstowych?
- ALIKE
- BSIMILAR
- CMATCH
- DCONTAINS
4.Średni
Które zapytanie wypisuje klientów, którzy nigdy nie złożyli zamówienia?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Średni
Dlaczego SELECT price * 2 AS double_price FROM t WHERE double_price > 10 w większości baz danych kończy się błędem?
- AWHERE może porównywać tylko kolumny tekstowe
- BAliasy nie mogą zawierać podkreślenia
- CWHERE jest wykonywane przed listą SELECT, więc alias jeszcze nie istnieje
- DDziałania arytmetyczne nie są dozwolone na liście SELECT
6.Średni
Które zapytanie zwraca liczbę zamówień dla każdego klienta?
- ASELECT DISTINCT COUNT(*) FROM orders
- BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- CSELECT customer_id FROM orders WHERE COUNT(*) > 0
- DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
7.Trudny
Blokowanie dwufazowe (2PL) zapewnia:
- AŻe transakcje nigdy nie czekają
- BŻe żadne blokady nie są potrzebne
- CHarmonogramy konfliktowo szeregowalne (conflict-serializable)
- DŻe zakleszczenia nigdy nie wystąpią
8.Trudny
Co pokazuje dla zapytania EXPLAIN (lub EXPLAIN ANALYZE w PostgreSQL)?
- AListę użytkowników, którzy uruchomili zapytanie
- BZnaczenie każdego słowa kluczowego SQL w zapytaniu
- CPlan wykonania wybrany przez optymalizator, np. rodzaje skanowania i metody złączeń
- DWyłącznie zapis zapytania w notacji algebry relacji
Klucz odpowiedzi
- 1. C · Do modelowania encji, ich atrybutów i związków podczas projektowania bazy danych
- 2. A · Każdą kombinację wierszy z dwóch tabel
- 3. A · LIKE
- 4. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 5. C · WHERE jest wykonywane przed listą SELECT, więc alias jeszcze nie istnieje
- 6. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 7. C · Harmonogramy konfliktowo szeregowalne (conflict-serializable)
- 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.