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

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

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

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

1.Легка

Що робить обмеження CHECK?

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

Яка агрегатна функція повертає середнє значення числового стовпця?

  1. AAVG
  2. BSUM
  3. CMEAN
  4. DMEDIAN
3.Легка

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

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

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

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

Перша нормальна форма (1NF) вимагає, щоб:

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

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

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

Що обчислює SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales?

  1. AНаростальний підсумок amount, упорядкований за day
  2. BОдин рядок на день лише з підсумком цього дня
  3. CСередню суму за день
  4. DПідсумок усіх сум у кожному рядку
8.Складна

Чому після customers LEFT JOIN orders для підрахунку замовлень кожного клієнта використовують COUNT(o.id), а не COUNT(*)?

  1. ACOUNT(*) не дозволено після з’єднання
  2. BCOUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень
  3. CCOUNT(o.id) рахує лише різних клієнтів
  4. DCOUNT(*) ігнорує рядки зі значеннями NULL

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

  1. 1. D · Відхиляє рядки, значення яких не задовольняють умову
  2. 2. A · AVG
  3. 3. B · ORDER BY salary DESC
  4. 4. D · Читання даних, записаних іншою транзакцією, яку ще не зафіксовано
  5. 5. D · Кожен стовпець містив атомарні значення і не було повторюваних груп
  6. 6. B · Коли підзапит повертає щонайменше один рядок
  7. 7. A · Наростальний підсумок amount, упорядкований за day
  8. 8. B · COUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень

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