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

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

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

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

1.Легка

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

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

Що гарантує обмеження UNIQUE на стовпці?

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

Яка інструкція видаляє всю таблицю разом з її структурою?

  1. ATRUNCATE ROWS
  2. BREMOVE TABLE
  3. CDELETE FROM
  4. DDROP TABLE
4.Середня

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

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

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

  1. A5
  2. B3
  3. C15
  4. D8
6.Середня

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

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
7.Складна

Який рівень ізоляції запобігає «брудному» читанню (dirty reads), але все ще допускає неповторюване читання (non-repeatable reads)?

  1. ASerializable
  2. BRepeatable read
  3. CRead committed
  4. DRead uncommitted
8.Складна

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

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

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

  1. 1. D · Будь-яку послідовність із нуля чи більше символів
  2. 2. A · Жодні два рядки не мають однакового значення, відмінного від NULL, у цьому стовпці
  3. 3. D · DROP TABLE
  4. 4. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. A · 5
  6. 6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · Read committed
  8. 8. B · Розклади, серіалізовні за конфліктами (conflict-serializable)

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