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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

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

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

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

Какая агрегатная функция возвращает среднее значение числового столбца?

  1. AMEAN
  2. BSUM
  3. CMEDIAN
  4. DAVG
4.Средняя

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

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

Какой оператор удаляет все строки таблицы, сохраняет её структуру и не может иметь предложения WHERE?

  1. AALTER TABLE
  2. BDELETE FROM с предложением WHERE
  3. CDROP TABLE
  4. DTRUNCATE TABLE
6.Средняя

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

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

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

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

Почему SELECT dept, name, COUNT(*) FROM emp GROUP BY dept недопустим в стандартном SQL?

  1. AВ GROUP BY нужно перечислить все столбцы таблицы
  2. Bdept должен находиться внутри агрегатной функции
  3. Cname не группируется и не агрегируется, поэтому у него нет единственного значения в группе
  4. DCOUNT(*) нельзя использовать вместе с GROUP BY

Ответы

  1. 1. B · Столбец, ссылающийся на первичный ключ другой таблицы
  2. 2. C · Отклоняет строки, значения которых не удовлетворяют условию
  3. 3. D · AVG
  4. 4. B · WHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
  5. 5. D · TRUNCATE TABLE
  6. 6. C · Дочерние строки, ссылающиеся на неё, удаляются автоматически
  7. 7. D · Вообще никаких строк
  8. 8. C · name не группируется и не агрегируется, поэтому у него нет единственного значения в группе

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