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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

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

Что делает WHERE country IN ('NL', 'BE', 'DE')?

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

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

  1. ACREATE
  2. BUPDATE
  3. CSELECT
  4. DINSERT
4.Средняя

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

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c INNER 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 = NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
5.Средняя

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

  1. AАномалии удаления
  2. BАномалии обновления
  3. CФантомного чтения
  4. DАномалии вставки
6.Средняя

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

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

Два дежурных врача каждый проверяют, что другой ещё на дежурстве, а затем оба одновременно снимаются с дежурства. Какую аномалию здесь всё ещё допускает изоляция снимков (snapshot isolation)?

  1. AАсимметрию записи (write skew)
  2. BГрязное чтение
  3. CГрязную запись
  4. DНеповторяемое чтение в пределах одной транзакции
8.Сложная

Отчётная база данных копирует имена клиентов в таблицу orders, чтобы избежать соединений. Какова главная цена такой денормализации?

  1. AЗапросы к таблице orders замедляются
  2. BПервичные ключи больше нельзя использовать
  3. CБаза данных больше не может использовать индексы
  4. DИзбыточные копии нужно поддерживать согласованными при каждом изменении данных клиента

Ответы

  1. 1. A · Кортеж
  2. 2. B · Оставляет строки, в которых country равно любому значению из списка
  3. 3. C · SELECT
  4. 4. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. B · Аномалии обновления
  6. 6. D · Соединить таблицу employees саму с собой, используя два псевдонима
  7. 7. A · Асимметрию записи (write skew)
  8. 8. D · Избыточные копии нужно поддерживать согласованными при каждом изменении данных клиента

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