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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

  1. AORDER BY salary DESC
  2. BORDER BY salary ASC
  3. CGROUP BY salary DESC
  4. DSORT salary DOWN
2.Лёгкая

Что такое составной ключ (composite key)?

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

Как в реляционной модели называется строка таблицы?

  1. AСхема
  2. BДомен
  3. CАтрибут
  4. DКортеж
4.Средняя

Когда WHERE EXISTS (подзапрос) истинно для строки?

  1. AКогда подзапрос возвращает число больше нуля
  2. BКогда подзапрос возвращает хотя бы одну строку
  3. CКогда подзапрос возвращает ровно одну строку
  4. DКогда подзапрос не возвращает значений NULL
5.Средняя

Что возвращает SELECT SUM(amount) FROM orders, если предложению WHERE не соответствует ни одна строка?

  1. AОшибку
  2. B0
  3. CПустую строку
  4. DNULL
6.Средняя

В таблице employees есть столбец manager_id, ссылающийся на другого сотрудника. Как вывести каждого сотрудника рядом с именем его руководителя?

  1. AСоздать на диске вторую копию таблицы
  2. BОбъединить таблицу с самой собой через UNION ALL и фильтр WHERE
  3. CИспользовать только GROUP BY manager_id
  4. DСоединить таблицу employees саму с собой, используя два псевдонима
7.Сложная

Таблица employee(emp_id, dept_id, dept_name) имеет ключ emp_id, и dept_id → dept_name. Какое утверждение верно?

  1. AОна не во 2НФ
  2. BОна не в 1НФ
  3. CОна во 2НФ, но не в 3НФ
  4. DОна в НФБК и потому в 3НФ
8.Сложная

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

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

Ответы

  1. 1. A · ORDER BY salary DESC
  2. 2. D · Ключ, состоящий из двух или более столбцов
  3. 3. D · Кортеж
  4. 4. B · Когда подзапрос возвращает хотя бы одну строку
  5. 5. D · NULL
  6. 6. D · Соединить таблицу employees саму с собой, используя два псевдонима
  7. 7. C · Она во 2НФ, но не в 3НФ
  8. 8. D · name не группируется и не агрегируется, поэтому у него нет единственного значения в группе

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