Расширение реляционной модели для лучшего отражения семантики

Операция outer union (внешнее объединение)


Пусть R, S – отношения, которые имеют в качестве общего(-их) атрибута(-ов) только B и никаких других. Пусть A – оставшийся(-еся) атрибут(ы) (атрибуты) в R, а C – в S. Наконец, пусть

R1(A, B, C) = R × (C:ω)

S1(A, B, C) = (A:ω) × S,

где × обозначает символ операции декартова произведения. Тогда внешнее объединение R и S определяется как

R S = R1 ∪ S1

Заметим, что в частном случае, когда R и S совместимы по объединению,

R S = R ∪ S

Пример применения оператора OUTER UNION:

R(A B C) S(B D) p 1 2 2 u

p 2 1 3 v

q 1 2

R S (A B C D) p 1 2 ω

p 2 1 ω

q 1 2 ω

ω 2 ω u

ω 3 ω v

Подобным же образом мы можем также определить OUTER версии операций INTERSECTION и DIFFERENCE.

Как при естественном соединении, так и при эквисоединении, происходит потеря информации, если соединяемые отношения не имеют равных проекций на атрибуты соединения. Для того чтобы сохранить информацию независимо от равенства этих проекций, нам требуется операция соединения, которая может генерировать неопределенные значения всякий раз, когда это требуется. Такого рода операции были независимо предложены в [16, 20, 23, 44].



Содержание раздела