Оформить и купить диплом на бланке ГОЗНАК без предоплаты

Транзакции

Нередко для изменения таблицы базы данных необходимо ввести несколько команд. В случае многопользовательской базы данных эти команды могли бы перемешаться с командами других пользователей, и поэтому команды одного пользователя целесообразно группировать. В однопользовательской базе группировка  также целесообразна, потому что пользователь может пожелать вернуться к предыдущему состоянию базы.

Группа команд, объединенных общим функциональным действием, называется транзакцией. Транзакция – это логическая единица работы системы.  Незавершенную транзакцию можно отменить. Отмену транзакции и восстановление состояния называют откатом транзакции.

Началом транзакции считается либо начало сеанса с СУБД, либо конец  предыдущей транзакции. Транзакция завершается или отменяется специальными командами.

Транзакции характеризуют четырьмя классическими свойствами:

атомарности, согласованности, изолированности, долговечности – ACID (Atomicity, Consistency, Isolation, Durability). Иногда традиционные транзакции называют ACID-транзакциями.

Свойство атомарности выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.

Свойство согласованности гарантирует, что по мере выполнения транзакций данные переходят из одного согласованного состояния в другое.

Свойство изолированности означает, что конкурирующие за доступ к базе данных транзакции физически обрабатываются последовательно, изолированно друг от друга.

Свойство долговечности трактуется следующим образом: если транзакция завершена успешно, то те изменения в данных, которые были ею произведены, не могут быть потеряны ни при каких обстоятельствах (даже в случае последующих ошибок).

Если две транзакции A и B выполняются параллельно, то СУБД полагает, что результат будет одинаковым независимо от того, какая транзакция выполняется  первой. Эта дисциплина выполнения известна как сериализация транзакций.