Все воздействия любой операции на объекте, попадают под одну из четырех категорий: запрос, создание, модификация, удаление. Для каждой операции на объекте определяются соответствующие множества.
Множество запросов QS(opi(O)) определяется рекурсивно как QS(opi(O)) = LocalQS(opi(O)) È GlobalQS(opi(O)), где
· LocalQS = Æ, если нет собственных ivj из O "запрошенных" операцией opi. {O}, иначе.
· GlobalQS =
{Ogq
| opi , посылает сообщение к Os
для выполнения метода opj, где OsÎ Scope(opi(O)), и OgqÎQS(opj(Os))}.
Аналогично определяются можества создания модификации и удаления операции opi на объекте O.
Множество замен определяется как объединение множеств создания, модификации и удаления. Конфликт операций – выполнение одного из следующих условий:
1. US(opi(O)) Ç US(opj(O')) ¹ Æ
2. QS(opi(O)) Ç US(opj(O')) ¹ Æ
3. US(opi(O)) Ç QS(opj(O')) ¹ Æ
Пользовательские транзакции можно рассматривать как операции над специальным объектом базы данных.
Пользовательские операции могут быть разбиты на ряд шагов, каждый из которых выполняет некоторую логическую единицу работы. Шаги эти также можно считать едиными операциями. Такое разбиение позволяет ввести понятие точки разрыва. Точка разрыва ставится между двумя шагами на одном уровне любой операции.