23. Транзакции. Понятие транзакции. Свойства транзакции
def
Транзакция - последовательность действий с базой данных, в которой либо все действия выполняются успешно, либо не выполняется ни одно из них.
По факту это преобразование бд из одного логически-согласованного состояния в другое логически-согласованного состояния, подразумевая, что в промежутке бд могла находиться в логически-несогласованном состоянии
Свойства транзакций
Выполнение всех четырёх свойств одновременно гарантирует надёжность операций
Атомарность
Транзакция неделима, т.е. либо выполняются все её действия, либо ни одного
Согласованность
Транзакция переводит одно согласованное состояние бд в другое без соблюдения обязательной согласованности в промежуточных точках
Изоляция
Если запущено несколько конкурирующих транзакций, то любое обновление состояния бд, выполненное одной транзакцией, скрыто от других до её завершения
Долговечность
Когда транзакция завершена, её результаты обновления сохраняются, даже если в следующий момент произовдёт сбой