С чем же работала транзакция
Таблица 2
Транзакция AВремяТранзакция B
--- |
![](images/image_52.gif) |
Чтение ![](images/image_53.gif) |
--- |
![](images/image_54.gif) |
Запись ![](images/image_55.gif) |
Чтение ![](images/image_56.gif) |
![](images/image_57.gif) |
--- |
Работа с прочитанными данными ![](images/image_58.gif) |
![](images/image_59.gif) |
--- |
--- |
![](images/image_60.gif) |
Откат транзакции ![](images/image_61.gif) |
Фиксация транзакции |
![](images/image_62.gif) |
--- |
Работа с "грязными" данными
|
|
С чем же работала транзакция A?
Результат. Транзакция A в своей работе использовала данные, которых нет в базе данных. Более того, транзакция A использовала данные, которых нет, и не было в базе данных! Действительно, после отката транзакции B, должна восстановиться ситуация, как если бы транзакция B вообще никогда не выполнялась. Таким образом, результаты работы транзакции A некорректны, т.к. она работала с данными, отсутствовавшими в базе данных.
Содержание раздела