4. Варианты операций соединения
4. Варианты операций соединения
Используя как основу рассмотренные ранее унарные операции выборки, проекции, переименования и бинарные операции объединения, пересечения, разности, декартова произведения и естественного соединения (все они в общем случае называются операциями соединения), мы можем ввести новые операции, выведенные с помощью перечисленных понятий и определений. Подобная деятельность называется составлением вариантов операций соединения.
Первым таким вариантом операций соединения является операция внутреннего соединения по заданному условию соединения.
Операция внутреннего соединения по какому-то определенному условию определяется как производная операция от операций декартового произведения и выборки.
Запишем формульное определение этой операции:
r1(S1) ? P r2(S2) = ? <P> (r1 ? r2), S1 ? S2 = ?;
Здесь P = P <S1 ? S2> – условие, накладываемое на объединение двух схем исходных отношений-операндов. Именно по этому условию и происходит отбор кортежей из отношений r1 и r2 в результирующее отношение.
Следует отметить, что операция внутреннего соединения может применяться к отношениям с разными схемами отношений. Эти схемы могут быть любыми, но они ни в коем случае не должны пересекаться.
Кортежи исходных отношений-операндов, попавшие в результат операции внутреннего соединения, называются соединимыми кортежами.
Для наглядного иллюстрирования работы операции внутреннего соединения, приведем следующий пример.
Пусть нам даны два отношения r1(S1) и r2(S2) с различными схемами отношения:
r1(S1):
r2(S2):
Следующая таблица даст результат применения операции внутреннего соединения по условию P = (b1 = b2).
r1(S1) ? P r2(S2):
Итак, мы видим, что действительно «слипание» двух таблиц, представляющих отношения, произошло именно по тем кортежам, в которых выполняется условие операции внутреннего соединения P = (b1 = b2).
Теперь на основании уже введенной операции внутреннего соединения мы можем ввести операцию левого внешнего соединения и правого внешнего соединения. Поясним.
Результатом операции левое внешнее соединение является результат внутреннего соединения, пополненный несоединимыми кортежами левого исходного отношения-операнда. Аналогично результат операции правого внешнего соединения определяется как результат операции внутреннего соединения, пополненный несоединимыми кортежами стоящего справа исходного отношения-операнда.
Вопрос, чем же пополняются результирующие отношения операций левого и правого внешнего соединения, вполне ожидаем. Кортежи одного отношения-операнда дополняются на схеме другого отношения-операнда Null-значениями.
Стоит заметить, что введенные таким образом операции левого и правого внешнего соединения являются производными операциями от операции внутреннего соединения.
Чтобы записать общие формулы для операций левого и правого внешнего соединений, проведем некоторые дополнительные построения.
Пусть нам даны два отношения r1(S1) и r2(S2) с различными схемами отношений S1 и S2, не пересекающимися друг с другом.
Так как мы уже оговаривали, что операции левого и правого внутреннего соединения являются производными, то мы можем получить следующие вспомогательные формулы для определения операции левого внешнего соединения:
1) r3 (S2 ? S1) ? r1(S1) ? Pr2(S2);
r 3 (S2 ? S1) — это просто результат внутреннего соединения отношений r1(S1) и r2(S2). Левое внешнее соединение является производной операцией именно от операции внутреннего соединения, поэтому мы и начинаем наши построения с нее;
2) r4(S1) ? r 3(S2 ?S1) [S1];
Таким образом, с помощью унарной операции проекции, мы выделили все соединимые кортежи левого исходного отношения-операнда r1(S1). Результат обозначили r4(S1) для удобства применения;
3) r5 (S1) ? r1(S1) r4(S1);
Здесь r1(S1) — все кортежи левого исходного отношения-операнда, а r4(S1) – его же кортежи, только соединимые. Таким образом, при помощи бинарной операции разности, в отношении r5(S1) у нас получились все несоединимые кортежи левого отношения-операнда;
4) r6(S2)? {?(S2)};
{?(S2)} — это новое отношение со схемой (S2), содержащее всего один кортеж, причем составленный из Null-значений. Для удобства мы обозначили это отношение r6(S2);
5) r7 (S2 ? S1) ? r5(S1) ? r6(S2);
Здесь мы взяли полученные в пункте три, несоединимые кортежи левого отношения-операнда (r5(S1)) и дополнили их на схеме второго отношения-операнда S2 Null-значениями, т. е. декартово умножили отношение, состоящее из этих самых несоединимых кортежей на отношение r6(S2), определенное в пункте четыре;
6) r1(S1) ?? P r2(S2) ? (r1 ? P r2) ? r7 (S2 ? S1);
Это и есть левое внешнее соединение, полученное, как можно видеть, объединением декартового произведения исходных отношений-операндов r1 и r2 и отношения r7 (S2 ? S1), определенного в пункте пятом.
Теперь у нас имеются все необходимые выкладки для определения не только операции левого внешнего соединения, но по аналогии и для определения операции правого внешнего соединения. Итак:
1) операция левого внешнего соединения в строгом формулярном виде выглядит следующим образом:
r1(S1) ?? P r2(S2) ? (r1 ? P r2) ? [(r1 (r1 ? P r2) [S1]) ? {?(S2)}];
2) операция правого внешнего соединения определяется подобным образом операции левого внешнего соединения и имеет следующий вид:
r1(S1) ?? P r2(S2) ? (r1 ? P r2) ? [(r2 (r1 ? P r2) [S2]) ? {?(S1)}];
Эти две производные операции имеют всего два свойства, достойные упоминания.
1. Свойство коммутативности:
1) для операции левого внешнего соединения:
r1(S1) ?? P r2(S2) ? r2(S2) ?? P r1(S1);
2) для операции правого внешнего соединения:
r1(S1) ?? P r2(S2) ? r2(S2) ?? P r1(S1)
Итак, мы видим, что свойство коммутативности не выполняется для этих операций в общем виде, но при этом операции левого и правого внешнего соединения взаимно обратны друг другу, т. е. выполняется:
1) для операции левого внешнего соединения:
r1(S1) ?? P r2(S2) = r2(S2) ?? P r1(S1);
2) для операции правого внешнего соединения:
r1(S1) ?? P r2(S2) = r2(S2) ?? Pr1(S1).
2. Основным свойством операций левого и правого внешнего соединения является то, что они позволяют восстановить исходное отношение-операнд по конечному результату той или иной операции соединения, т. е. выполняются:
1) для операции левого внешнего соединения:
r1(S1) = (r1 ?? P r2) [S1];
2) для операции правого внешнего соединения:
r2(S2) = (r1 ?? P r2) [S2].
Таким образом, мы видим, что первое исходное отношение-операнд можно восстановить из результата операции левого правого соединения, а если конкретнее, то применением к результату этого соединения (r1 ? r2) унарной операции проекции на схему S1, [S1].
И аналогично второе исходное отношение-операнд можно восстановить применением к результату операции правого внешнего соединения (r1 ? r2) унарной операции проекции на схему отношения S2.
Приведем пример для более подробного рассмотрения работы операций левого и правого внешних соединений. Введем уже знакомые нам отношения r1(S1) и r2(S2) с различными схемами отношения:
r1(S1):
r2(S2):
Несоединимый кортеж левого отношения-операнда r2(S2) – это кортеж {d, 4}. Следуя определению, именно им следует дополнить результат внутреннего соединения двух исходных отношений-операндов.
Условие внутреннего соединения отношений r1(S1) и r2(S2) также оставим прежнее: 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):
Итак, мы видим, что операция полного внешнего соединения наглядно оправдала свое определение как объединения результатов операций левого и правого внешних соединений. Результирующее отношение операции внутреннего соединения дополнено одновременно несоединимыми кортежами как левого (первого, r1(S1)), так и правого (второго, r2(S2)) исходного отношения-операнда.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
2.4.3. Варианты загрузки
2.4.3. Варианты загрузки Итак, на мой взгляд, выбор варианта загрузки производится следующим образом: • Если у вас установлена Windows NT или Windows 2000, то используйте NT Loader. • Если у вас стоит Windows 95 или Windows 98 на FAT16, и вы не хотите ставить программу-загрузчик из другой ОС или от
6.16 Варианты
6.16 Варианты Для одного или нескольких дополнительных вариантов доступно 40 специальных октетов в заголовке IP. Варианты датаграмм выбираются отсылающими их приложениями. Применяются они крайне редко. Список вариантов включает:? Strict Source Route (Точный маршрут от
14.9.3 Варианты TFTP
14.9.3 Варианты TFTP Улучшенный вариант TFTP разрешает согласование параметров через предварительные запросы чтения и записи. Его основная цель — позволить клиенту и серверу согласовывать между собой размер блока, когда он больше 512 байт (для увеличения эффективности
22.7.5 Варианты Destination
22.7.5 Варианты Destination Заголовок Destination Option (варианты точки назначения) обеспечивает сведения о точке (точках) назначения для многоадресной рассылки. В настоящее время для этого заголовка не специфицировано никаких вариантов, кроме полей заполнения. Формат заголовка
Варианты упаковки инфопродукта
Варианты упаковки инфопродукта Скачайте эту интеллект-карту по адресу: http://smartinfomarketing.ru/book-leads.htmКак можно упаковать свою
Варианты дополнительных предложений
Варианты дополнительных предложений Клиентам, которые совершают покупку, можно предложить один из трех вариантов:• Купить более дорогой товар.Мало кто так делает в интернет-магазине, но это реально работает! Когда человек выбрал интересующий товар, ему просто нужно
Варианты активизации для MBR-типа: WKO и CAO
Варианты активизации для MBR-типа: WKO и CAO Еще одной проблемой выбора, возникающей перед вами, как программистом, является принятие решения о том, когда следует активизировать MBR-объект и когда этот объект должен стать кандидатом для участия в процедуре сборки мусора на
Варианты воспроизведения
Варианты воспроизведения Рассмотрим некоторые полезные особенности вывода воспроизводимого Проигрывателем изображения.Полноэкранный режим. Помимо использования окна предварительного просмотра Проигрывателя, изображение можно воспроизводить в полноэкранном
Варианты построения разрезов
Варианты построения разрезов Построение разреза с ограниченной глубинойДля построения разреза с ограниченной глубиной необходимо выбрать один из способов:• установить переключатель Horizontal Range (Глубина разреза), расположенный в области General (Общие настройки) окна
Варианты будущего
Варианты будущего Автор: Киви БердВ знаменитом спилберговском фильме «Особое мнение», где тщательно и со множеством технических подробностей обрисовано мрачноватое будущее человечества, были интересные детали, на которые мало кто обратил внимание. Всем, скажем,
13.8. Variations (Варианты)
13.8. Variations (Варианты) С помощью этой команды можно настраивать насыщенность, освещенность, а также цвета изображения (рис. 13.10). Кроме того, можно выбрать область воздействия (тени, средние тона и др.). Чтобы узнать, как будет выглядеть изображение после применения настройки,
Инварианты и варианты цикла
Инварианты и варианты цикла Наши следующие и последние конструкции утверждений помогут строить корректные циклы. Эти конструкции являются прекрасным дополнением рассмотренных ранее механизмов. Поскольку они не являются специфической частью ОО-метода, то вы вправе
Улучшенные варианты
Улучшенные варианты Описанный механизм включает большинство случаев и достаточен для целей описания нашей книги. На практике полезны некоторые уточнения:[x]. Некоторые внешние программные элементы могут быть макросами. Они имеют вид подпрограмм в ОО-мире, но любой их
5.2. Варианты подключения
5.2. Варианты подключения Итак, мы разобрались, что такое Интернет, теперь нужно к нему подключиться. Подключением пользователей ко Всемирной компьютерной сети занимаются специальные компании — провайдеры. За определенную плату (увы, и в виртуальном мире коммунизм еще не
Другие варианты подключения
Другие варианты подключения Кроме основного способа подключения к Интернету через телефонную линию с помощью модема сегодня пользователям доступны и другие варианты подключения, в частности через:? оператора сотовой связи по технологии GPRS;? телефонную линию с помощью