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

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

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

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

1.Легка

Що робить COMMIT у транзакції?

  1. AСтворює нову таблицю
  2. BСкасовує всі зміни, зроблені від початку транзакції
  3. CБлокує всю базу даних
  4. DРобить усі зміни транзакції постійними
2.Легка

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

  1. AUPDATE
  2. BCREATE
  3. CINSERT
  4. DSELECT
3.Легка

Клієнт може зробити багато замовлень, але кожне замовлення належить рівно одному клієнтові. Що це за тип зв’язку?

  1. AОдин-до-багатьох
  2. BОдин-до-одного
  3. CБагато-до-багатьох
  4. DНуль-до-нуля
4.Середня

Що таке SQL-ін’єкція (SQL injection)?

  1. AСпосіб додавання індексів
  2. BТехніка резервного копіювання бази даних
  3. CПрийом швидкого вставлення багатьох рядків однією інструкцією INSERT
  4. DАтака, під час якої введені користувачем дані змінюють структуру SQL-запиту
5.Середня

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

  1. A12
  2. B7
  3. C4
  4. D3
6.Середня

Який запит повертає найвищу зарплату в кожному відділі?

  1. ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
  2. BSELECT dept, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT MAX(dept), salary FROM emp GROUP BY salary
  4. DSELECT dept, MAX(salary) FROM emp GROUP BY dept
7.Складна

Що таке фантомне читання (phantom read)?

  1. AЧитання незафіксованих змін
  2. BПовторний запит повертає нові рядки, вставлені іншою зафіксованою транзакцією
  3. CЗапит, який не повертає жодного рядка
  4. DЧитання даних, які ніколи не записувалися
8.Складна

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

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

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

  1. 1. D · Робить усі зміни транзакції постійними
  2. 2. D · SELECT
  3. 3. A · Один-до-багатьох
  4. 4. D · Атака, під час якої введені користувачем дані змінюють структуру SQL-запиту
  5. 5. A · 12
  6. 6. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  7. 7. B · Повторний запит повертає нові рядки, вставлені іншою зафіксованою транзакцією
  8. 8. C · Читачі бачать узгоджений знімок зафіксованих версій рядків, а записувачі створюють нові версії

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