Базы данных: конспект лекций
Шрифт:
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].
Таким образом, мы видим, что первое исходное отношение-операнд можно восстановить из результата операции левого правого соединения, а если конкретнее, то применением к результату этого соединения (r1 x r2) унарной операции проекции на схему S1, [S1].
И аналогично второе исходное отношение-операнд можно восстановить применением к результату операции правого внешнего соединения (r1 x r2) унарной операции проекции на схему отношения S2.
Приведем пример для более подробного рассмотрения работы операций левого и правого внешних соединений. Введем уже знакомые нам отношения r1(S1) и r2(S2) с различными схемами отношения:
r1(S1):
r2(S2):
Несоединимый кортеж левого отношения-операнда r2(S2) – это кортеж {d, 4}. Следуя определению, именно им следует дополнить результат внутреннего соединения двух исходных отношений-операндов.
Условие внутреннего соединения отношений r1(S1) и r2(S2) также оставим прежнее: P = (b1 = b2). Тогда результатом операции левого внешнего соединения будет следующая таблица:
r1(S1) ->x Pr2(S2):
Действительно, как мы можем видеть, в результате воздействия операции левого внешнего соединения, произошло пополнение результата операции внутреннего соединения несоединимыми кортежами левого, т. е. в нашем случае первого отношения-операнда. Пополнение кортежа на схеме второго (правого) исходного отношения-операнда по определению произошло при помощи Null-значений.