Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф - видеолекции.docx
Скачиваний:
28
Добавлен:
28.10.2018
Размер:
5.57 Mб
Скачать

6. Основные операции реляционной алгебры

Выборка (или ограничение)

Обозначение операции: sпредикат(R).

Операция является унарной и определяет результирующее отношение, которое содержит только те кортежи (строки) отношения R, которые удовлетворяют заданному условию (предикату).

Проекция

Обозначение операции: Патр1 ,…, атрN(R).

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

Декартово произведение

Обозначение операции: R´S.

Операция декартового произведения определяет новое отношение, которое является результатом конкатенации (т.е. сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S.

Операции соединения

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

кортежей, которые удовлетворяют условию,

указанному в предикате соединения.

Различные типы операций соединения:

- Тета-соединение (q-join)

- Соединение по эквивалентности (equi-join)

(частный вид тета-соединения)

- Естественное соединение (natural join)

- Внешнее соединение (outer join)

- Полусоединение (semi-join)

Тета-соединение (q-join)

Обозначение операции:

Операция тета-соединения определяет отношение, которое содержит кортежи из декартового произведения отношений R и S, удовлетворяющие предикату F. Предикат F имеет вид R.ai q S.bi, где вместо q может быть указан один из операторов сравнения (<, <=, >, >=, = или ~=).

Так же как и в случае с декартовым произведением, степенью тета-соединения называется сумма степеней операндов-отношений R и S. Если предикат F содержит только оператор равенства (=), то соединение называется соединением по эквивалентности (equi-join).

Естественное соединение

Обозначение операции:

Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам х, из результатов которого исключается по одному экземпляру каждого общего атрибута.

Степенью естественного соединения называется сумма степеней операндов-отношений R и S минус количество атрибутов x.

Внешнее соединение

Обозначение операции:

Зачастую при соединении двух отношений кортеж из одного отношения не находит соответствующего кортежа в другом отношении. Иначе говоря, в столбцах соединения оказываются несовпадающие значения. Может потребоваться, чтобы строка из одного отношения была представлена в результате соединения, даже если в другом отношении нет совпадающего значения. Эта цель может быть достигнута с помощью внешнего соединения.

Левым внешним соединением называется соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение. Для обозначения отсутствующих значений во втором отношении используется определитель NULL. Преимуществом внешнего соединения является то, что при таком соединении сохраняется исходная информация, т.е. внешнее соединение сохраняет кортежи, которые были бы утрачены при использовании других типов соединения.

Строго говоря, в предыдущем примере показано левое (естественное) внешнее соединение, поскольку в результирующем отношении содержатся все кортежи левого отношения.

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

Кроме того, существует и полное внешнее соединение, в результирующее отношение которого помещаются все кортежи из обоих отношений и в котором для обозначения несовпадающих значений кортежей используются определители NULL.

Таким образом, можно сделать следующие заключения:

1. Полное внешнее соединение – это объединение левого и правого внешних соединений, L P

2. Естественное соединение – это пересечение левого и правого внешних соединений, т.е. L P.

Часть 16