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