
- •4.2. Древовидные структуры.
- •Сбалансированные, несбалансированные и двоичные деревья.
- •4.3. Сетевые модели.
- •Приведение сетевых структур к более простому виду.
- •Постреляционная модель.
- •4.4. Реляционные модели данных.
- •4.5. Реляционная алгебра.
- •X 101 5 ay 105 3 az 500 9 aw 50 1 bw 10 2 b w 300 4 b 5 a10 b15 c2 d6 a1 b
- •5. Селекция (выборка).
- •2.2. Естественное соединение (эквисоединение).
- •2.3. Композиция.
- •3. Деление
- •4.6. Примеры использования операций реляционной алгебры.
5. Селекция (выборка).
R = σF (R1)
Операция селекции работает с одним отношением R1 и определяет результирующее отношение R.
P – это формула образованная:
Атрибутами отношения R1;
Логическими операторами и, или , не;
Операторами сравнения :{<, >, =, ≠, ≤, ≥}
Примеры:
1. R = σD1>D2 (P) = Ø – пустое множество.
1 11
x 2
11 y 3
11 z
2. R = σD2=11 (P) =
Дополнительные операции.
1. Пересечение.
R∩S
R∩S = R – (R-S)
5
a 3
a
9
a 1
b 2
b 4
b 5
a 10
b
15
c 2
d 6
a 1
b 5
a 1
b
R [Q, T] ∩S = ∩ =
2. Соединение.
Различают следующие типы операций соединения:
Тета-соединения,
Естественные соединения;
Композиция;
Внешние соединения;
Левое внешнее;
Правое внешнее;
Полное внешнее.
Общая формула:
R [AθB] S, где
R и S – отношения,
А – атрибут отношения R,
В – атрибут отношения S,
θ – оператор сравнения, один из элементов множества {<, >, ≥, ≤, ≠}
2.1. Тета-соединение.
Пример:
R [Q>A] S
При выполнении соединения, необходимо для каждого кортежа отношения R взять значение атрибута Q и сравнить его со значением атрибута A из каждого кортежа отношения S.
В результате получим:
M
P Q T A B x
101 5 a 2 d
x
101 5 a 1 b y
105 3 a 2 d y
105 3 a 1 b z
500 9 a 5 a z
500 9 a 2 d z
500 9 a 6 a z
500 9 a 1 b w
50 2 b 1 b w
300 4 b 2 d w
300 4 b 1 b
Степень результирующего отношения равна сумме степеней отношений операндов.
2.2. Естественное соединение (эквисоединение).
В этом случае атрибуты соединения имеют общие (одинаковые) домены, и после соединения один из этих атрибутов отбрасывается.
Пример:
P [D3 = D4] Q
Здесь D3 – домен отношения Р,
D4 – домен отношения Q.
1
11 x x 1 1
11 x x 2 2
11 y y 1 3
11 z 4
12 x x 1 4
11 x x 2
1
11 x x 1 1
11 x x 2 2
11 y y 1 3
11 z 4
12 x x 1 4
11 x x 2
1
11 x 1 1
11 x 2 2
11 y 1 4
12 x 1 4
11 x 2
=
2.3. Композиция.
Это соединение отличается от естественного тем, что из результирующего отношения удаляются оба атрибута соединения.
1
11 1 1
11 2 2
11 1 4
12 1 4
11 2
11 2
1
11 x 1 1
11 x 2 2
11 y 1 4
12 x 1 4
11 x 2
=
.
3. Деление
Эту операцию рассмотрим на примере 2-х отношений.
R1 (A, B, C, D) S1 (C, D)
Кортеж № 1 a b c d c d
Кортеж № 2 a b e f e f
Кортеж № 3 b c e f
Кортеж № 4 e d c d
Кортеж № 5 e d e f
Кортеж № 6 a b d e
Пусть R1 и S1 являются отношениями арности r и s соответственно, где r>s и S≠Ø.
Тогда R1 ÷ S1 есть множество кортежей t длины (r-s), таких, что для всех кортежей U длины s, принадлежащих отношению S1 кортеж t принадлежит отношению R1.
Последовательность нахождения частного R1 ÷ S1:
Обозначим t1 – первый кортеж частного R1 ÷ S1.
Найдем в отношении R1 кортежи t1cd и t1ef.
Кортежи №1 и №2 отношения R1 удовлетворяют условию. То есть t1=ab.
Ведем просмотр кортежей отношения R1 дальше. Ищем и t2cd и t2ef.
Кортежи №4 и №5 отношения R1 удовлетворяют условию. То есть t2=ed.
Просмотр отношения R1 окончен.
a
b
e
d
Значение R1 ÷ S1 =