Реляционная алгебра
В этом разделе на ряде примеров рассматриваются операции реляционной алгебры [11]. Для представления каждой операции будем использовать терминологию как алгебры, так и исчисления. Последняя базируется на системе понятий, использованной Коддом. Пять операций являются основными:
– проекция;
– объединение;
– разность;
– декартово произведение;
– селекция.
Другие часто используемые операции пересечения, соединения и деления можно выразить через пять основных операций. Ниже представлены отношения, используемые в примерах [11].
P(D 1 |
D2, |
D3) |
Q(D4 |
D5) |
R(M, |
P, |
Q, |
T) |
S(A, |
B) |
1 |
11 |
x |
x |
1 |
x |
101 |
5 |
a |
5 |
a |
2 |
11 |
у |
x |
2 |
y |
105 |
3 |
a |
10 |
b |
3 |
11 |
z |
y |
1 |
z |
500 |
9 |
a |
15 |
c |
4 |
12 |
x |
w |
50 |
1 |
b |
2 |
d |
||
w |
10 |
2 |
b |
6 |
a |
|||||
w |
300 |
4 |
b |
1 |
b |
|||||
Описание каждого отношения состоит из имени отношения, за которым в круглых скобках следует список атрибутов (это описание называется интенсионалом или схемой отношения). Под описанием приведено некоторое заполнение кортежей отношения (экстенсинал отношения). В последующих примерах буквы R и S
используются для обозначения отношений, а буквы A и B – для обозначения списка атрибутов (для простоты можно считать, что список состоит из единственного атрибута).
Проекция
Алгебра |
Исчисление |
R[A] |
{t[A] t ?R} |
Операция проекции представляет собой выборку из каждого кортежа отношения значений атрибутов, входящих в A, и удаление из полученного отношения повторяющихся строк. В исчислении t обозначает «кортежную» переменную, значениями которой являются кортежи исходного отношения R, a t[A] – часть кортежа R с атрибутами из A.