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