Реляционная алгебра - Экви-соединение
ОГЛАВЛЕНИЕ
Экви-соединение
Наиболее важным частным случаем
-соединения является случай, когда
есть просто равенство.
Синтаксис экви-соединения:

Пример 9. Пусть имеются отношения
,
и
, хранящие информацию о поставщиках, деталях и поставках соответственно (для удобства введем краткие наименования атрибутов):
| Номер поставщика PNUM | Наименование поставщика PNAME |
|---|---|
| 1 | Иванов |
| 2 | Петров |
| 3 | Сидоров |
Таблица 16. Отношение P (Поставщики)
| Номер детали | Наименование детали |
|---|---|
| 1 | Болт |
| 2 | Гайка |
| 3 | Винт |
Таблица 17. Отношение D (Детали)
| Номер поставщика | Номер детали | Поставляемое количество |
|---|---|---|
| 1 | 1 | 100 |
| 1 | 2 | 200 |
| 1 | 3 | 300 |
| 2 | 1 | 150 |
| 2 | 2 | 250 |
| 3 | 1 | 1000 |
Таблица 18. Отношение PD (Поставки)
Ответ на вопрос, какие детали поставляются поставщиками, дает экви-соединение
. На самом деле, т.к. в отношениях имеются одинаковые атрибуты, то требуется сначала переименовать атрибуты, а потом выполнить экви-соединение. Запись становится более громоздкой:

Обычно, такой сложной формой записи не пользуются. Но как бы то ни было, в результате имеем отношение:
| Номер поставщика | Наименование поставщика | Номер поставщика | Номер детали | Поставляемое количество |
|---|---|---|---|---|
| 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 содержат дублирующие данные. Избавиться от этого недостатка можно, взяв проекцию по всем атрибутам, кроме одного из дублирующих. Именно так действует естественное соединение.
