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

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

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

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

1.Легка

Чим UNION ALL відрізняється від UNION?

  1. AUNION ALL зберігає дублікати рядків
  2. BUNION ALL працює лише з однією таблицею
  3. CUNION ALL сортує результат
  4. DUNION ALL видаляє дублікати рядків
2.Легка

Що таке первинний ключ (primary key)?

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

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

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

Таблиця зберігає адресу клієнта в кожному рядку замовлення. Зміна адреси в одному рядку, але не в інших — це приклад:

  1. AФантомного читання
  2. BАномалії вставлення
  3. CАномалії видалення
  4. DАномалії оновлення
5.Середня

Що повертає EXCEPT (в Oracle — MINUS)?

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

Таблиця a має 3 рядки, а таблиця b — 4 рядки. Скільки рядків повертає SELECT * FROM a CROSS JOIN b?

  1. A3
  2. B7
  3. C12
  4. D4
7.Складна

Двофазне блокування (2PL) гарантує:

  1. AЩо транзакції ніколи не чекають
  2. BРозклади, серіалізовні за конфліктами (conflict-serializable)
  3. CЩо блокування не потрібні
  4. DЩо взаємоблокування ніколи не виникнуть
8.Складна

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

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

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

  1. 1. A · UNION ALL зберігає дублікати рядків
  2. 2. D · Стовпець або набір стовпців, що однозначно ідентифікує кожен рядок
  3. 3. C · ORDER BY salary DESC
  4. 4. D · Аномалії оновлення
  5. 5. C · Рядки першого запиту, яких немає в другому
  6. 6. C · 12
  7. 7. B · Розклади, серіалізовні за конфліктами (conflict-serializable)
  8. 8. D · COUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень

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