Коллектив авторов

Базы данных: конспект лекций


Скачать книгу

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):

      Итак, мы видим, что операция полного внешнего соединения наглядно оправдала