Реляционная переменная o.oa ( атрибут oa объекта o) представлена в множестве R'
как следующее подмножество кортежей отношения R'
o.oa OєR' s(raOID= OIDi, raoa = oa ) (R') <8>
а собственное значение r указанной реляционной переменной вычисляется как
r = p!(raOID, raoa)( s(raOID= OIDi, raoa = oa)(R')) <8'>
где s(raOID= OIDi, raoa = oa ) - операция выборки по атрибутам raOID и raoa, а p!(raOID, raoa) – операция проекции, отсекающая эти атрибуты.
Обозначение OєR' показывает, что выражению, обращающемуся к данным, представленным в виде объектов, входящих в множество O (выражение слева от OєR'), соответствует выражение, управляющее данными, организованными в виде множества R' отношений, существующих в терминальной систем хранения, т.е. реляционном ОЗУ (выражение справа).
Заметим, что на основании R = rdom(oa) и R'« R, можно говорить о существовании между множествами R' и oa функционального соответствие rstorage, определяющего, какое из отношений R' будет служить для хранений значений атрибутов oa:
R' = rstorage(oa). <9>
В отношении R' представлены значения всех определенных на реляционном домене R атрибутов, существующих во всех объектах о из множества O. Каждому имени атрибута oai соответствует подмножество Ai кортежей отношения R', A = s( raoa = oai)(R'), где R' = rstorage(oai). Подмножество Ai по сути дела представляет собой объединение значений всех существующих атрибутов oai (o1.oai И …И on.oai) где oi – объект содержащий атрибут oai. Поскольку атрибут oai, объявленный в некотором классе С (oai
О Schema(C) ), определен только в объектах этого класса С и в объектах классов С+, наследующих класс C, объединение (o1.oai И …И on.oai) будем обозначать как С.ai ,
С.ai OєR A, A = s( raoa = oai)(R'), где R' = rstorage(oai). <10>
В дальнейшем множество O мы будем называть уровнем представления данных, а множество R' – уровнем хранения данных.