Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белобжеский_Лекции_по_ББД.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5.5 Mб
Скачать

Tema-соединение (θ-join)

R F S - операция тета-соединения определяет отношение, которое содержит кортежи из декартового произведения отношений R и S, удовлетворяющие предикату F. Предикат F имеет вид R.ai θ S.bi где вместо θ может быть указан один из операторов сравнения ( <, <=, >, >=, = или ~= ). (~= значит не равно).

Обозначение тета-соединения можно переписать на основе базовых операций вы­борки и декартового произведения так, как показано ниже

Так же, как и в случае с декартовым произведением, степенью тета-соединения называется сумма степеней операндов-отношений R и S. Если предикат F содержит только оператор равенства (=), то соединение называется соединением по эквивалентности (equi-join). Еще раз обратимся к запросу, описанному в примере 3.3.

Пример 3.6. Операция соединения по эквивалентности

Создайте список всех арендаторов, которые осматривали объект недвижимости, с указанием их имен и сделанных ими комментариев

В примере 3.3 для получения этого списка использовались операции декартового произведения и выборки. Однако тот же самый результат можно получить с помощью операции соединения по эквивалентности.

Результат этих операции показан в табл. 3.12.

Естественное соединение

R S - естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам х, из ре­зультатов которого исключается по одному экземпляру каждого общего атрибута.

Степенью естественного соединения называется сумма степеней операндов-отношений R и S минус количество атрибутов х.

Пример 3.7. Операция естественного соединения

Создайте список всех арендаторов, которые осматривали объекты недвижимости, с указанием их имен и сделанных ими комментариев

В примере 3.6 для составления этого списка использовалось соединение по эквива­лентности, но в нем присутствовало два атрибута Rno. Для удаления одного из этих атрибутов можно воспользоваться операцией естественного соединения

Результат этих операций показан в табл. 3.15

Таблица 3.15. Естественное соединение сокращенного варианта отношений Renter и Viewing (использованы только некоторые атрибуты)

Rno

FName

LName

Pno

Comment

CR76

John

Kay

PG4

Too remote (Слишком далеко)

CR56

Aline

Stewart

PA14

Too small (Слишком мала)

CR56

Aline

Stewart

PG4

CR56

Aline

Stewart

PG36

CR62

Mary

Tregear

PA14

No dining room (Нет отдельной столовой)

Внешнее соединение

Зачастую при соединении двух отношений кортеж из одного отношения не нахо­дит соответствующего кортежа в другом отношении. Иначе говоря, в столбцах соеди­нения оказываются несовпадающие значения. Может потребоваться, чтобы строка из одного отношения была представлена в результате соединения, даже если в другом отношении нет совпадающего значения. Эта цель может быть достигнута с помощью внешнего соединения.

R S - левым внешним соединением называется соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение.

Для обозначения отсутствующих значений во втором отношении используется оп­ределитель NULL. Внешнее соединение становится все более распространенным в ре­ляционных СУБД, к тому же в настоящее время оно является оператором, включен­ным в новый стандарт SQL. Преимуществом внешнего соединения яв­ляется то, что при таком соединении сохраняется исходная информация, т.е. внешнее соединение сохраняет кортежи, которые были бы утрачены при использовании других типов соединения.

Пример 3.8. Левое внешнее соединение

Создайте отчет о ходе проведения осмотров объектов недвижимости.

В данном случае необходимо создать отношение, состоящее как из перечня осмот­ренных клиентами объектов недвижимости (с приведением их комментариев по этому поводу), так и перечня объектов недвижимости, которые еще не осматрива­лись. Это можно сделать с помощью следующего внешнего соединения.

Результат этой операции показан в табл. 3.16.

Таблица 3.16. Внешнее соединение отношений Property for Rent и Viewing

Pno

Sreet

City

Rno

Date

Comment

PA14

16 Holhead

Aberdeen

CR56

24-May-98

Too small (Слишком мала)

PA14

16 Holhead

Aberdeen

CR62

14-May-98

No Dining room (Нет отдельной столовой)

PL94

6 Argyll St

London

NULL

NULL

NULL

PG4

6 Lawrence St

Glasgow

CR76

20-Ap»-98

Too remote (Слишком далеко)

PG4

6 Lawrence St

Glasgow

CR56

26-May-98

PG36

2 Manor Rd

Glasgow

CR56

28-Apr-98

Строго говоря, в примере 3.8 показано левое (естественное) внешнее соединение, поскольку в результирующем отношении содержатся все кортежи левого отношения. Существует также правое внешнее соединение, называемое так потому, что в резуль­тирующем отношении содержатся все кортежи правого отношения. Кроме того, су­ществует и полное внешнее соединение, в результирующее отношение которого по­мещаются все кортежи из обоих отношений и в котором для обозначения несовпадающих значений кортежей используются определители NULL.