Транзакция в реляционных базах данных — это последовательность одной или нескольких операций с данными, которые выполняются как единое целое. dzen.ru
Основные этапы работы транзакции: dzen.ru
- Начало транзакции. dzen.ru Выполняется команда для старта транзакции, которая обозначает набор операций, который должен быть выполнен как единое целое. dzen.ru
- Выполнение операций. dzen.ru Транзакция выполняет одну или несколько операций с базой данных (вставка, обновление, удаление и другие). dzen.ru
- Фиксация транзакции. en.wikipedia.org www.osp.ru Если ошибка не возникает, то все результаты манипуляций с данными в рамках транзакции сохраняются в базе данных. en.wikipedia.org
- Откат транзакции. en.wikipedia.org www.osp.ru Если возникает ошибка, то частичные результаты манипуляций с данными в рамках транзакции не сохраняются, и база данных возвращается в исходное состояние. en.wikipedia.org www.osp.ru
Некоторые свойства транзакций:
- Атомарность. dzen.ru otus.ru Все команды в пределах транзакции или полностью выполняются и фиксируются, или не обрабатываются вовсе. otus.ru
- Согласованность. otus.ru Данные при успешном выполнении транзакции должны соблюдать установленные правила по различным ограничениям, первичным и внешним ключам. otus.ru
- Изоляция. dzen.ru otus.ru Транзакция изолирует информацию, с которой она работает, чтобы другие «операции» получали исключительно согласованные сведения. otus.ru
- Долговечность. dzen.ru После успешного завершения транзакции её результаты должны быть постоянными, даже если происходит сбой системы. dzen.ru