ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

       

Экви-соединение


Наиболее важным частным случаем

-соединения является случай, когда
есть просто равенство.

Синтаксис экви-соединения:

Пример 9. Пусть имеются отношения

,
и
, хранящие информацию о поставщиках, деталях и поставках соответственно (для удобства введем краткие наименования атрибутов):

Номер поставщика

PNUM

Наименование поставщика

PNAME



1 Иванов
2 Петров
3 Сидоров

Таблица 16 Отношение P (Поставщики)

Номер детали

DNUM

Наименование детали

DNAME

1 Болт
2 Гайка
3 Винт

Таблица 17 Отношение D (Детали)

Номер поставщика

PNUM

Номер детали

DNUM

Поставляемое количество

VOLUME

1 1 100
1 2 200
1 3 300
2 1 150
2 2 250
3 1 1000

Таблица 18 Отношение PD (Поставки)

Ответ на вопрос, какие детали поставляются поставщиками, дает экви-соединение

. На самом деле, т.к. в отношениях имеются одинаковые атрибуты, то требуется сначала переименовать атрибуты, а потом выполнить экви-соединение. Запись становится более громоздкой:

Обычно, такой сложной формой записи не пользуются. Но как бы то ни было, в результате имеем отношение:

Номер поставщика

PNUM1

Наименование поставщика

PNAME

Номер поставщика

PNUM2

Номер детали

DNUM

Поставляемое количество

VOLUME

1 Иванов 1 1 100
1 Иванов 1 2 200
1 Иванов 1 3 300
2 Петров 2 1 150
2 Петров 2 2 250
3 Сидоров 3 1 1000

Таблица 19 Отношение "Какие детали поставляются какими поставщиками"

Недостатком экви-соединения является то, что если соединение происходит по атрибутам с одинаковыми наименованиями (а так чаще всего и происходит!), то в результатирующем отношении появляется два атрибута с одинаковыми значениями. В нашем примере атрибуты PNUM1 и PNUM2 содержат дублирующие данные. Избавиться от этого недостатка можно, взяв проекцию по всем атрибутам, кроме одного из дублирующих. Именно так действует естественное соединение.



Содержание раздела