Шрифт:
Это и есть левое внешнее соединение, полученное, как можно видеть, объединением декартового произведения исходных отношений-операндов r1 и r2 и отношения r7 (S2 S1), определенного в пункте пятом.
Теперь у нас имеются все необходимые выкладки для определения не только операции левого внешнего соединения, но по аналогии и для определения операции правого внешнего соединения. Итак:
1) операция левого внешнего соединения в строгом формулярном виде выглядит следующим образом:
r1(S1) ->x Pr2(S2) (r1 x Pr2) [(r1 \ (r1 x Pr2) [S1]) x {(S2)}];
2) операция правого внешнего соединения определяется подобным образом операции левого внешнего соединения и имеет следующий вид:
r1(S1) ->x Pr2(S2) (r1 x Pr2) [(r2 \ (r1 x Pr2) [S2]) x {(S1)}];
Эти две производные операции имеют всего два свойства, достойные упоминания.
1. Свойство коммутативности:
1) для операции левого внешнего соединения:
r1(S1) ->x Pr2(S2) /= r2(S2) ->x Pr1(S1);
2) для операции правого внешнего соединения:
r1(S1) <-x Pr2(S2) /= r2(S2) <-x Pr1(S1)
Итак, мы видим, что свойство коммутативности не выполняется для этих операций в общем виде, но при этом операции левого и правого внешнего соединения взаимно обратны друг другу, т. е. выполняется:
1) для операции левого внешнего соединения:
r1(S1) ->x Pr2(S2) = r2(S2) ->x Pr1(S1);
2) для операции правого внешнего соединения:
r1(S1) <-x Pr2(S2) = r2(S2) <-x Pr1(S1).
2. Основным свойством операций левого и правого внешнего соединения является то, что они позволяют восстановить исходное отношение-операнд по конечному результату той или иной операции соединения, т. е. выполняются:
1) для операции левого внешнего соединения:
r1(S1) = (r1– >x Pr2) [S1];
2) для операции правого внешнего соединения:
r2(S2) = (r1 <-x Pr2) [S2].