Определение. Даны два отношения r1(R1) и r2(R2), для которых в R1 и R2 нет атрибутов с одинаковыми именами, т.е

Даны два отношения r1(R1) и r2(R2), для которых в R1 и R2 нет атрибутов с одинаковыми именами, т.е. R1 ∩ R2 = 0. Пусть атрибут A ∈ R1 сравним по условию θ с атрибутом B ∈ R2 (условие θ определяется так же, как предикат F в операции выбора). Тогда соединением отношений r1(R1) и r2(R2) по условию θ называется отношение s(R) = r1A θ B r2, для которого:

• схема отношения R = R1 ∪ R2,

• реализация отношения есть множество кортежей, полученных сцеплением кортежей из r1 и r2, удовлетворяющих условию A θ B.

Формальная запись:

Даны r1(R1) и r2(R2), R1 ∩ R2 = 0.

s(R) = r1A θ B r2, R = R1 ∪ R2, s = {uv | таких, что u ∈ r1, v ∈ r2 и для u и v выполняется условие θ}.

Атрибуты A и B могут быть составными, т.е. A = {A1, A2, …, An}, B = {B1, B2, …, Bn}. Тогда

A θ B = [A1 θ1 B1, A2 θ2 B2, …, An θn Bn]. Операции θi могут быть разными. Например, пусть даны r1(A1, A2, A3) и r2(B1, B2, B3), и все атрибуты определены на числовых доменах. Тогда можно получить соединение по условию: s = r1 A1 < B1, A2 = B2, A3 B3 r2

Пример:

r1 (A B C)   r2 (X Y)   s = r1 B < X r2 (A B C X Y)
                             
                             
                             

Если в качестве операции θ используется операция =, такое соединение по условию называется эквисоединением.

Деление


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: