S является функцией, то при
Если либо Π21(R), либо S является функцией, то при соединении R с S не может возникнуть никакой точки неоднозначности. В этом случае единственным соединением R с S является естественное соединение. Заметим, что повторяющееся уточнение "R с S" является необходимым, поскольку S могло бы быть соединимым с R (как и R с S), и это соединение потребовало бы совершенно отдельного рассмотрения. На рис. 4 ни одно из отношений R, Π21(R), S, Π21(S) не является функцией.
Неоднозначность при соединении R с S иногда можно разрешить при помощи других отношений. Предположим, что имеется или может быть выведено из других источников, независимых от R и S, отношение T на доменах
project и
supplier со следующими свойствами:
- Π1(T) = Π2(S);
- Π2(T) = Π1(R);
- T(j, s) → p(R(s, p) ∧ S(p, j));
- R(s, p) → j(S(p, j) ∧ T(j, s));
- S(p, j) → s(T(j, s) ∧ R(s, p)).
Тогда мы можем построить трехстороннее соединение отношений R, S, T, т.е. тернарное отношение U, такое что
Π12(U) = R;
Π23(U) = S;
Π31(U) = T.
Такое соединение мы будем называть
циклическим 3-соединением, чтобы отличать его от
линейного 3-соединения, которое является кватернарным отношением V, таким что
Π12(V) = R;
Π23(V) = S;
Π34(V) = T.
Хотя может существовать более одного циклического 3-соединения (см., например, рис. 7 и 8), условия, при которых это может случиться, включают намного более строгие ограничения, чем те, которые допускают множественность 2-соединений. Более точно, R, S, T должны содержать точки неоднозначности по отношению к соединению R с S (скажем, точку x), S с T (скажем, y) и T с R (скажем, z). Кроме того, точка y должна быть связана с точкой x в S, точка z с точкой y – в T, и точка x с точкой z – в R. Заметим, что на рис. 7 этим свойством обладают точки
x = a; y = d; z = 2.
R |
( s |
p ) |
|
S |
( p |
j ) |
|
T |
( j |
s ) |
|
1 |
a |
|
|
a |
d |
|
|
d |
1 |
|
2 |
a |
|
|
a |
e |
|
|
d |
2 |
|
2 |
b |
|
|
b |
d |
|
|
e |
2 |
|
|
|
|
|
b |
e |
|
|
|
|
<
Содержание Назад Вперед