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

Определение

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

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

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

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

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

s(R) = σF(r), s = {u1 | ui ∈ R и F(ui) – истинно}

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

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

• в качестве операций могут быть использованы операции отношения (=, ≠ и т.д.) и логические операции (∧, ∨, ¬).

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

Пример:

r (A B C)   s = σA = a1 C = c1(r) (A B C)
  a1 b1 c1     a1 b1 c1
  a1 b2 c1     a1 b2 c1
  a2 b1 c2          

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

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

коммутативна – σF1F2(r)) = σF2F1(r)) = σF1 F2 (r)

дистрибутивна относительно операций γ = (∩, ∪, –):

σF (r γ s) = σF (r) γ σF (s)

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

Соединение

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

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

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

s(R) = r1 r2, для которого:

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

• реализация отношения есть множество кортежей {t}, для которых πXY(t) ∈ r1 и πYZ(t) ∈ r2.

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

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

s(R) = r1 r2, R = R1 ∪ R2 = XYZ, s = {t | таких, что πXY(t) ∈ r1 и πYZ(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     a b f     d b c e
                      c a d b

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

Результат операции левого внешнего соединения r1 r2 включает результат операции естественного соединения, дополненный и теми кортежами из r1, для которых нет соответствующих кортежей из r2; для таких кортежей значения атрибутов, унаследованных от 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     a b f     d b c e
                      b b f -
                      c a d b

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

Пример:

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     a b f     d b c e
                      c a d b
                      - a b f

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

Пример:

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     a b f     d b c e
                      b b f -
                      c a d b
                      - a b f

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


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



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