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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что такое суррогатный ключ (surrogate key)?

  1. AИскусственный идентификатор без бизнес-смысла, например автоинкрементный id
  2. BКлюч, используемый только в представлениях
  3. CКлюч из реальных данных, например адрес электронной почты
  4. DКлюч, ссылающийся на другую таблицу
2.Лёгкая

Что делает UNION с результатами двух запросов SELECT?

  1. AОставляет только строки, которые есть в первом запросе, но нет во втором
  2. BОставляет только строки, присутствующие в обоих
  3. CСоединяет их бок о бок по ключу
  4. DОбъединяет их в один результат и удаляет повторяющиеся строки
3.Лёгкая

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

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

Что возвращает INTERSECT, использованный между двумя запросами SELECT?

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

Что даёт обобщённое табличное выражение (WITH name AS (...))?

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

Что такое SQL-инъекция (SQL injection)?

  1. AСпособ добавления индексов
  2. BАтака, при которой пользовательский ввод изменяет структуру SQL-запроса
  3. CМетод резервного копирования базы данных
  4. DПриём для быстрой вставки многих строк одним оператором INSERT
7.Сложная

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

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

Какая оконная функция (window function) присваивает строкам в каждом разделе (partition) номера 1, 2, 3, ... без повторов?

  1. AROW_NUMBER()
  2. BCOUNT()
  3. CDENSE_RANK()
  4. DRANK()

Ответы

  1. 1. A · Искусственный идентификатор без бизнес-смысла, например автоинкрементный id
  2. 2. D · Объединяет их в один результат и удаляет повторяющиеся строки
  3. 3. C · Ровно один символ
  4. 4. A · Строки, присутствующие в обоих результатах
  5. 5. B · Именованный временный результат, который можно использовать в пределах одного оператора
  6. 6. B · Атака, при которой пользовательский ввод изменяет структуру SQL-запроса
  7. 7. D · Читающие видят согласованный снимок зафиксированных версий строк, а пишущие создают новые версии
  8. 8. A · ROW_NUMBER()

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