Транзакции – последовательность операторов манипулирования данными выполняющееся как единое целое и переводящее БД из одного целостного состояния в другое целостное состояние.
Для пользователя транзакции выполняются по принципу всё или ничего (либо полное выполнение, либо откат). С этой точки зрения транзакции важны как в многопользовательской, так и в однопользовательской системе. В однопользовательской системе транзакции – это логические единицы работы, после выполнения которых БД остается целой. В многопользовательской системе транзакции служат для изоляции работы отдельных пользователей.
Обычно транзакции начинаются автоматически с момента присоединения пользователя к БД и продолжаются, пока не произойдет событие:
1. Подана команда ‘Commit work’. Завершается текущая транзакция и автоматически начинается новая. При этом гарантируется, что результаты работы завершенной транзакции фиксируются.
2. RollBack Work. Откатывается текущая транзакция и автоматически начинается новая.
3. Произошло отсоединение пользователя от СУБД. Автоматическая фиксация транзакции.
4. Сбой в системе. При новом запросе системы происходит анализ выполнения текущей транзакции. Транзакции, для которых была подана команда Commit work, но результаты работы не зафиксировались, выполняются снова. Остальные откатываются.