атрибут oa объекта o) представлена
Реляционная переменная 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' – уровнем хранения данных.
Содержание Назад Вперед