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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

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

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

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

Какое ограничение гарантирует, что столбец никогда не останется пустым (NULL)?

  1. ADEFAULT
  2. BUNIQUE
  3. CNOT NULL
  4. DCHECK NULL
4.Средняя

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

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

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

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

Какой запрос выводит клиентов, которые ни разу не размещали заказ?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
7.Сложная

Когда декомпозиция R на R1 и R2 гарантированно является декомпозицией без потерь?

  1. AКогда у R1 и R2 одинаковое число столбцов
  2. BКогда у R1 и R2 нет общих атрибутов
  3. CКогда общие атрибуты R1 и R2 образуют суперключ R1 или R2
  4. DКогда каждый атрибут R входит и в R1, и в R2
8.Сложная

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

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

Ответы

  1. 1. C · INSERT
  2. 2. B · Столбец, ссылающийся на первичный ключ другой таблицы
  3. 3. C · NOT NULL
  4. 4. D · Атака, при которой пользовательский ввод изменяет структуру SQL-запроса
  5. 5. C · Код, который автоматически выполняется, когда в таблице происходит заданное событие, например INSERT, UPDATE или DELETE
  6. 6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · Когда общие атрибуты R1 и R2 образуют суперключ R1 или R2
  8. 8. C · WHERE last_name = 'Jansen'

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