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

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

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

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

1.Легка

Що повертає CROSS JOIN?

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

Що означає символ-замінник % у шаблоні LIKE?

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

Яке речення в PostgreSQL і MySQL повертає лише перші 10 рядків результату?

  1. AFIRST 10 ONLY
  2. BMAX 10
  3. CLIMIT 10
  4. DTOP ROWS 10
4.Середня

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

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

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

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

Чому SELECT price * 2 AS double_price FROM t WHERE double_price > 10 не виконується в більшості баз даних?

  1. AПсевдоніми не можуть містити підкреслення
  2. BАрифметика не дозволена у списку SELECT
  3. CWHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
  4. DWHERE може порівнювати лише текстові стовпці
7.Складна

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

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

Застосунок виконує UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 і повідомляє про конфлікт, якщо жоден рядок не оновлено. Що це за техніка?

  1. AШардинг бази даних
  2. BЖурналювання з випереджальним записом
  3. CСтроге двофазне блокування з блокуванням рядків
  4. DОптимістичне керування паралельністю

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

  1. 1. C · Кожну комбінацію рядків із двох таблиць
  2. 2. B · Будь-яку послідовність із нуля чи більше символів
  3. 3. C · LIMIT 10
  4. 4. C · Рядки, що є в обох результатах
  5. 5. C · Код, що автоматично виконується, коли в таблиці відбувається певна подія, як-от INSERT, UPDATE чи DELETE
  6. 6. C · WHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
  7. 7. D · COUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень
  8. 8. D · Оптимістичне керування паралельністю

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