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

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

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

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

1.Легка

Що таке сурогатний ключ (surrogate key)?

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

Для чого використовують діаграму «сутність–зв’язок» (ER)?

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

Що означає NULL у SQL?

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

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

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

Що повертає SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?

  1. AКожне ім’я з позначкою 'pass' або 'fail' залежно від оцінки
  2. BЛише студентів, які склали
  3. CПомилку, бо CASE не дозволено в SELECT
  4. DКількість студентів, які склали й не склали
6.Середня

Таблиця orders має 5 рядків, кожен з яких посилається на наявного клієнта. Таблиця customers має 3 рядки. Скільки рядків повертає INNER JOIN за customer_id?

  1. A3
  2. B8
  3. C5
  4. D15
7.Складна

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

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

Двоє чергових лікарів перевіряють, що інший досі на чергуванні, а потім обидва одночасно знімаються з чергування. Яку аномалію тут однаково допускає ізоляція знімків (snapshot isolation)?

  1. AПерекіс запису (write skew)
  2. BНеповторюване читання в межах однієї транзакції
  3. CБрудне читання
  4. DБрудний запис

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

  1. 1. A · Штучний ідентифікатор без бізнес-значення, як-от автоінкрементний id
  2. 2. A · Для моделювання сутностей, їхніх атрибутів і зв’язків під час проєктування бази даних
  3. 3. D · Відсутнє або невідоме значення
  4. 4. B · У ньому можна використовувати агрегатні функції для фільтрації груп
  5. 5. A · Кожне ім’я з позначкою 'pass' або 'fail' залежно від оцінки
  6. 6. C · 5
  7. 7. B · name не згруповано й не агреговано, тож він не має одного значення на групу
  8. 8. A · Перекіс запису (write skew)

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