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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Какое ключевое слово SQL удаляет повторяющиеся строки из результата?

  1. AUNIQUE
  2. BDISTINCT
  3. CSINGLE
  4. DDIFFERENT
2.Лёгкая

Какое предложение в PostgreSQL и MySQL возвращает только первые 10 строк результата?

  1. AMAX 10
  2. BLIMIT 10
  3. CTOP ROWS 10
  4. DFIRST 10 ONLY
3.Лёгкая

Какой оператор SQL извлекает данные из таблицы?

  1. ACREATE
  2. BSELECT
  3. CINSERT
  4. DUPDATE
4.Средняя

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

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

Таблица хранит адрес клиента в каждой строке заказа. Изменение адреса в одной строке, но не в остальных, — пример:

  1. AАномалии удаления
  2. BФантомного чтения
  3. CАномалии обновления
  4. DАномалии вставки
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 IS 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 = NULL
7.Сложная

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

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

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

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

Ответы

  1. 1. B · DISTINCT
  2. 2. B · LIMIT 10
  3. 3. B · SELECT
  4. 4. C · Атомарность (Atomicity)
  5. 5. C · Аномалии обновления
  6. 6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. B · Условие WHERE на o отбрасывает строки, заполненные NULL, превращая соединение во внутреннее
  8. 8. A · Обнаруживает взаимоблокировку и прерывает одну из транзакций как жертву

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