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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что делает UNION с результатами двух запросов SELECT?

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

К какой части SQL относятся операторы CREATE, ALTER и DROP?

  1. AЯзык определения данных (DDL)
  2. BЯзык манипулирования данными (DML)
  3. CЯзык управления доступом к данным (DCL)
  4. DЯзык управления транзакциями (TCL)
3.Лёгкая

INNER JOIN возвращает:

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

Столбец содержит значения 10, 20 и NULL. Что возвращает AVG(col)?

  1. ANULL
  2. B10
  3. C30
  4. D15
5.Средняя

Что такое «грязное чтение» (dirty read)?

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

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

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

Таблица enrolment(student_id, course_id, student_name, grade) имеет ключ (student_id, course_id). Какую нормальную форму она нарушает?

  1. AВторую нормальную форму, потому что student_name зависит только от student_id
  2. BТолько третью нормальную форму, потому что grade зависит от student_name
  3. CНикакую, она в НФБК
  4. DПервую нормальную форму, потому что столбец grade не содержит атомарных значений
8.Сложная

Почему запрос с WHERE YEAR(order_date) = 2025 может не использовать индекс по order_date?

  1. AYEAR не является допустимым SQL
  2. BПрименение функции к столбцу не позволяет выполнить простой диапазонный поиск по индексу
  3. CИндексы никогда не работают с датами
  4. DИндекс по order_date используется только для ORDER BY, но никогда для WHERE

Ответы

  1. 1. D · Объединяет их в один результат и удаляет повторяющиеся строки
  2. 2. A · Язык определения данных (DDL)
  3. 3. D · Только строки с совпадающими значениями в обеих таблицах
  4. 4. D · 15
  5. 5. A · Чтение данных, записанных другой транзакцией, которая ещё не зафиксирована
  6. 6. A · В нём можно использовать агрегатные функции для фильтрации групп
  7. 7. A · Вторую нормальную форму, потому что student_name зависит только от student_id
  8. 8. B · Применение функции к столбцу не позволяет выполнить простой диапазонный поиск по индексу

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