Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
inform sistem.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.22 Mб
Скачать

14 Реляционные операторы.

Третья и последняя часть реляционной модели - это операторы. Основным компонентом этой части модели является реляционная алгебра, которая в основном состоит из набора операторов, использующих отношения в качестве операндов и возвращающих отношения в качестве результата. Это реляционное свойство называется свойством замкнутости.

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

Реляционная алгебра, определенная Коддом, состоит из 8 операторов, составляющих две группы, по четыре оператора в каждой:

1. традиционные операции над множествами: объединение, пересечение, вычитание, декартово произведение;

2. специальные реляционные операторы: выборка, проекция, соединение, деление.

Традиционные операции над множествами. Объединение (union).

Объединение в реляционной алгебре не полностью совпадает с математическим объединением. Здесь требуется, чтобы два исходных отношения имели одну и ту же форму. Одна и та же форма - это совместимость по типу. Два отношения совместимы по типу, если

1. каждое из них имеет одно и тоже множество имен атрибутов;

2. соответствующие атрибуты (с совпадающими именами) определены на одном и том же домене.

Операции объединения, пересечения и вычитания требуют от операндов совместимости по типу.

Определение: Объединением

A UNION B

двух совместимых по типу отношений A и B называется отношение с тем же заголовком, как и в отношениях A и B, и с телом, состоящим из множества всех кортежей t, принадлежащих A или B, или обоим сразу.

Пример: Пусть отношения A и B имеют вид:

A B

________________________ ________________________

|S#|SNAME|STATUS| CITY | |S#|SNAME| STATUS| CITY |

|__|_____|______|______| |__|_____|_______|_______|

|S1|Smith| 20 |London| |S1|Smith| 20 | London|

|S4|Clark| 20 |London| |S2|Jones| 10 | Paris |

|__|_____|______|______| |__|_____|_______|_______|

Тогда результат объединения

A UNION B

__________________________

| S#| SNAME| STATUS| CITY |

|___|______|_______|_______|

| S1| Smith| 20 | London|

| S4| Clark| 20 | London|

| S2| Jones| 10 | Paris |

|___|______|_______|_______|

Результат имеет три кортежа, а не четыре - повторяющиеся кортежи удаляются по определению.

Пересечение (intersect).

Определение: Пересечением

A INTERSECT B

двух совместимых по типу отношений A и B называется отношение с тем же заголовком, как и в отношениях A и B, и с телом, состоящим из множества всех кортежей t, принадлежащих одновременно обоим отношениям A и B.

Пример: Пусть A и B те же отношения. Тогда их пересечение имеет вид:

A INTERSECT B

__________________________

| S#| SNAME| STATUS| CITY |

|___|______|_______|_______|

| S1| Smith| 20 | London|

|___|______|_______|_______|

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]