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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

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

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

Что такое потенциальный ключ (candidate key)?

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

Что делает COMMIT в транзакции?

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

Зачем создают индексы по столбцам?

  1. AЧтобы предотвратить значения NULL
  2. BЧтобы ускорить поиск и соединения по этим столбцам
  3. CЧтобы ускорить вставку и обновление по этим столбцам
  4. DЧтобы сэкономить место на диске
5.Средняя

Какое свойство ACID гарантирует, что зафиксированные изменения переживут сбой системы?

  1. AСогласованность (Consistency)
  2. BИзолированность (Isolation)
  3. CАтомарность (Atomicity)
  4. DДолговечность (Durability)
6.Средняя

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

  1. ASELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  2. BSELECT customer_id FROM orders WHERE COUNT(*) > 0
  3. CSELECT DISTINCT COUNT(*) FROM orders
  4. DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
7.Сложная

Таблица enrolment(student_id, course_id, student_name, grade) имеет ключ (student_id, course_id). Какую нормальную форму она нарушает?

  1. AТолько третью нормальную форму, потому что grade зависит от student_name
  2. BНикакую, она в НФБК
  3. CВторую нормальную форму, потому что student_name зависит только от student_id
  4. DПервую нормальную форму, потому что столбец grade не содержит атомарных значений
8.Сложная

Как при многоверсионном управлении параллелизмом (MVCC) читающие транзакции могут не блокировать пишущие?

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

Ответы

  1. 1. A · DROP TABLE
  2. 2. D · Минимальный набор столбцов, однозначно идентифицирующий каждую строку
  3. 3. A · Делает все изменения транзакции постоянными
  4. 4. B · Чтобы ускорить поиск и соединения по этим столбцам
  5. 5. D · Долговечность (Durability)
  6. 6. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. C · Вторую нормальную форму, потому что student_name зависит только от student_id
  8. 8. D · Читающие видят согласованный снимок зафиксированных версий строк, а пишущие создают новые версии

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