Естественное соединение отношений (JOIN)
Математическая запись: REZ = R wv S.
Операция выполняется как эквисоединение отношений по общим атрибутам. Атрибуты задаются только именами. Операция выполняется за три шага.
Шаг 1. Вычисляем декартово произведение отношений-операндов R x S. Например:
Шаг 3. Перенесем отмеченные кортежи в результирующее отношение REZ , исключая повторяющиеся кортежи и используя общие атрибуты один раз. Тогда
REZ = R wv S = A B C D
BC a b c d
a b c e
d b c d
d b c e
Перед выполнением операции естественного соединения обычно осуществляется сортировка отношений-операндов по общим атрибутам.
Указанная выше последовательность шагов позволяет понять, что операцию естественного соединения можно выразить через основные операции реляционной алгебры следующим образом:
REZ = R wv S = pL1, . . . , Lm, N1, . . . , Nk( s(R. N1= S. N1)Ù . . . Ù (R. Nk= S. Nk)( R x S) ),
где L1, . . ., Lm, N1, . . . , Nk – атрибуты декартова произведения, из которых N1, . . . , Nk являются общими атрибутами для отношений R и S.
Пример 6. Пусть R = PN, PIM, ST, GOR и S = PN, DN, KOL
p1 Иванов 80 Москва p1 d1 100
p2 Петров 40 Самара p1 d2 150
p3 Кротов 80 Москва p2 d1 50
p2 d2 100
p3 d2 200
Ответ на многотабличный запрос: «Найти номера поставщиков из Москвы, поставляющих деталь “d2” в количестве больше 100 штук»
(PN? ® GOR = “Москва” and DN = “d2” and KOL > 100 )
можно получить, используя операцию естественного соединения отношений R и S по общему атрибуту PN. Выполнив последовательность из трех шагов, указанных выше, получим естественное соединение в виде:
R wv S = PN, PIM, ST, GOR, DN, KOL
PN p1 Иванов 80 Москва d1 100
p1 Иванов 80 Москва d2 150
p2 Петров 40 Самара d1 50
p2 Петров 40 Самара d2 100
p3 Кротов 80 Москва d2 200
Далее, выполняя сначала селекцию естественного соединения, а затем проекцию, получим следующую процедуру получения ответа на запрос:
REZ = pPN ( s(GOR = “Москва”) Ù (DN = “d2”) Ù (KOL > 100) (R wv S) ) = PN
PN p1
p3