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

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

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

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

1.Легка

Що робить GROUP BY у запиті?

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

Яке обмеження гарантує, що стовпець ніколи не залишиться порожнім (NULL)?

  1. ADEFAULT
  2. BUNIQUE
  3. CNOT NULL
  4. DCHECK NULL
3.Легка

Яке ключове слово SQL видаляє рядки-дублікати з результату?

  1. ADISTINCT
  2. BUNIQUE
  3. CSINGLE
  4. DDIFFERENT
4.Середня

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

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

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

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

Що означає функціональна залежність A → B?

  1. AКожне значення A пов’язане рівно з одним значенням B
  2. BA і B обидва є первинними ключами
  3. CКожне значення B пов’язане рівно з одним значенням A
  4. DA — зовнішній ключ, що посилається на B
7.Складна

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

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

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

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

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

  1. 1. D · Об’єднує рядки з однаковими значеннями в групи, щоб агрегати обчислювалися для кожної групи
  2. 2. C · NOT NULL
  3. 3. A · DISTINCT
  4. 4. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. A · Іменований тимчасовий результат, який можна використовувати в межах однієї інструкції
  6. 6. A · Кожне значення A пов’язане рівно з одним значенням B
  7. 7. C · Запис журналу про зміну має потрапити в стабільне сховище раніше, ніж змінена сторінка даних
  8. 8. A · name не згруповано й не агреговано, тож він не має одного значення на групу

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