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

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

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

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

1.Легка

Яка інструкція видаляє всю таблицю разом з її структурою?

  1. ATRUNCATE ROWS
  2. BREMOVE TABLE
  3. CDROP TABLE
  4. DDELETE FROM
2.Легка

INNER JOIN повертає:

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

Що гарантує обмеження UNIQUE на стовпці?

  1. AЗначення стовпця відсортовані
  2. BЖодні два рядки не мають однакового значення, відмінного від NULL, у цьому стовпці
  3. CСтовпець не можна змінити після вставлення
  4. DСтовпець автоматично стає первинним ключем таблиці
4.Середня

Коли WHERE EXISTS (subquery) істинне для рядка?

  1. AКоли підзапит повертає число, більше за нуль
  2. BКоли підзапит повертає рівно один рядок
  3. CКоли підзапит не повертає значень NULL
  4. DКоли підзапит повертає щонайменше один рядок
5.Середня

Що надає загальний табличний вираз (WITH name AS (...))?

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

Що таке «брудне» читання (dirty read)?

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

Є складений індекс на (last_name, first_name). Яка умова може використати його найефективніше?

  1. AWHERE last_name = 'Jansen'
  2. BWHERE first_name LIKE '%a'
  3. CWHERE first_name = 'Eva'
  4. DWHERE UPPER(first_name) = 'EVA'
8.Складна

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

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

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

  1. 1. C · DROP TABLE
  2. 2. D · Лише рядки зі збіжними значеннями в обох таблицях
  3. 3. B · Жодні два рядки не мають однакового значення, відмінного від NULL, у цьому стовпці
  4. 4. D · Коли підзапит повертає щонайменше один рядок
  5. 5. D · Іменований тимчасовий результат, який можна використовувати в межах однієї інструкції
  6. 6. D · Читання даних, записаних іншою транзакцією, яку ще не зафіксовано
  7. 7. A · WHERE last_name = 'Jansen'
  8. 8. A · Застосування функції до стовпця унеможливлює простий діапазонний пошук в індексі

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