1.Łatwy
Co robi UNION z wynikami dwóch zapytań SELECT?
- AŁączy je w jeden wynik i usuwa powtarzające się wiersze
- BZachowuje tylko wiersze występujące w obu
- CŁączy je obok siebie według klucza
- DZachowuje tylko wiersze, które występują w pierwszym zapytaniu, ale nie w drugim
2.Łatwy
Czym jest klucz sztuczny (surrogate key)?
- AKluczem odwołującym się do innej tabeli
- BKluczem utworzonym z danych rzeczywistych, np. adresu e-mail
- CKluczem używanym tylko w widokach
- DSztucznym identyfikatorem bez znaczenia biznesowego, np. automatycznie zwiększanym id
3.Łatwy
INNER JOIN zwraca:
- ATylko wiersze z pasującymi wartościami w obu tabelach
- BWszystkie wiersze z obu tabel
- CWiersze, które nie pasują
- DWszystkie wiersze z lewej tabeli, z wartościami NULL tam, gdzie nie ma dopasowania
4.Średni
Tabela orders ma 5 wierszy, z których każdy odwołuje się do istniejącego klienta. Tabela customers ma 3 wiersze. Ile wierszy zwraca INNER JOIN po customer_id?
- A5
- B8
- C3
- D15
5.Średni
Co zwraca EXCEPT (w Oracle nazywane MINUS)?
- AWiersze występujące w obu zapytaniach
- BWiersze drugiego zapytania, które nie występują w pierwszym
- CWszystkie wiersze z obu zapytań bez duplikatów
- DWiersze pierwszego zapytania, które nie występują w drugim
6.Ś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 = NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.Trudny
Aplikacja wykonuje UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 i zgłasza konflikt, jeśli żaden wiersz nie został zaktualizowany. Jaka to technika?
- AOptymistyczna kontrola współbieżności
- BDziennik zapisu z wyprzedzeniem
- CŚcisłe blokowanie dwufazowe z blokadami wierszy
- DSharding bazy danych
8.Trudny
Czym jest indeks pokrywający (covering index) dla zapytania?
- AIndeksem przebudowywanym co noc
- BIndeksem zawierającym wszystkie kolumny potrzebne zapytaniu, dzięki czemu nie trzeba czytać samej tabeli
- CIndeksem wyłącznie na kluczu głównym
- DIndeksem obejmującym każdą kolumnę każdej tabeli
Klucz odpowiedzi
- 1. A · Łączy je w jeden wynik i usuwa powtarzające się wiersze
- 2. D · Sztucznym identyfikatorem bez znaczenia biznesowego, np. automatycznie zwiększanym id
- 3. A · Tylko wiersze z pasującymi wartościami w obu tabelach
- 4. A · 5
- 5. D · Wiersze pierwszego zapytania, które nie występują w drugim
- 6. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. A · Optymistyczna kontrola współbieżności
- 8. B · Indeksem zawierającym wszystkie kolumny potrzebne zapytaniu, dzięki czemu nie trzeba czytać samej tabeli
Pełne rozwiązania krok po kroku: ćwicz ten temat na examproblems.com.