Классика баз данных - статьи

       

атрибут 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' – уровнем хранения данных.

Содержание  Назад  Вперед