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

       

В последнем случае мы рассматриваем


В последнем случае мы рассматриваем подмножество A отношения R', содержащее все значения атрибута oa всех объектов класса с. Исходя из этого, перепишем правую часть выражение <12> как

oi.E(oa1, … , oan) OєR' E( s(raOID= OIDi)(A1), … , s(raOID= OIDi)(An))           <14>

Для перечисленных далее операторов реляционной алгебры[8,10] справедливы следующие равенства:

-для объединения

s( raOID= OID)(Ak) И s( raOID= OID)(Am) = s( raOID= OID)(Ak И Am),

-для пересечения

s( raOID= OID)(Ak) З s( raOID= OID)(Am) = s( raOID= OID)(Ak З Am),

-для декартова произведения

s( raOID= OID)(Ak) ґ s( raOID= OID)(Am) = s( raOID= OID)(Ak ><( raOID)

Am),

-для вычитания

s( raOID= OID)(Ak) - s( raOID= OID)(Am) = s( raOID= OID)(Ak - Am),

-для проекции

p(rai) (s( raOID= OID)Ak) ) = s( raOID= OID)( p(rai) (Ak) ),

-для выборки

s(q)( s( raOID= OID)(Ak)) = s( raOID= OID)( s(q)(Ak) ), где q - предикат ,

-для соединения

s( raOID= OID)(Ak) ><F s( raOID= OID)(Am) = s( raOID= OID)(Ak ><(raOID and F) Am), где F – предикат,

-для деления

s( raOID= OID)(Ak) ё s( raOID= OID)(Am) = s( raOID= OID)(Ak ё Am).

Исходя из этого, можно утверждать, что для любого выражения E (уровень представления данных) найдется такое выражение E' (уровень хранения данных), что

oi.E(oa1, … , oan) OєR' s( raOID= OIDi)( E' (A1, … , An))           <15>

Рассмотрим объединение результатов применение оператора E к объектам из множества gC = {o1 , … ,ok} , gC Н С

o1.E(oa1, … , oan) И … И ok.E(oa1, … , oan) OєR'

s( raOID= OID1)( E' (A1, … , An)) И … И s( raOID= OIDk) ( E' (A1, … , An))           <16>

из чего следует, что

o1.E(oa1, … , oan) И … И ok.E(oa1, … , oan) OєR' s(raOID О {OID1, … , OIDk}) ( E' (A1, … , An))           <17>

Это позволяет утверждать, что реляционный оператор E применим и к множеству gC объектов класса С


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