Транзакции используются в многопользовательских приложениях для обеспечения логической непротиворечивости данных в процессе модификации несколькими пользователями одновременно. Механизм транзакций в HyTech обеспечивает:
· Согласованное чтение данных;
· Последовательную запись данных.
Согласованное чтение данных означает, что после того, как один пользователь начал транзакцию, и вплоть до ее завершения, остальные пользователи могут обращаться к данным из модифицируемых таблиц на чтение. При этом данные будут доступны для чтения по состоянию на начало транзакции. Т.е. при использовании механизма транзакций для других пользователей база данных (совокупность нескольких таблиц) «скачком» переходит из одного допустимого состояния в другое.
Последовательная запись данных означает, что после того, как один пользователь начал транзакцию, и вплоть до ее завершения, остальные пользователи могут обращаться к данным из модифицируемых таблиц на запись, но при этом будет выполнена блокировка операции записи до тех пор, пока транзакция не будет завершена.
Отличие механизма транзакций от механизма снимков:
· Операции записи при использовании снимков не блокируются;
· Для работы с измененными данными требуется обновление снимка, т.е. выполнение оператора fix all или оператора fix table. В случае транзакции измененные данные сразу доступны пользователю, выполнившему изменение.