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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что такое суррогатный ключ (surrogate key)?

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

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

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

Что такое потенциальный ключ (candidate key)?

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

Представление (view) в SQL — это:

  1. AТип индекса
  2. BСохранённый запрос, который ведёт себя как виртуальная таблица
  3. CЭкран клиента базы данных для просмотра таблиц
  4. DКопия таблицы на диске
5.Средняя

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

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

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

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

Даны функциональные зависимости A → B, B → C и C → D на R(A, B, C, D). Каково замыкание A+?

  1. A{A, B}
  2. B{A, B, C}
  3. C{A, B, C, D}
  4. D{A}
8.Сложная

x равен NULL, а y = 1. Каково значение условия (x > 5 OR y = 1)?

  1. AFALSE
  2. BNULL, поэтому строка всегда отбрасывается
  3. CUNKNOWN
  4. DTRUE

Ответы

  1. 1. B · Искусственный идентификатор без бизнес-смысла, например автоинкрементный id
  2. 2. C · Никакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
  3. 3. A · Минимальный набор столбцов, однозначно идентифицирующий каждую строку
  4. 4. B · Сохранённый запрос, который ведёт себя как виртуальная таблица
  5. 5. B · WHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
  6. 6. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · {A, B, C, D}
  8. 8. D · TRUE

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