Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
106
Добавлен:
15.06.2014
Размер:
1.7 Mб
Скачать

3.5.2 Базовые теоретико-множественные операции реляционной алгебры Кодда

Объединением двух совместимых отношений R1 и R2 одинаковой раз­мерности (RlUNIONR2) является отношениеR, содержащее все элементыисходных отношений (с исключением повторений).

Пример 1. Объединение отношений.

Пусть отношением R1 будет множество поставщиков из Москвы, а отношение R2 — множество поставщиков, которые поставляют деталь Р1. Тогда отношение R обозначает поставщиков, находящихся в Москве, или по­ставщиков, выпускающих деталь Р1, либо тех и других.

R1

п#

Имя

Статус

Город_П

S1

Сергей

20

Москва

S4

Николай

20

Москва

R2

п#

Имя

Статус

Город_П

S1

Сергей

20

Москва

S2

Иван

10

Киев

R(R1 UNION R2)

п#

Имя

Статус

Город_П

S1

Сергей

20

Москва

S2

Иван

10

Киев

S4

Николай

20

Москва

Вычитание совместимых отношений R1 и R2 одинаковой размерности (RlMINUSR2) есть отношение, тело которого состоит из множества кортежей, принадлежащихR1, но не принадлежащих отношениюR2. Для тех же отношенийR1 иR2 из предыдущего примера отношениеRбудет представлять собой множество поставщиков, находящихся в Лондоне, но не выпускающих деталь Р1, т. е.R={(S4, Николай, 20, Москва)}.

Заметим, что результат операции вычитания зависит от порядка следо­вания операндов, т. е. RlMINUSR2 иR2MINUSRlне одно и то же.

Пересечение двух совместимых отношений R1 и R2 одинаковой размер­ности (RlINTERSECTR2) порождает отношениеRс телом, включающим в себя кортежи, одновременно принадлежащие обоим исходным отношениям. Для отношенийR1 иR2 результирующее отношениеRбудет означать всех производителей из Лондона, выпускающих деталь Р1, Тело отношенияRсостоит из единственного элемента (S1, Сергей, 20, Москва).

Произведение отношения R1 степени к1 и отношения R2 степени к2 (RlTIMESR2), которые не имеют одинаковых имен атрибутов, есть такое отношениеRстепени (к1+к2), заголовок которого представляет сцеплениезаголовков отношений R1 и R2, а тело — имеет кортежи, такие, что первые к1 элементов кортежей принадлежат множеству R1, а последние к2 элементов — множеству R2. При необходимости получить произведение двух отношений, имеющих одинаковые имена одного или нескольких атрибутов, применяется операция переименованияRENAME, рассматриваемая далее.

Пример 2. Произведение отношений.

Пусть отношение R1 представляет собой множество номеров всех текущих поставщиков {SI, S2, S3, S4, S5}, а отношение R2 — множество номеров всех текущих деталей {Р1, Р2, РЗ, Р4, Р5, Р6}. Результатом операции R1 TIMES R2 является множество всех пар типа «поставщик — деталь», т. е. {(S1.P1), (S1.P2), (S1,P3), (S1,P4), (S1,P5), (S1,P6), (S2,P1), -, (S5,P6)}.

Заметим, что в теории множеств результатом операции прямого про­изведения является множество, каждый элемент которого является парой элементов, первый из которых принадлежитR1, а второй — принадлежит R2. Поэтому кортежами декартова произведения бинарных отношений будут кортежи вида: ((а, б), (в, г)), где кортеж (а, б) принадлежит отношениюR1, а кортеж (в, г) — принадлежит отношениюR2. В ре­ляционной алгебре применяется расширенный вариант прямого произведения, при котором элементы кортежей двух исходных отношений сливаются, что при записи кортежей результирующего отношения означает удаление лишних скобок, т. е. (а, б, в, г).