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

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

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

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

1.Легка

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

  1. ADROP
  2. BREMOVE
  3. CDELETE
  4. DTRUNCATE COLUMN
2.Легка

Які рядки обирає WHERE price BETWEEN 10 AND 20?

  1. AРядки з ціною від 10 до 20, включно з 10 і 20
  2. BЛише рядки з ціною, що дорівнює 10 або 20
  3. CРядки з ціною понад 10 і менше 20, без 10 і 20
  4. DРядки з ціною поза діапазоном від 10 до 20
3.Легка

Як відсортувати результат від найвищої до найнижчої зарплати?

  1. ASORT salary DOWN
  2. BORDER BY salary ASC
  3. CORDER BY salary DESC
  4. DGROUP BY salary DESC
4.Середня

У реляційній алгебрі оператор проєкції (π) відповідає:

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

Яке твердження про HAVING правильне?

  1. AВоно має стояти перед WHERE в інструкції SELECT
  2. BУ ньому можна використовувати агрегатні функції для фільтрації груп
  3. CВоно сортує результати
  4. DЙого не можна використовувати з GROUP BY
6.Середня

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

  1. ASELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  2. BSELECT customer_id FROM orders WHERE COUNT(*) > 0
  3. CSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  4. DSELECT DISTINCT COUNT(*) FROM orders
7.Складна

Чого вимагає правило журналювання з випереджальним записом (WAL)?

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

Який алгоритм з’єднання оптимізатор часто обирає для з’єднання за рівністю двох великих таблиць без корисних індексів?

  1. AПерехресне з’єднання
  2. BЗ’єднання вкладеними циклами з пошуками в індексі
  3. CБітмап-з’єднання за первинним ключем
  4. DГеш-з’єднання (hash join)

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

  1. 1. C · DELETE
  2. 2. A · Рядки з ціною від 10 до 20, включно з 10 і 20
  3. 3. C · ORDER BY salary DESC
  4. 4. B · Вибору стовпців, що з’являться в результаті
  5. 5. B · У ньому можна використовувати агрегатні функції для фільтрації груп
  6. 6. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. D · Запис журналу про зміну має потрапити в стабільне сховище раніше, ніж змінена сторінка даних
  8. 8. D · Геш-з’єднання (hash join)

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