Все пользовательские объекты в системе имеют транзакционные сообъекты. Транзакционный сообъект – это объект, хранящий информацию о воздействии операций транзакций на состояние пользовательского объекта. Ссылка на сообъект находится внутри объекта, для которого отслеживаются воздействия.
Таблица 8: Структура транзакционного сообъекта
(агрегата)
| Имя поля | Значение | ||
| DSL | Множество локальных зависимостей | ||
| DSI | Множество унаследованных зависимостей | ||
| DSR | Множество приобретенных зависимостей | ||
| DS | Множество зависимостей |
Множество зависимостей получается объединением множеств локальных, унаследованных и приобретенных зависимостей. Каждый элемент какого-либо из этих множеств зависимостей – пара номеров транзакций (Ti,Tj). Если трактовать это множество как множество ребер графа, в котором вершины – номера транзакций, а ребра – зависимости между транзакциями, то наличие цикла в графе означает некорректное выполнение транзакций.
В целях упрощения решено отказаться от таблицы конфликтов. Таблица конфликтов описывает какие операции конфликтуют между собой, т.е. может ли выполняться операция A, если в данных момент выполняется операция B. Ячейка таблицы может принимать одно из трех значений: «Конфликтует», «Не конфликтует», «Неизвестно». Значение «Неизвестно» вводится по причине наличия механизма позднего связывания, при котором заранее не известно, конфликтуют ли операции.