Базы данных: конспект лекций. Коллектив авторов
Читать онлайн книгу.P = (b1 = b2). Тогда результатом операции левого внешнего соединения будет следующая таблица:
r1(S1) →× P r2(S2):
Действительно, как мы можем видеть, в результате воздействия операции левого внешнего соединения, произошло пополнение результата операции внутреннего соединения несоединимыми кортежами левого, т. е. в нашем случае первого отношения-операнда. Пополнение кортежа на схеме второго (правого) исходного отношения-операнда по определению произошло при помощи Null-значений.
И аналогично результатом правого внешнего соединения по тому же, что и раньше, условию P = (b1 = b2) исходных отношений-операндов r1(S1) и r2(S2) является следующая таблица:
r1(S1) ←× P r2(S2):
Действительно, в этом случае пополнять результат операции внутреннего соединения следует несоединимыми кортежами правого, в нашем случае второго исходного отношения-операнда. Такой кортеж, как не трудно видеть, во втором отношении r2(S2) один, а именно {2, y}. Далее действуем по определению операции правого внешнего соединения, дополняем кортеж первого (левого) операнда на схеме первого операнда Null-значениями.
И, наконец, рассмотрим третий вариант приведенных ранее операций соединения.
Операция полного внешнего соединения. Эту операцию вполне можно рассматривать не только как операцию, производную от операций внутреннего соединения, но и как объединение операций левого и правого внешнего соединения.
Операция полного внешнего соединения определяется как результат пополнения того же самого внутреннего соединения (как и в случае определения левого и правого внешних соединений) несоединимыми кортежами одновременно и левого, и правого исходных отношений-операндов. Исходя из этого определения дадим формулярный вид этого определения:
r1(S1) ↔× P r2(S2) = (r1 →× P r2) ∪ ( r1 ←× P r2);
У операции полного внешнего соединения также имеется свойство, сходное с аналогичным свойством операций левого и правого внешних соединений. Только за счет изначальной взаимно-обратной природы операции полного внешнего соединения (ведь она была определена как объединение операций левого и правого внешних соединений) для нее выполняется свойство коммутативности:
r1(S1) ↔× P r2(S2)= r2(S2) ↔ × P r1(S1);
И для завершения рассмотрения вариантов операций соединения, рассмотрим пример, иллюстрирующий работу операции полного внешнего соединения. Введем два отношения r1(S1) и r2(S2) и условие соединения.
Пусть
r1(S1)
r2(S2):
И пусть условием соединения отношений r1(S1) и r2(S2) будет: P = (b1 = b2), как и в предыдущих примерах.
Тогда результатом операции полного внешнего соединения отношений r1(S1) и r2(S2) по условию P = (b1 = b2) будет следующая таблица:
r1(S1) ↔× P r2(S2):
Итак, мы видим, что операция полного внешнего соединения наглядно оправдала