Базы данных: конспект лекций - страница 10



Для операции переименования атрибутов отношения, вообще говоря, это свойство может быть применено, но обязательно со специальными оговорками и условиями.

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

И последнее свойство, которое мы рассмотрим, – это свойство монотонности. Интересно заметить, что при любых условиях все три оператора монотонны;

3) свойство монотонности:

а) для операции выборки: r>1r>2σ<P> r>1σ <P>r>2;

б) для операции проекции: r>1r>2r>1[S'] r>2 [S'];

в) для операции переименования: r>1r>2ρ<φ>r>1ρ <φ>r>2;

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

Лекция № 5. Реляционная алгебра. Бинарные операции

1. Операции объединения, пересечения, разности

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

1. Результатом операции объединения двух отношений r>1(S) и r>2(S) будет новое отношение r>3(S), состоящее из тех кортежей отношений r>1(S) и r>2(S), которые принадлежат хотя бы одному из исходных отношений и с такой же схемой отношения.

Таким образом, пересечение двух отношений – это:

r>3(S) = r>1(S) ∪ r>2(S) = {t(S) | tr>1tr>2};

Для наглядности, приведем пример в терминах таблиц:

Пусть даны два отношения:

r>1(S):


r>2(S):


Мы видим, что схемы первого и второго отношений одинаковы, только имеют различной количество кортежей. Объединением этих двух отношений будет отношение r>3(S), которому будет соответствовать следующая таблица:

r3(S) = r>1(S) ∪ r>2(S):


Итак, схема отношения S не изменилась, только выросло количество кортежей.

2. Перейдем к рассмотрению следующей бинарной операции – операции пересечения двух отношений. Как мы знаем еще из школьной геометрии, в результирующее отношение войдут только те кортежи исходных отношений, которые присутствуют одновременно в обоих отношениях r>1(S) и r>2(S) (снова обращаем внимание на одинаковую схему отношения).

Операция пересечения двух отношений будет выглядеть следующим образом:

r>4(S) = r>1(S) ∩ r>2(S) = {t(S) | tr>1 & tr>2};

И снова рассмотрим действие этой операции над отношениями, представленными в виде таблиц:

r>1(S):


r>2(S):


Согласно определению операции пересечением отношений r>1(S) и r>2(S) будет новое отношение r>4(S), табличное представление которого будет выглядеть следующим образом:

r>4(S) = r>1(S) ∩ r>2(S):


Действительно, если посмотреть на кортежи первого и второго исходного отношений, общий среди них только один: {b, 2}. Он и стал единственным кортежем нового отношения r>4(S).

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