Предварительное замечание 1. Как мы уже сказали, изменение состояния объектов заключается в изменении значений их компонентов. Изменение значения компонента подразумевает присвоение этому компоненту нового значения (сами значения неизменны). Значение компонента a объекта o изменится вследствие операции присваивания
o.a := rval
где rval является значением отношения, схема которого совпадает со схемой, заданной для компонента a.
Отметим, что традиционные для существующих реляционных СУБД операции, изменяющие значения переменных отношения (вставки и удаления кортежей, а также операция обновления, изменяющая значения атрибутов существующих в переменной кортежей) могут быть записаны, используя операцию присваивания:
И наоборот, оператор присваивания
relvar:=relvalue
может быть реализован с использованием традиционных для существующих реляционных СУБД операций
Предварительное замечание 2. Как мы сказали ранее, в методы классов возможны локальными переменными значимых типов. Рассмотрим возможную реализацию этих переменных в используемой РСУБД.
Локальные переменные служат для хранения значений, используемых в методе и/или возникающих в процессе выполнения этого метода. Время жизни локальной переменной ограничено временем выполнения метода. В том случае, когда действия, описываемые неким методом method(), производятся одновременно для множества объектов (никаких итераторов), можно говорить о множестве таких значений и, соответственно, о множестве переменных localvar, служащих для их хранения, причем каждому объекту из этого множества, соответствует одна переменная, и, в каждый момент времени, одно значение этой переменной.