Лекция 10. Управление транзакциями, сериализация транзакций
Поддержание механизма транзакций
- показатель уровня развитости
СУБД. Корректное поддержание
транзакций одновременно является
основой обеспечения целостности
баз данных (и поэтому транзакции
вполне уместны и в
однопользовательских персональных
СУБД), а также составляют базис
изолированности пользователей во
многопользовательских системах.
Часто эти два аспекта
рассматриваются по отдельности, но
на самом деле они взаимосвязаны,
что и будет показано в этой лекции.
Заметим, что хотя с точки зрения
обеспечения целостности баз данных
механизм транзакций следовало бы
поддерживать в персональных СУБД,
на практике это обычно не
выполняется. Поэтому при переходе
от персональных к
многопользовательским СУБД
пользователи сталкиваются с
необходимостью четкого понимания
природы транзакций.
Под транзакцией понимается
неделимая с точки зрения
воздействия на БД
последовательность операторов
манипулирования данными (чтения,
удаления, вставки, модификации)
такая, что либо результаты всех
операторов, входящих в транзакцию,
отображаются в БД, либо воздействие
всех этих операторов полностью
отсутствует. Лозунг транзакции -
"Все или ничего": при
завершении транзакции оператором
COMMIT результаты гарантированно
фиксируются во внешней памяти
(смысл слова commit -
"зафиксировать" результаты
транзакции); при завершении
транзакции оператором ROLLBACK
результаты гарантированно
отсутствуют во внешней памяти
(смысл слова rollback - ликвидировать
результаты транзакции).
Предыдущая
глава || Оглавление
|| Следующая глава
|