Ответ на вопрос, какие детали поставляются поставщиками, дает экви-соединение P[PNUM=PNUM]PD. На самом деле, т.к. в отношениях имеются одинаковые атрибуты, то требуется сначала переименовать атрибуты, а потом выполнить экви-соединение. Запись становится более громоздкой:
(P RENAME PNUM AS PNUM1)[PNUM1=PNUM2](PD RENAME PNUM AS PNUM 2)
Обычно, такой сложной формой записи не пользуются. Но как бы то ни было, в результате имеем отношение:
Номер поставщика PNUM1 | Наименование поставщика PNAME | Номер поставщика PNUM2 | Номер детали DNUM | Поставляемое количество VOLUME |
Иванов | ||||
Иванов | ||||
Иванов | ||||
Петров | ||||
Петров | ||||
Сидоров |
Отношение "Какие детали поставляются какими поставщиками"
Недостатком экви-соединения является то, что если соединение происходит по атрибутам с одинаковыми наименованиями (а так чаще всего и происходит!), то в результирующем отношении появляется два атрибута с одинаковыми значениями. В нашем примере атрибуты PNUM1 и PNUM2 содержат дублирующие данные. Избавиться от этого недостатка можно, взяв проекцию по всем атрибутам, кроме одного из дублирующих. Именно так действует естественное соединение.