Определение. Пересечением двух отношений r1(R1) и r2(R2), совместимых по объединению, называется отношение

Определение

Определение

Пересечением двух отношений r1(R1) и r2(R2), совместимых по объединению, называется отношение

s = r1 ∩ r2, для которого:

a. схема отношения совпадает с R1 или R2,

b. реализация отношения представляет множество кортежей, содержащихся и в r1, и в r2.

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

Даны r1(R1), r2(R2), r1 = {t1i}, r2 = {t2i}, R1 ≡ R, R2 ≡ R.

s = r1 ∩ r2 = s(R), s = {ti | ti ∈ r1 и ti ∈ r2}

Пример:

r1 (A B C)   r2 (A B C)   s = r1 ∩ r2 (A B C)
  a1 b1 c1     a1 b2 c1     a1 b2 c1
  a1 b2 c1     a2 b2 c1          
  a2 b1 c2     a2 b2 c2          

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

коммутативна – r1 ∩ r2 ≡ r2 ∩ r1

ассоциативна – r1 ∩ (r2 ∩ r3) ≡ (r1 ∩ r2) ∩ r3 ≡ r1 ∩ r2 ∩ r3

Операцию пересечения можно выразить через операцию вычитания:

r1 ∩ r2 = r1 – (r1 – r2)

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

Здесь отношения r1(R1) и r2(R2) могут иметь разные схемы, не обязательно совместимые по объединению. Перед выполнением операции декартова произведения необходимо переименовать атрибуты в схемах отношений R1 или R2 так, чтобы имена всех атрибутов были разными.

Декартовым произведением двух отношений r1(R1) и r2(R2), схемы отношений которых не имеют одноименных атрибутов, т.е. R1 ∩ R2 = 0, называется отношение s = r1 × r2, для которого:

a. схема отношения определяется сцеплением (объединением) схем R1 и R2,

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

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

Даны r1(R1), R1(A1, A2, …, Am), r2(R2), R2(B1, B2, …, Bn), r1 = {t1i}, r2 = {t2i}, R1 ∩ R2 = 0

s = r1 × r2 = s(R), R(A1, A2, …, Am, B1, B2, …, Bn), s = {ui vj | ui ∈ r1, vj ∈ r2}

Пример:

r1 (A B)   r2 (X Y Z)   s = r1 × r2 (A B X Y Z)
  a1 b1     x1 y1 z2     a1 b1 x1 y1 z2
  a2 b1     x2 y1 z1     a1 b1 x2 y1 z1
          x3 y1 z1     a1 b1 x3 y1 z1
                    a2 b1 x1 y1 z2
                    a2 b1 x2 y1 z1
                    a2 b1 x3 y1 z1

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

коммутативна – r1 × r2 ≡ r2 × r1

ассоциативна – r1 × (r2 × r3) = (r1 × r2) × r3 = r1 × r2 × r3

В теории множеств данная операция и не коммутативна, и не ассоциативна, так как в множествах определен порядок перечисления элементов в кортеже. Так как одно из свойств реляционной модели данных – отсутствие упорядоченности атрибутов, данная операция приобретает указанные свойства.

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

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

• проекция

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

• соединение

• деление

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

Проекция

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

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

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

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

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

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

s(L) = π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) πL(r) (A B)
  a1 b1 c2 d1       a1 b1
  a1 b1 c1 d2       a2 b1
  a2 b1 c3 d2          

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

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

Если Y ⊆ X ⊆ R, то πYX(r)) ≡ πY(r)

Выбор

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

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


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



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