Робочий аркуш «Бази даних і SQL» з відповідями

Безкоштовний робочий аркуш для друку «Бази даних і SQL»: 8 задач від легких до рівня іспиту, з ключем відповідей. Роздрукуйте його або збережіть як PDF.

Для викладачів: можна безкоштовно друкувати, копіювати й використовувати на заняттях. Кожен новий аркуш має нові значення і власні відповіді. Будемо вдячні за посилання на ExamProblems на сторінці вашого курсу.

Ім’я: ____________________   Дата: ____________

1.Легка

Зовнішній ключ (foreign key) — це:

  1. AСтовпець, що посилається на первинний ключ іншої таблиці
  2. BКлюч, який використовують іноземні користувачі
  3. CСтовпець, значення якого мають бути унікальними в усіх рядках таблиці
  4. DКлюч, який завжди зашифрований
2.Легка

Що робить обмеження CHECK?

  1. AВідхиляє рядки, значення яких не задовольняють умову
  2. BПеревіряє пароль користувача
  3. CПідраховує рядки в таблиці
  4. DПеревіряє, чи існує таблиця, перш ніж виконувати запит до неї
3.Легка

Що робить UNION з результатами двох запитів SELECT?

  1. AЗалишає лише рядки, які є в першому запиті, але не в другому
  2. BЗалишає лише рядки, що є в обох
  3. CЗ’єднує їх поруч за ключем
  4. DОб’єднує їх в один результат і видаляє дублікати рядків
4.Середня

Таблиця зберігає адресу клієнта в кожному рядку замовлення. Зміна адреси в одному рядку, але не в інших — це приклад:

  1. AАномалії вставлення
  2. BФантомного читання
  3. CАномалії оновлення
  4. DАномалії видалення
5.Середня

Який запит повертає кількість замовлень для кожного клієнта?

  1. ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  2. BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  3. CSELECT DISTINCT COUNT(*) FROM orders
  4. DSELECT customer_id FROM orders WHERE COUNT(*) > 0
6.Середня

Що робить ROLLBACK TO SAVEPOINT s1?

  1. AСкасовує всю транзакцію від початку
  2. BЗавершує транзакцію і фіксує все
  3. CВидаляє точку збереження й усі таблиці, змінені відтоді
  4. DСкасовує зміни, зроблені після точки збереження s1, залишаючи транзакцію відкритою
7.Складна

Що обчислює SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales?

  1. AПідсумок усіх сум у кожному рядку
  2. BОдин рядок на день лише з підсумком цього дня
  3. CСередню суму за день
  4. DНаростальний підсумок amount, упорядкований за day
8.Складна

Чому запит з WHERE YEAR(order_date) = 2025 може не використовувати індекс на order_date?

  1. AYEAR не є коректним SQL
  2. BІндекси ніколи не працюють з датами
  3. CЗастосування функції до стовпця унеможливлює простий діапазонний пошук в індексі
  4. DІндекс за order_date використовується лише для ORDER BY, але ніколи для WHERE

Ключ відповідей

  1. 1. A · Стовпець, що посилається на первинний ключ іншої таблиці
  2. 2. A · Відхиляє рядки, значення яких не задовольняють умову
  3. 3. D · Об’єднує їх в один результат і видаляє дублікати рядків
  4. 4. C · Аномалії оновлення
  5. 5. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  6. 6. D · Скасовує зміни, зроблені після точки збереження s1, залишаючи транзакцію відкритою
  7. 7. D · Наростальний підсумок amount, упорядкований за day
  8. 8. C · Застосування функції до стовпця унеможливлює простий діапазонний пошук в індексі

Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.