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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что делает COMMIT в транзакции?

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

Что такое потенциальный ключ (candidate key)?

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

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

  1. AHAVING
  2. BORDER BY
  3. CGROUP BY
  4. DWHERE
4.Средняя

Что означает буква «A» в аббревиатуре ACID?

  1. AТочность (Accuracy)
  2. BДоступность (Availability)
  3. CАтомарность (Atomicity)
  4. DАгрегация (Aggregation)
5.Средняя

Какое утверждение о HAVING верно?

  1. AОно должно стоять перед WHERE в операторе SELECT
  2. BВ нём можно использовать агрегатные функции для фильтрации групп
  3. CЕго нельзя использовать с GROUP BY
  4. DОно сортирует результаты
6.Средняя

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

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

Что возвращает FULL OUTER JOIN?

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

В таблице миллион строк и логический столбец is_active, равный TRUE для 95% строк. Почему оптимизатор может игнорировать индекс по is_active для WHERE is_active = TRUE?

  1. AИндексы нельзя создавать по логическим столбцам
  2. BОптимизатор никогда не использует индексы в предложениях WHERE
  3. CИндекс считает TRUE значением NULL
  4. DПодходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу

Ответы

  1. 1. B · Делает все изменения транзакции постоянными
  2. 2. D · Минимальный набор столбцов, однозначно идентифицирующий каждую строку
  3. 3. D · WHERE
  4. 4. C · Атомарность (Atomicity)
  5. 5. B · В нём можно использовать агрегатные функции для фильтрации групп
  6. 6. B · Разрешает пользователю alice читать таблицу employees
  7. 7. A · Все строки из обеих таблиц, сопоставленные, где это возможно, а в остальных случаях дополненные NULL
  8. 8. D · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу

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