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


Операция theta-join (тета-соединение)


Пусть заданы отношения R(A, B1) и S(B2, C) такие, что B1 и B2 определены на общем домене, и пусть θ – какое-либо из бинарных отношений =, <, <, ≤, ≥, >, ≠, которое применимо к домену атрибутов B1, B2. Тета-соединение R по B1 с S по B2 обозначается как R[B1 θ B2]S. Это – конкатенация строк отношения R со строками отношения S, формируемая всякий раз, когда компонент B1 строки R

находится в отношении θ с компонентом B2 строки S. Если отношение θ является равенством, операция THETA-JOIN называется EQUI-JOIN (эквисоединением). Из всех операций THETA-JOIN только EQUI-JOIN дает результат, который обязательно содержит два идентичных столбца (один продуцированный из B1, а другой – из B2). В общем случае допускается использование в качестве θ произвольного бинарного отношения, которое применимо к домену атрибутов BB2.

Примеры THETA-JOIN:

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

p 2 1 3 v

q 1 2 4 u

r 2 5 r 3 3

R[C = D]S ( A B C D E ) p 1 2 2 u

q 1 2 2 u

r 3 3 3 v

R[C > D]S ( A B C D E ) r 3 3 2 u

r 2 5 2 u

r 2 5 3 v

r 2 5 4 u

Если отношения, к которым применяется оператор THETA-JOIN, имеют какие-либо общие имена атрибутов, то должны быть заданы имена атрибутов результирующего отношения. Например, если у обоих отношений R и S

имеются атрибуты A, B, и все эти четыре атрибута определяются на некотором общем домене, мы можем определить несколько возможных θ-соединений R с S. Одно из таких определений:

T(D, E, F, G) = R(A, B)[B > B]S(A, B).

При использовании соглашения о порядке перечисления атрибутов это означает, что источником значений для атрибута D отношения T является атрибут A отношения R. Подобным же образом, источниками значений атрибутов E, F и G отношения T являются, соответственно, атрибут B отношения R, а также атрибуты A и B отношения S.




Начало  Назад  Вперед



Книжный магазин