Содержание

  1. Транзакции
    1. Определение
    2. Свойства транзакций
  2. Восстановление
    1. Сбои и их типы
    2. Журнал транзакций
    3. Классический алгоритм восстановления
    4. Алгоритм ARIES
    5. Повторные сбои
    6. Отказ оборудования
  3. Параллельное исполнение
    1. Изоляция и конфликты
    2. Блокировки
    3. Упорядочиваемость
    4. Восстановление
    5. Гранулярность блокировок
  4. Транзакции в SQL
    1. Уровни изоляции транзакций
      1. Уровни изоляции
      2. Аномалии
    2. Синтаксис
      1. Транзакции
      2. Точки сохранения

Слайды

HTML

Экзаменационные вопросы

  1. Транзакции. Восстановление. Классический алгоритм
  2. Транзакции. Восстановление. Алгоритм ARIES
  3. Транзакции. Параллельное исполнение. Блокировки.
  4. Транзакции. Параллельное исполнение. Уровни изоляции.

Практические навыки

  1. Выбор границ транзакции
  2. Объявление транзакций на языке SQL

Библиография

  1. Дейт К. Введение в системы баз данных (главы 15 и 16)
  2. Уидом Д., Ульман Д. Основы реляционных баз данных (раздел 7.2)
  3. Gulutzan P., Pelzer T. SQL-99 complete, really (Chapter 36 – SQL Transactions)
  4. Gulutzan P., Pelzer T. SQL-99 complete, really (Chapter 37 – SQL Transactions Concurrency)
  5. Mohan C., Haderle D., Lindsay B., Pirahesh H., Schwarz P. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging
  6. Mohan C. Repeating History Beyond ARIES
  7. Bernstein P.A., Hadzilacos V., Goodman N. Concurrency Control and Recovery in Database Systems

Домашнее задание 10. Транзакции

Транзакции

Спланируйте транзакции и выберите их уровни изоляции для базы данных Airline.

  1. Для каждой хранимой процедуры из предыдущего домашнего задания выберите минимальный допустимый уровень изоляции транзакций (с обоснованием).
  2. Реализуйте сценарий работы:
    1. Запрос списка свободных мест.
    2. Отображеие списка свободных мест пользователю.
    3. Бронирование или покупка места, выбранного пользователем.

Форма для сдачи ДЗ

В рамках проекта:

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