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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что делает ограничение CHECK?

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

Внешний ключ (foreign key) — это:

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

Что гарантирует ограничение UNIQUE на столбце?

  1. AЗначения столбца отсортированы
  2. BСтолбец автоматически становится первичным ключом таблицы
  3. CСтолбец нельзя изменить после вставки
  4. DНикакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
4.Средняя

Внешний ключ объявлен с ON DELETE CASCADE. Что происходит при удалении родительской строки?

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

Почему у таблицы может быть только один кластеризованный индекс?

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

Что возвращает EXCEPT (в Oracle — MINUS)?

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

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

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

Есть составной индекс по (last_name, first_name). Какое условие может использовать его наиболее эффективно?

  1. AWHERE first_name LIKE '%a'
  2. BWHERE UPPER(first_name) = 'EVA'
  3. CWHERE last_name = 'Jansen'
  4. DWHERE first_name = 'Eva'

Ответы

  1. 1. C · Отклоняет строки, значения которых не удовлетворяют условию
  2. 2. D · Столбец, ссылающийся на первичный ключ другой таблицы
  3. 3. D · Никакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
  4. 4. B · Дочерние строки, ссылающиеся на неё, удаляются автоматически
  5. 5. D · Строки могут физически храниться только в одном порядке
  6. 6. D · Строки первого запроса, которых нет во втором
  7. 7. A · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
  8. 8. C · WHERE last_name = 'Jansen'

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