Сцепление отношений

Основные операции над отношениями

Над отношениями можно выполнять операции теории множеств (объединение отношений, пересечение отношений, дополнение отношения и др.), а также операции реляционной алгебры (композиция отношений, сцепление отношений и проекция отношения).

Рассмотрим основные операции реляционной алгебры, положенные в основу языков данных многих коммерческих систем управления реляционными БД.

Пусть имеются два отношения: отношение с именем R и отношение с именем S. Каждое из отношений имеет арность 2 (бинарные отношения). Отношение R состоит из атрибутов А1 и А2, отношение S - из атрибутов А2 и А3.

Можно выполнить операцию сцепления двух отношений по одинаковым значениям одноименных атрибутов Ai. Атрибуты, по которым выполняется сцепление, должны быть определены на одном и том же домене. Операцию сцепления обозначим символом *.

Сцеплением отношений R и S называется новое отношение R*S, состоящее из кортежей <x, y, z>, для которых кортеж <x, y> принадлежит R, а <y, z> принадлежит S.

Пример 1.

Определим результат выполнения операции сцепления отношений R и S, атрибуты которого А2 определены на одном и том же домене. Это значит, что если в столбце с именем А2 таблицы R содержатся, например, названия городов, то и в столбце А2 таблицы S также содержатся названия городов.

R S R*S R*M

А1 А2   А2 А3   А1 А2 А3   А1 А2
a b b k a b k a b
c b d f c b k c b
c d d p c d f    
e q     c d p    

В результате сцепления двух бинарных отношений получено новое тернарное отношение, кортежи которого оказались "сцеплены" по одинаковым значениям атрибута А2

Иными словами, в результате сцепления двух таблиц, состоящих из двух столбцов, получена новая таблица, состоящая из трех столбцов. Строки результирующей таблицы "сцеплены" по одинаковым значениям, находящимся в столбцах с именем А2.Таким образом, информация из одной таблицы оказалась "привязанной" к информации из другой таблицы.

В общем случае, если отношение R имеет арность m, а отношение S - арность n, то R*S будет иметь арность m+n-1.

Можно выполнить сцепление отношения с множеством.

Пусть множество М является одноэлементным и содержит одно значение {b} из того же домена, что и значения атрибута А2 отношения R. Тогда результатом операции сцепления будет отношение R*M, состоящее из тех кортежей отношения R, у которых значение атрибута А2 равно b.

Иными словами, в результате сцепления таблицы R с константой b из таблицы R оказались выбранными стоки, содержащие в столбце А2 значение b (см. Пример 1). Если в столбце А2 содержались, например, названия городов, то из таблицы отберутся строки с заданным названием города.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: