Даны два отношения 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) | ||
Если в качестве операции θ используется операция =, такое соединение по условию называется эквисоединением.
|
|
Деление