Базы данных и SQL: лист заданий с ответами

Бесплатный лист заданий для печати по теме «Базы данных и SQL»: 8 задач от простых до экзаменационного уровня, с ответами. Распечатайте его или сохраните как PDF.

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Какое предложение (clause) фильтрует строки до группировки?

  1. AORDER BY
  2. BWHERE
  3. CHAVING
  4. DGROUP BY
2.Лёгкая

Что обозначает подстановочный символ _ (подчёркивание) в шаблоне LIKE?

  1. AЛюбую букву, но не цифру
  2. BНоль или более символов
  3. CСимвол пробела
  4. DРовно один символ
3.Лёгкая

Что возвращает CROSS JOIN?

  1. AТолько строки, совпадающие по общему столбцу-ключу
  2. BТолько несовпадающие строки
  3. CТолько строки первой таблицы
  4. DВсе сочетания строк двух таблиц
4.Средняя

Первая нормальная форма (1NF) требует, чтобы:

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

Какой запрос выводит клиентов, которые ни разу не размещали заказ?

  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
6.Средняя

Что делает GRANT SELECT ON employees TO alice?

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

Транзакция T1 блокирует строку A и ждёт строку B, а T2 блокирует строку B и ждёт строку A. Что делает типичная СУБД?

  1. AПозволяет обеим транзакциям ждать, пока одна из них не завершится нормально
  2. BОбнаруживает взаимоблокировку и прерывает одну из транзакций как жертву
  3. CФиксирует обе транзакции одновременно
  4. DОбъединяет две транзакции в одну
8.Сложная

Как при многоверсионном управлении параллелизмом (MVCC) читающие транзакции могут не блокировать пишущие?

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

Ответы

  1. 1. B · WHERE
  2. 2. D · Ровно один символ
  3. 3. D · Все сочетания строк двух таблиц
  4. 4. A · Каждый столбец содержал атомарные значения и не было повторяющихся групп
  5. 5. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. D · Разрешает пользователю alice читать таблицу employees
  7. 7. B · Обнаруживает взаимоблокировку и прерывает одну из транзакций как жертву
  8. 8. C · Читающие видят согласованный снимок зафиксированных версий строк, а пишущие создают новые версии

Полные пошаговые решения: занимайтесь этой темой на examproblems.com.