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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что означает NULL в SQL?

  1. AЛогическое значение «ложь»
  2. BОтсутствующее или неизвестное значение
  3. CЧисло ноль в числовых столбцах
  4. DПустую строку
2.Лёгкая

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

  1. AUNIQUE
  2. BSINGLE
  3. CDIFFERENT
  4. DDISTINCT
3.Лёгкая

Для чего используется диаграмма «сущность — связь» (ER-диаграмма)?

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

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

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

Чему в реляционной алгебре соответствует оператор проекции (π)?

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

Почему SELECT price * 2 AS double_price FROM t WHERE double_price > 10 в большинстве баз данных завершается ошибкой?

  1. AАрифметика в списке SELECT не допускается
  2. BWHERE может сравнивать только текстовые столбцы
  3. CWHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
  4. DПсевдонимы не могут содержать подчёркивание
7.Сложная

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

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

Таблица b содержит в столбце y значения 1, 2 и NULL. Что возвращает SELECT * FROM a WHERE x NOT IN (SELECT y FROM b)?

  1. AВообще никаких строк
  2. BТолько строки a, где x равен NULL
  3. CСтроки a, где x не равен 1 или 2
  4. DКаждую строку a

Ответы

  1. 1. B · Отсутствующее или неизвестное значение
  2. 2. D · DISTINCT
  3. 3. A · Для моделирования сущностей, их атрибутов и связей при проектировании базы данных
  4. 4. A · Атака, при которой пользовательский ввод изменяет структуру SQL-запроса
  5. 5. A · Выбору столбцов, которые появятся в результате
  6. 6. C · WHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
  7. 7. D · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
  8. 8. A · Вообще никаких строк

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