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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что такое первичный ключ (primary key)?

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

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

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

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

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

Что означает буква «A» в аббревиатуре ACID?

  1. AДоступность (Availability)
  2. BАгрегация (Aggregation)
  3. CАтомарность (Atomicity)
  4. DТочность (Accuracy)
5.Средняя

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

  1. ASELECT customer_id FROM orders WHERE COUNT(*) > 0
  2. BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  3. CSELECT DISTINCT COUNT(*) FROM orders
  4. DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
6.Средняя

Что возвращает SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?

  1. AОшибку, потому что CASE нельзя использовать в SELECT
  2. BТолько студентов, сдавших экзамен
  3. CЧисло сдавших и не сдавших студентов
  4. DКаждое имя с меткой 'pass' или 'fail' в зависимости от оценки
7.Сложная

Транзакция T1 блокирует строку A и ждёт строку B, а T2 блокирует строку B и ждёт строку A. Что делает типичная СУБД?

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

Что возвращает SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?

  1. AОшибку, потому что name нет в GROUP BY
  2. BПо одной строке на отдел со средней зарплатой
  3. CКаждую строку сотрудника вместе со средней зарплатой его отдела
  4. DТолько сотрудников, зарабатывающих больше среднего по отделу

Ответы

  1. 1. D · Столбец или набор столбцов, однозначно идентифицирующий каждую строку
  2. 2. D · Искусственный идентификатор без бизнес-смысла, например автоинкрементный id
  3. 3. A · Столбец, ссылающийся на первичный ключ другой таблицы
  4. 4. C · Атомарность (Atomicity)
  5. 5. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  6. 6. D · Каждое имя с меткой 'pass' или 'fail' в зависимости от оценки
  7. 7. B · Обнаруживает взаимоблокировку и прерывает одну из транзакций как жертву
  8. 8. C · Каждую строку сотрудника вместе со средней зарплатой его отдела

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