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

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

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

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

1.Легка

INNER JOIN повертає:

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

Яке ключове слово дає стовпцю чи таблиці тимчасову альтернативну назву в запиті?

  1. ARENAME
  2. BALIAS
  3. CAS
  4. DNAME
3.Легка

Яке обмеження гарантує, що стовпець ніколи не залишиться порожнім (NULL)?

  1. ADEFAULT
  2. BCHECK NULL
  3. CUNIQUE
  4. DNOT NULL
4.Середня

Яка властивість ACID означає, що паралельні транзакції не бачать незавершених змін одна одної?

  1. AДовговічність (durability)
  2. BІзольованість (isolation)
  3. CДоступність (availability)
  4. DАтомарність (atomicity)
5.Середня

Що робить GRANT SELECT ON employees TO alice?

  1. AДозволяє користувачеві alice читати таблицю employees
  2. BРобить alice власницею бази даних
  3. CКопіює таблицю employees для alice
  4. DДозволяє alice оновлювати й видаляти рядки в таблиці employees
6.Середня

Якому реченню SQL відповідає оператор селекції (σ) у реляційній алгебрі?

  1. AWHERE
  2. BGROUP BY
  3. CСписку SELECT
  4. DORDER BY
7.Складна

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

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

Запит FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' несподівано відкидає клієнтів без замовлень. Чому?

  1. AЗ’єднання має використовувати USING замість ON
  2. BLEFT JOIN ніколи не зберігає рядків без збігу
  3. Cstatus — зарезервоване слово
  4. DУмова WHERE на o відхиляє рядки, заповнені NULL, перетворюючи з’єднання на внутрішнє

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

  1. 1. B · Лише рядки зі збіжними значеннями в обох таблицях
  2. 2. C · AS
  3. 3. D · NOT NULL
  4. 4. B · Ізольованість (isolation)
  5. 5. A · Дозволяє користувачеві alice читати таблицю employees
  6. 6. A · WHERE
  7. 7. C · COUNT(*) рахує рядок, заповнений NULL, як 1 для клієнтів без замовлень
  8. 8. D · Умова WHERE на o відхиляє рядки, заповнені NULL, перетворюючи з’єднання на внутрішнє

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