Операции реляционной алгебры Кодда можно разделить на две группы:
- базовые теоретико-множественные;
- специальные реляционные.
Первая группа операций включает в себя четыре классические операции теории множеств: объединение, разность, пересечение и произведение.
Вторая группа представляет собой развитие обычных теоретико-множественных операций в направлении к реальным задачам манипулирования данными, в ее состав входят следующие операции: проекция, селекция, деление и соединение.
Операции реляционной алгебры могут выполняться над одним отношением (например, проекция) или над двумя отношениями (например, объединение). В первом случае операция называется унарной, а во втором — бинарной. При выполнении бинарной операции участвующие в операциях отношения должны быть совместимы по структуре.
Совместимость структур отношений означает совместимость имен атрибутов и типов соответствующих доменов.
Объединением двух совместимых отношений R1 и R2 одинаковой размерности (Rl UNION R2) является отношение R, содержащее все элементы исходных отношений (с исключением повторений).
|
|
Пример 1. Пусть отношением R1 будет множество поставщиков из Лондона, а отношение R2 — множество поставщиков, которые поставляют деталь Р1. Тогда отношение R обозначает поставщиков, находящихся в Лондоне, или поставщиков, выпускающих деталь Р1, либо тех и других.
Таблица 1
Отношение R1
П# | Имя | Статус | Город_п |
S1 | Сергей | Москва | |
S2 | Николай | Москва |
Таблица 2
Отношение R2
П# | Имя | Статус | Город_п |
S1 | Сергей | Москва | |
S2 | Иван | Киев |
Отношение R(R1 UNION R2) – результирующее отношение содержит все элементы исходных отношений
Таблица 3
П# | Имя | Статус | Город_п |
S1 | Сергей | Москва | |
S2 | Иван | Киев | |
S4 | Николай | Москва |
Вычитание (разность) совместимых отношений R1 и R2 одинаковой размерности (Rl MINUS R2) есть отношение, тело которого состоит из множества кортежей, принадлежащих R1, но не принадлежащих отношению R2.
Для тех же отношений R1 и R2 из примера 1 отношение R будет представлять собой множество поставщиков, находящихся в Лондоне, но не выпускающих деталь Р1, т. е. R={(S4, Николай, 20, Москва)}.
Таблица 4
П# | Имя | статус | Город_п |
S4 | Николай | Москва |
Пересечение двух совместимых отношений R1 и R2 одинаковой размерности (Rl INTERSECT R2) порождает отношение R с телом, включающим в себя кортежи, одновременно принадлежащие обоим исходным отношениям.
Для отношений R1 и R2 результирующее отношение R будет означать всех производителей из Лондона, выпускающих деталь Р1. Тело отношения R состоит из единственного элемента (S1, Сергей, 20, Москва).
|
|
Таблица 5
П# | Имя | статус | Город_п |
S1 | Сергей | Москва |
Произведение отношения R1 степени к1 и отношения R2 степени к2 (Rl TIMES R2), которые не имеют одинаковых имен атрибутов, есть такое отношение R степени (к1+к2), заголовок которого представляет сцепление заголовков отношений R1 и R2, а тело — имеет кортежи, такие, что первые к1 элементов кортежей принадлежат множеству R1, а последние к2 элементов — множеству R2.