Соединение

Выбор

Проекция

Специальные операции

К специальным операциям реляционной алгебры относятся:

- проекция

- выбор (или селекция)

- соединение

- деление

Специальные операции определены только для нормализованных отношений. В этих операциях, наряду с самими отношениями, участвуют и их атрибуты. В отношениях РМД к атрибутам можно обращаться или по имени, или по их позиции в схеме отношений. Мы будем использовать обращение к атрибутам по имени.

Данная операция является унарной операцией на отношениях, т.е. в этой операции участвует только одно отношение.

Определение

Проекцией отношения r(R), R = {Ai}, на некоторый список имен атрибутов (подмножество атрибутов) L из R, L Í R, называется отношение s = pL(r), для которого:

- схема отношения определяется списком L,

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

Формальная запись:

Дано r(R), R(A1, A2, …, Am), r = {<t1 : A1, t2 : A2…, tm : Am >}

s(L) = pL(r), L Í R, L(B1, B2, …, Bk), Bi Í R, s = {<u1: B1, u2: B2, …, uk: Bk> | таких, что ui = tj, если Bi º Aj}

Пример:

r (A B C D)   L = (A,B) pL(r) (A B)
  a1 b1 c2 d1       a1 b1
  a1 b1 c1 d2       a2 b1
  a2 b1 c3 d2          

Проекция дает вертикальное подмножество отношения.

Свойство проекции:

Если Y Í X Í R, то pY(pX(r)) º pY(r)

Данную операцию называют еще ограничением и селекцией.

Также является унарной операцией над отношением.

Определение

Выбором из отношения r(R) по условию F называется отношение s = sF(r), для которого:

- схема отношения совпадает со схемой R,

- реализация отношения есть множество кортежей из r, удовлетворяющих условию F.

Формальная запись:

Дано r(R), r = {ti}

s(R) = sF(r), s = {u1 | ui Î R и F(u) – истинно}

Условие (предикат) F записывается в соответствии со следующими правилами:

- в качестве операндов могут быть указаны атрибуты отношения и/или константы;

- в качестве операций могут быть использованы операции отношения (=, ¹ и т.д.) и логические операции (Ù, Ú, Ø).

Для указания порядка вычисления предиката F в нем могут быть использованы круглые скобки.

Пример:

r (A B C)   s = sA = ‘a1’ Ù C = ‘c1’(r) (A B C)
  a1 b1 c1     a1 b1 c1
  a1 b2 c1     a1 b2 c1
  a2 b1 c2          

Выбор дает горизонтальное подмножество отношения.

Свойства операции:

коммутативна – sF1(sF2(r)) = sF2(sF1(r)) = sF1Ù F2 (r)

дистрибутивна относительно операций g = (Ù, Ú, –):

sF (r g s) = sF (r) g sF (s)

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

В реляционной алгебре рассматриваются две модификации данной операции: естественное соединение и соединение по условию (или q – соединение).

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

Определение

Естественным соединением отношений r1(R1), R1 = XY, и r2(R2), R2 = YZ, где Y – общее подмножество атрибутов из R1 и R2, определенных на одних и тех же доменах, называется отношение
s(R) = r1 r2, для которого:

- схема отношения R = R1 È R2 = XYZ,

- реализация отношения есть множество кортежей {t}, для которых pXY(t) Î r1 и pYZ(t) Î r2.

Формальная запись:

Даны r1(R1), R1 = XY, и r2(R2), R2 = YZ.

s(R) = r1 r2, R = R1 È R2 = XYZ, s = {t | таких, что pXY(t) Î r1 и pYZ(t) Î r2}

Пример:

r1 (A B C)   r2 (B C D)   s = r1 r2 (A B C D)
  a b c     b c d     a b c d
  d b c     b c e     a b c e
  b b f     a d b     d b c d
  c a d               d b c e
                      c a d b

Соединение по условию

Определение

Даны два отношения r1(R1) и r2(R2), для которых в R1 и R2 нет атрибутов с одинаковыми именами, т.е. R1 Ç R2 = 0. Пусть атрибут A Î R1 сравним по условию q с атрибутом B Î R2 (условие q определяется так же, как предикат F в операции выбора). Тогда соединением отношений r1(R1) и r2(R2) по условию q называется отношение s(R) = r1A qB r2, для которого:

- схема отношения R = R1 È R2,

- реализация отношения есть множество сцеплений кортежей из r1 и r2, удовлетворяющих условию A q B.

Формальная запись:

Даны r1(R1) и r2(R2), R1 Ç R2 = 0.

s(R) = r1A qB r2, R = R1 È R2, s = {uv | таких, что u Î r1, v Î r2 и для u и v выполняется условие q}.

Атрибуты A и B могут быть составными, т.е. A = {A1, A2, …, An}, B = {B1, B2, …, Bn}. Тогда
A q B = [A1 q1 B1, A2 q2 B2, …, An qn Bn]. Операции qi могут быть разными. Например, пусть даны r1(A1, A2, A3) и r2(B1, B2, B3), и все атрибуты определены на числовых доменах. Тогда можно получить соединение по условию: s = r1 A1 < B1, A2 = B2, A3 ³ B3 r2

Пример:

r1 (A B C)   r2 (X Y)   s = r1 B < X r2 (A B C X Y)
                             
                             
                             

Если в качестве операции q используется операция =, такое соединение по условию называется эквисоединением.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: