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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

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

Что обозначает подстановочный символ _ (подчёркивание) в шаблоне LIKE?

  1. AСимвол пробела
  2. BНоль или более символов
  3. CРовно один символ
  4. DЛюбую букву, но не цифру
3.Лёгкая

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

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

Какому предложению SQL соответствует оператор селекции (σ) реляционной алгебры?

  1. AWHERE
  2. BGROUP BY
  3. CORDER BY
  4. DСписок SELECT
5.Средняя

Какое утверждение о HAVING верно?

  1. AОно должно стоять перед WHERE в операторе SELECT
  2. BЕго нельзя использовать с GROUP BY
  3. CВ нём можно использовать агрегатные функции для фильтрации групп
  4. DОно сортирует результаты
6.Средняя

Вторая нормальная форма (2NF) устраняет:

  1. AЧастичные зависимости неключевых столбцов от части составного ключа
  2. BВнешние ключи
  3. CТранзитивные зависимости между неключевыми столбцами через другой неключевой столбец
  4. DВсе значения NULL
7.Сложная

Что вернёт следующий запрос: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. AСтудентов с оценкой выше средней
  2. BТолько студентов с наивысшей оценкой
  3. CОшибку, поскольку подзапросы в WHERE не допускаются
  4. DСреднюю оценку всех студентов
8.Сложная

Запрос FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' неожиданно теряет клиентов без заказов. Почему?

  1. ALEFT JOIN никогда не сохраняет строки без совпадений
  2. BУсловие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее
  3. CВ соединении нужно использовать USING вместо ON
  4. Dstatus — зарезервированное слово

Ответы

  1. 1. B · Искусственный идентификатор без бизнес-смысла, например автоинкрементный id
  2. 2. C · Ровно один символ
  3. 3. A · Никакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
  4. 4. A · WHERE
  5. 5. C · В нём можно использовать агрегатные функции для фильтрации групп
  6. 6. A · Частичные зависимости неключевых столбцов от части составного ключа
  7. 7. A · Студентов с оценкой выше средней
  8. 8. B · Условие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее

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