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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Какое ключевое слово SQL удаляет повторяющиеся строки из результата?

  1. ADIFFERENT
  2. BUNIQUE
  3. CSINGLE
  4. DDISTINCT
2.Лёгкая

Какой оператор SQL извлекает данные из таблицы?

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

Какая агрегатная функция подсчитывает строки?

  1. ACOUNT
  2. BSUM
  3. CAVG
  4. DMAX
4.Средняя

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

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

Что такое триггер базы данных?

  1. AКод, который автоматически выполняется, когда в таблице происходит заданное событие, например INSERT, UPDATE или DELETE
  2. BЗапрос, который пользователь запускает вручную
  3. CЗапланированное резервное копирование базы данных
  4. DВид индекса, ускоряющего поиск
6.Средняя

В таблице есть строки, где col равен NULL. Какие строки возвращает WHERE col = NULL?

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

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

  1. ADENSE_RANK()
  2. BRANK()
  3. CROW_NUMBER()
  4. DCOUNT()
8.Сложная

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

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

Ответы

  1. 1. D · DISTINCT
  2. 2. D · SELECT
  3. 3. A · COUNT
  4. 4. C · Именованный временный результат, который можно использовать в пределах одного оператора
  5. 5. A · Код, который автоматически выполняется, когда в таблице происходит заданное событие, например INSERT, UPDATE или DELETE
  6. 6. B · Никаких строк, потому что результат сравнения неизвестен
  7. 7. C · ROW_NUMBER()
  8. 8. A · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу

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