В результате выполнения операции объединения отношенийR и S получается результирующее отношение REZ, в которое включаются кортежи, принадлежащие R или S, или им обоим (аналог теоретико-множественной операции ИЛИ). Повторяющиеся кортежи из результирующего отношения исключаются. Последнее справедливо для любой операции реляционной алгебры.
Математическая запись: REZ = R È S. Операция объединения применяется только к отношениям одинаковой арности, причем kREZ = kR = kS.
Отметим, что схемы отношений-операндов могут быть различными (различные имена атрибутов). Тогда операция объединения отношений выполнима, если соответствующие значения компонент кортежей принадлежат одному домену.
Например, для отношений-операндов R и S, схемы которых различны, результирующее отношение REZ будет безымянным:
R = A B C и S = D E F REZ = R È S = ½ ½
a b c b g a a b c
d a f d a f d a f
c c d c c d
b g a
Такое результирующее отношение получено при условии, что значения атрибутов (A,D) выбраны из одного домена, например, D1, а (B,E) - из домена D2 и (C,F) - из домена D3. Если принадлежность значений атрибутов доменам была бы другой, например, такой: (A, E) – домену D1, (B,D) – домену D2, (C,F) – домену D3, то прежде чем выполнять операцию объединения, нужно было бы переставить столбцы D и E в отношении S или – столбцы A и B в отношении R.
|
|
Если же схема отношений-операндов одинакова, то в результате получится отношение с такой же схемой.
Пример 2. Пусть отношение R - множество кортежей поставщиков, поставляющих деталь “d1”, а S - множество кортежей поставщиков из Москвы (из примера 1 в разделе 1.1):
R = PN, PIM, ST, GOR S = PN, PIM, ST, GOR
p1 Иванов 80 Москва p1 Иванов 80 Москва
p2 Петров 40 Самара
В этом примере схемы отношений одинаковые и REZ = R È S есть множество кортежей поставщиков, которые находятся в Москве, или поставляют деталь “d1”, или и то и другое:
REZ = PN, PIM, ST, GOR
p1 Иванов 80 Москва
p2 Петров 40 Самара
Используя эту операцию, можно к отношению REZ добавить новый кортеж, например, для поставщика из Петербурга (“p4”, “Морозов”, 100, “СПб”):
REZ = REZ È (“p4”, “Морозов”, 100, “ СПб ”)