Транзакции,ACID.

 

1. Понятие транзакции.

Опр. 1. Под транзакцией будем понимать последовательность элементарных операций над данными,  выполняемых  как единое целое, переводящая систему из одного целостного (непротиворечивого) состояния в другое.

Свойства транзакции (ACID):

Атомарность (Atomicity). Выполняемые в транзакции операции будут выполнены или не будут выполнены вовсе.

Согласованность (Consistency). Все данные после выполнения транзакции должны находиться в согласованном состоянии.

Изолированность (Isolation). Изменения данных, выполняемые одной транзакцией, не должны зависеть от изменения данных, которые производит в тот же момент другая транзакция. Данное свойство не всегда выполняется в полной мере, обычно говорят об уровне изоляции транзакций.

Долговечность (Durability). После завершения транзакции она фиксируется, другими словами нельзя вернуть систему в исходно состояние.

Некоторые СУБД начинают транзакцию автоматически с момента подсоединения пользователя к базе данных. Для других требуется выполнить команду begin transaction. Транзакция будет выполняться до тех пор, пока, как

А) не будет выполнена команда commit transaction

Б) не будет выполнена команда rollback transaction

C) не произойдет сбой

Д) не произойдет отсоединение пользователя.

В процессе выполнения транзакций может нарушаться требования целостности (согласованности)  могут быть нарушены:

1. Нарушена уникальность некоторого ключа.

2. Несогласованность сумм.

И др.

 

Hosted by uCoz