1.Легка
Що таке потенційний ключ (candidate key)?
- AСтовпець, що чекає, щоб стати зовнішнім ключем
- BМінімальний набір стовпців, що однозначно ідентифікує кожен рядок
- CБудь-який стовпець, що містить значення NULL
- DНабір стовпців, спільний для двох таблиць, що зв’язує їхні рядки
2.Легка
Яка інструкція додає новий стовпець до наявної таблиці?
- AALTER TABLE
- BUPDATE TABLE
- CCREATE COLUMN
- DINSERT COLUMN
3.Легка
Що робить GROUP BY у запиті?
- AСортує рядки результату за абеткою
- BВидаляє рядки зі значеннями NULL
- CОб’єднує рядки з однаковими значеннями в групи, щоб агрегати обчислювалися для кожної групи
- DЗ’єднує дві таблиці за спільними стовпцями
4.Середня
Чому SELECT price * 2 AS double_price FROM t WHERE double_price > 10 не виконується в більшості баз даних?
- AWHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
- BАрифметика не дозволена у списку SELECT
- CWHERE може порівнювати лише текстові стовпці
- DПсевдоніми не можуть містити підкреслення
5.Середня
Таблиця employees має стовпець manager_id, що посилається на іншого працівника. Як вивести кожного працівника поруч з ім’ям його керівника?
- AЗ’єднати таблицю employees саму із собою за допомогою двох псевдонімів
- BСтворити другу копію таблиці на диску
- CВикористати лише GROUP BY manager_id
- DОб’єднати таблицю саму з собою за допомогою UNION ALL і фільтра WHERE
6.Середня
Навіщо створюють індекси на стовпцях?
- AЩоб пришвидшити вставлення й оновлення за цими стовпцями
- BЩоб запобігти значенням NULL
- CЩоб заощадити місце на диску
- DЩоб пришвидшити пошук і з’єднання за цими стовпцями
7.Складна
Запит FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' несподівано відкидає клієнтів без замовлень. Чому?
- AУмова WHERE на o відхиляє рядки, заповнені NULL, перетворюючи з’єднання на внутрішнє
- BLEFT JOIN ніколи не зберігає рядків без збігу
- CЗ’єднання має використовувати USING замість ON
- Dstatus — зарезервоване слово
8.Складна
Транзакція T1 блокує рядок A й чекає на рядок B, а T2 блокує рядок B й чекає на рядок A. Що робить типова СКБД?
- AОб’єднує дві транзакції в одну
- BВиявляє взаємне блокування й перериває одну транзакцію як жертву
- CДозволяє обом транзакціям чекати, доки одна з них нормально зафіксується
- DФіксує обидві транзакції одночасно
Ключ відповідей
- 1. B · Мінімальний набір стовпців, що однозначно ідентифікує кожен рядок
- 2. A · ALTER TABLE
- 3. C · Об’єднує рядки з однаковими значеннями в групи, щоб агрегати обчислювалися для кожної групи
- 4. A · WHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
- 5. A · З’єднати таблицю employees саму із собою за допомогою двох псевдонімів
- 6. D · Щоб пришвидшити пошук і з’єднання за цими стовпцями
- 7. A · Умова WHERE на o відхиляє рядки, заповнені NULL, перетворюючи з’єднання на внутрішнє
- 8. B · Виявляє взаємне блокування й перериває одну транзакцію як жертву
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.