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

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

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

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

1.Легка

Що робить WHERE country IN ('NL', 'BE', 'DE')?

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

Яке речення (clause) фільтрує рядки до групування?

  1. AGROUP BY
  2. BHAVING
  3. CORDER BY
  4. DWHERE
3.Легка

Що означає символ-замінник _ (підкреслення) у шаблоні LIKE?

  1. AНуль чи більше символів
  2. BСимвол пробілу
  3. CБудь-яку літеру, але не цифру
  4. DРівно один символ
4.Середня

Що таке тригер бази даних?

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

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

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

Що повертає INTERSECT, використаний між двома запитами SELECT?

  1. AУсі рядки з обох результатів
  2. BРядки, що є в першому результаті, але не в другому
  3. CРядки, що є в обох результатах
  4. DДекартовий добуток результатів
7.Складна

Що показує EXPLAIN (або EXPLAIN ANALYZE в PostgreSQL) для запиту?

  1. AПлан виконання, обраний оптимізатором, як-от види сканування й методи з’єднання
  2. BЗначення кожного ключового слова SQL у запиті
  3. CЛише перезапис запиту в нотації реляційної алгебри
  4. DСписок користувачів, які запускали запит
8.Складна

Чому SELECT dept, name, COUNT(*) FROM emp GROUP BY dept недійсний у стандартному SQL?

  1. ACOUNT(*) не можна використовувати разом із GROUP BY
  2. Bdept має бути всередині агрегатної функції
  3. Cname не згруповано й не агреговано, тож він не має одного значення на групу
  4. DGROUP BY має перелічувати всі стовпці таблиці

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

  1. 1. A · Залишає рядки, де country дорівнює будь-якому значенню зі списку
  2. 2. D · WHERE
  3. 3. D · Рівно один символ
  4. 4. D · Код, що автоматично виконується, коли в таблиці відбувається певна подія, як-от INSERT, UPDATE чи DELETE
  5. 5. B · Вибору стовпців, що з’являться в результаті
  6. 6. C · Рядки, що є в обох результатах
  7. 7. A · План виконання, обраний оптимізатором, як-от види сканування й методи з’єднання
  8. 8. C · name не згруповано й не агреговано, тож він не має одного значення на групу

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