Реляционная алгебра - Теоретико-множественные операторы
ОГЛАВЛЕНИЕ
Теоретико-множественные операторы
Объединение
Определение 2: Объединением двух совместимых по типу отношений
и
называется отношение с тем же заголовком, что и у отношений
и
, и телом, состоящим из кортежей, принадлежащих или
, или
, или обоим отношениям.
Синтаксис операции объединения:

Замечание. Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому, если некоторый кортеж входит и в отношение
, и отношение
, то в объединение он входит один раз.
Пример 2. Пусть даны два отношения
и
с информацией о сотрудниках:
Таблица 1. Отношение A
| Табельный номер | Фамилия | Зарплата |
|---|---|---|
| 1 | Иванов | 1000 |
| 2 | Петров | 2000 |
| 3 | Сидоров | 3000 |
Таблица 2. Отношение B
| Табельный номер | Фамилия | Зарплата |
|---|---|---|
| 1 | Иванов | 1000 |
| 2 | Пушников | 2500 |
| 4 | Сидоров | 3000 |
Объединение отношений
и
будет иметь вид:
Таблица 3. Отношение A UNION B
| Табельный номер | Фамилия | Зарплата |
|---|---|---|
| 1 | Иванов | 1000 |
| 2 | Петров | 2000 |
| 3 | Сидоров | 3000 |
| 2 | Пушников | 2500 |
| 4 | Сидоров | 3000 |
Замечание. Как видно из приведенного примера, потенциальные ключи, которые были в отношениях
и
не наследуются объединением этих отношений. Поэтому, в объединении отношений
и
атрибут "Табельный номер" может содержать дубликаты значений. Если бы это было не так, и ключи наследовались бы, то это противоречило бы понятию объединения как "объединение множеств". Конечно, объединение отношений
и
имеет, как и любое отношение, потенциальный ключ, например, состоящий из всех атрибутов.
Пересечение
Определение 3: Пересечением двух совместимых по типу отношений
и
называется отношение с тем же заголовком, что и у отношений
и
, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям
и
.
Синтаксис операции пересечения:

Пример 3. Для тех же отношений
и
, что и в предыдущем примере пересечение имеет вид:
Таблица 4 Отношение A INTERSECT B
| Табельный номер | Фамилия | Зарплата |
|---|---|---|
| 1 | Иванов | 1000 |
Замечание. Казалось бы, что в отличие от операции объединения, потенциальные ключи могли бы наследоваться пересечением отношений. Однако это не так. Вообще, никакие реляционные операторы не передают результатирующему отношению никаких данных о потенциальных ключах . В качестве причины этого можно было бы привести тривиальное соображение, что так получается более просто и симметрично - все операторы устроены одинаково. На самом деле причина более глубока, и заключается в том, что потенциальный ключ - семантическое понятие, отражающее различимость объектов предметной области. Наличие потенциальных ключей не выводится из структуры отношения, а явно задается для каждого отношения, исходя из его смысла. Реляционные же операторы являются формальными операциями над отношениями и выполняются одинаково, независимо от смысла данных, содержащихся в отношениях. Поэтому, реляционные операторы ничего не могут "знать" о смысле данных. Трактовка результата реляционных операций - дело пользователя.
Вычитание
Определение 4: Вычитанием двух совместимых по типу отношений
и
называется отношение с тем же заголовком, что и у отношений
и
, и телом, состоящим из кортежей, принадлежащих отношению
и не принадлежащих отношению
.
Синтаксис операции вычитания:

Пример 4. Для тех же отношений
и
, что и в предыдущем примере вычитание имеет вид:
Таблица 5. Отношение A MINUS B
| Табельный номер | Фамилия | Зарплата |
|---|---|---|
| 2 | Петров | 2000 |
| 3 | Сидоров | 3000 |
