Скачиваний:
52
Добавлен:
10.05.2015
Размер:
327.68 Кб
Скачать

2.2. Естественное соединение (эквисоединение).

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

Пример:

P [D3 = D4] Q

Здесь D3 – домен отношения Р,

D4 – домен отношения Q.

1 11 x x 1

1 11 x x 2

2 11 y y 1

3 11 z

4 12 x x 1

4 11 x x 2

1 11 x x 1

1 11 x x 2

2 11 y y 1

3 11 z

4 12 x x 1

4 11 x x 2

1 11 x 1

1 11 x 2

2 11 y 1

4 12 x 1

4 11 x 2

=

2.3. Композиция.

Это соединение отличается от естественного тем, что из результирующего отношения удаляются оба атрибута соединения.

1 11 1

1 11 2

2 11 1

4 12 1

4 11 2

11 2

1 11 x 1

1 11 x 2

2 11 y 1

4 12 x 1

4 11 x 2

=

.

2.4. Внешние соединения.

Обратимся к общей формуле для соединения отношений R[AѲB]S, где

RиS- отношения;

A– Атрибут отношенияA;

B– Атрибут отношенияB;

Ѳ - оператор сравнения;

Кортеж отношения Rнаходит соответствие кортежу отношенияS, через атрибутыA,Bи оператор Ѳ.

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

Три типа внешнего соединения рассмотрим на примере двух таблиц: Таблица 1 – Personsи Таблица 2 -Cards

Почтовые карточки - CardsIDполучают различные люди -PersonIDпо различным поводам.

Особенности таблиц:

1.Запись 4 в таблице1 – этот человек никогда не посылал почтовые карточки и он не зарегистрирован в таблице 2.

2.Запись 4 в таблице 2 – Получена карточка, от лица не зарегистрированного в таблице 1.

Левое внесение соединения.

(Left Outer Join)

В этом случае в результирующем отношении содержаться все кортежи левого отношения, а несовпадающие значения отношения Cardsспециально заполняться с использование определителя “NULL” .

Определитель “NULL” следует воспринимать как логическую величину “НЕИЗВЕСТНО” .Ключевое слово “NULL” призвано обозначать отсутствие какого либо значения. Его не нужно понимать как нулевое численное значение или заполненную пробелами строку. Ключевое слово “NULL” представляет собой способ обработки неполных или необычных данных.

Итак, имеем итоговую таблицу:

Правое внесение соединения.

(Right Outer Join)

В этом случае результирующем отношении содержатся все кортежи правого отношения Cards. Несовпадающие значения с использованием определителя “NULL” т.е. нулевые значения или пробелы.

Итоговая таблица:

Полное внесение соединения.

(Full Outer Join)

В этом случае в результирующее отношение включаются все кортежи из обоих отношений. Для обозначения несовпадающих значений кортежей используют определитель “NULL”.

Итоговая таблица:

Соседние файлы в папке Лекции по Базам данных - версия 9.01.10