Реляционная алгебра. ( дополнительные операции)

Дополнительные операции:

1) соединение;
2) пересечение;
3) деление.

Ниже определенные операции называются дополнительными, так как каждую из этих операций можно выразить через основную.

1) Операция соединения (R join S)- является основной операцией реляционной алгебры и производной от операции декартовое произведение.

Различают следующие 5 типов операций соединения:

1) тета-соединение Θ-join;
2) соединение по эквивалентности equal-join;
3) естественное соединение natural-join;
4) внешнее соединение outer-join;
5) полусоединение semi-join;

Операция тета-соединение (Θ-join). Определяет новое отношение, содержащее кортежи из декартового произведения R × S, которые удовлетворяют предикату F. При написании предиката можно использовать операции отношения и логические операции. Степенью нового отношения, полученного в результат, будет сумма степеней операндов отношений R и S. Если предикат в своём определении содержит только оператор равенства, то такое соединение называют соединением по эквивалентности.

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

Внешнее соединение (outer-join). Это соединение отношений R и S по общим атрибутам, при котором в результат включаются и кортежи отношения R, не имеющих совпадающих значений в общих столбцах отношения S.

Полусоединение (semi-join).Операция полусоединения определяет отношение, содержащее те кортежи отношения R, которые входят в соединение отношений R и S.

Объект_недв (№объекта, Адрес, Тип, Число_комнат);

Осмотр (№объекта, №арендатора, №сотруд, Дата);

(R Θ-join S)F;

(Объект_недв Θ-join Осмотр) Объект_недв.№объекта = Осмотр.№объекта ^ Дата = x

σдата=x (Объект_недв natural-join Осмотр)

σдата=null (Объект_недв outer-join Осмотр)

(Объект_недв semi-join Осмотр) Объект_недв.№объекта = Осмотр.№объекта

2) Операция пересечения (R З S). Операция пересечения является операцией производной от операции разности R – (R - S). Результатом операции будут те кортежи, которые присутствуют как в отношении R, так и в S.
3) Операция деления (RёS). Результатом операции является набор кортежей отношения R, определенных на множестве атрибутов S, которые соответствуют комбинациям всех кортежей отношения S.

(RёS);

T=T1- T2;

T1= Пс(R);

T2= Пс((S× T1)-R).

Например,имеются отношения Осмотр (№объекта, №арендатора, №сотрудника, Дата) и Объекты_недвижимости( №объекта, Тип, Число_комнат, Адрес, Аренда), необходимо создать список всех арендаторов, которые рассматривали объекты недвижимости с 3-мя комнатами.

П№объекта, №арендатора (Осмотр) ё П№объектачисло_комнат=3(Объект_недв))

В начало

РЕЛЯЦИОННОЕ ИСЧИСЛЕНИЕ ДОМЕНОВ.

Использует переменные, значения которых берутся из доменов отношений. Если P(d1, d2, …., dn) – предикат, то множество переменных, для которых значение предиката является истинным, записывается – {d1, d2, d3| P(d1, d2, d3)}.

В реляционном исчислении доменов проверяется условие принадлежности заданного значения указанному отношению.

Например: необходимо отыскать типы объектов недвижимости, имеющих число комнат, равных трём.

{Тип | $ Тип (Объекты_недв (Тип, Чило_комнат) ^ Число_комнат =3)}

Определить типы объектов недвижимости, которые осматривались вчера:

{Тип | $ Тип (Объекты_недв (№объекта, Тип) ^ Осмотр (№объекта, Дата) ^ Объект_недв. №объекта = Осмотр. №объекта ^ Дата = ‘11/03/13’)}

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

Языки SEQUEL, SQUARE, SQL основаны на реляционном исчислении кортежей.

Язык QBE (Query-By-Example) основан на реляционном исчислении доменов.

В начало


Наши рекомендации