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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Какой оператор SQL изменяет значения в уже существующих строках?

  1. AUPDATE
  2. BMODIFY
  3. CINSERT
  4. DREPLACE COLUMN
2.Лёгкая

Какой оператор удаляет всю таблицу вместе с её структурой?

  1. ADROP TABLE
  2. BREMOVE TABLE
  3. CTRUNCATE ROWS
  4. DDELETE FROM
3.Лёгкая

Какое ограничение гарантирует, что столбец никогда не останется пустым (NULL)?

  1. ACHECK NULL
  2. BDEFAULT
  3. CNOT NULL
  4. DUNIQUE
4.Средняя

Какой запрос возвращает самую высокую зарплату в каждом отделе?

  1. ASELECT dept, MAX(salary) FROM emp ORDER BY dept
  2. BSELECT MAX(dept), salary FROM emp GROUP BY salary
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT dept, salary FROM emp WHERE salary = MAX(salary)
5.Средняя

Что делает ROLLBACK TO SAVEPOINT s1?

  1. AОтменяет изменения, сделанные после точки сохранения s1, оставляя транзакцию открытой
  2. BУдаляет точку сохранения и все таблицы, изменённые с тех пор
  3. CОтменяет всю транзакцию с самого начала
  4. DЗавершает транзакцию и фиксирует всё
6.Средняя

Что такое триггер базы данных?

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

Почему после customers LEFT JOIN orders для подсчёта заказов клиента используют COUNT(o.id), а не COUNT(*)?

  1. ACOUNT(*) игнорирует строки со значениями NULL
  2. BCOUNT(*) считает заполненную NULL строку как 1 для клиентов без заказов
  3. CCOUNT(o.id) считает только различных клиентов
  4. DCOUNT(*) нельзя использовать после соединения
8.Сложная

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

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

Ответы

  1. 1. A · UPDATE
  2. 2. A · DROP TABLE
  3. 3. C · NOT NULL
  4. 4. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  5. 5. A · Отменяет изменения, сделанные после точки сохранения s1, оставляя транзакцию открытой
  6. 6. A · Код, который автоматически выполняется, когда в таблице происходит заданное событие, например INSERT, UPDATE или DELETE
  7. 7. B · COUNT(*) считает заполненную NULL строку как 1 для клиентов без заказов
  8. 8. A · Когда его результат эквивалентен некоторому последовательному выполнению тех же транзакций

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