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

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

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

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

1.Легка

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

  1. AFIRST 10 ONLY
  2. BMAX 10
  3. CTOP ROWS 10
  4. DLIMIT 10
2.Легка

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

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

Яке речення (clause) фільтрує рядки до групування?

  1. AORDER BY
  2. BGROUP BY
  3. CHAVING
  4. DWHERE
4.Середня

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

  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 NOT NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Середня

LEFT JOIN повертає:

  1. AЛише відповідні рядки з обох таблиць
  2. BУсі рядки з лівої таблиці та відповідні рядки з правої, з NULL там, де відповідності немає
  3. CЛише всі рядки з правої таблиці
  4. DРядки, які не мають відповідності в жодній таблиці
6.Середня

Який запит повертає кількість різних міст у таблиці customers?

  1. ASELECT DISTINCT COUNT(city) FROM customers
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT COUNT(DISTINCT city) FROM customers
  4. DSELECT COUNT(city) FROM customers GROUP BY city
7.Складна

Звітна база даних копіює імена клієнтів у таблицю orders, щоб уникнути з’єднань. Яка головна ціна такої денормалізації?

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

Як за багатоверсійного керування паралельністю (MVCC) читачі можуть не блокувати записувачів?

  1. AЧитачі безпосередньо читають незафіксовані дані
  2. BЗапис заборонено, поки активний хоч один читач
  3. CЧитачі завжди чекають, доки всі записувачі зафіксують зміни
  4. DЧитачі бачать узгоджений знімок зафіксованих версій рядків, а записувачі створюють нові версії

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

  1. 1. D · LIMIT 10
  2. 2. D · Будь-яку послідовність із нуля чи більше символів
  3. 3. D · WHERE
  4. 4. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. B · Усі рядки з лівої таблиці та відповідні рядки з правої, з NULL там, де відповідності немає
  6. 6. C · SELECT COUNT(DISTINCT city) FROM customers
  7. 7. B · Надлишкові копії треба підтримувати узгодженими щоразу, коли змінюються дані клієнтів
  8. 8. D · Читачі бачать узгоджений знімок зафіксованих версій рядків, а записувачі створюють нові версії

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