где соответственно S — схема исходного отношения, а Ŝ — схема отношения с переименованными атрибутами. Таким образом, оператор ρ<φ> в применении к отношению r(S) дает новое отношение со схемой Ŝ, состоящее из кортежей исходного отношения только с переименованными атрибутами.
Запишем операцию переименования атрибутов в терминах систем управления базами данных:
ρ<φ>r(S) ≡ ρ<φ>r = {ρ<φ>t(S)| t ∈ r};
Приведем пример использования этой операции:
Рассмотрим уже знакомое нам отношение Сессия, со схемой:
S: Сессия (№ зачетной книжки, Фамилия, Предмет, Оценка);
Введем новую схему отношения Ŝ, с другими именами атрибутов, которые мы бы хотели видеть вместо имеющихся:
Ŝ : (№ ЗК, Фамилия, Предмет, Балл);
Например, заказчик базы данных захотел в вашем готовом отношении видеть другие названия. Чтобы воплотить в жизнь этот заказ, необходимо спроектировать следующую функцию переименования:
φ : (№ зачетной книжки, Фамилия, Предмет, Оценка) → (№ ЗК, Фамилия, Предмет, Балл);
Фактически, требуется поменять имя только у двух атрибутов, поэтому законно будет записать следующую функцию переименования вместо имеющейся:
φ : (№ зачетной книжки, Оценка) → (№ ЗК, Балл);
Далее, пусть дан также уже знакомый нам кортеж принадлежащий отношению Сессия:
t0(S) ∈ r(S): {(№ зачетной книжки: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Оценка: 5)};
Применим оператор переименования к этому кортежу:
ρ<φ> t0(S): {(№ ЗК: 100), (Фамилия: ‘Иванов’), (Предмет: ‘Базы данных’), (Балл: 5)};
Итак, это один из кортежей нашего отношения, у которого переименовали атрибуты.
В табличных терминах отношение
ρ< № зачетной книжки, Оценка → «№ ЗК, Балл > Сессия —
это новая таблица, полученная из таблицы отношения «Сессия», переименованием указанных атрибутов.
4. Свойства унарных операций
У унарных операций, как и у любых других, есть определенные свойства. Рассмотрим наиболее важные из них.
Первым свойством унарных операций выборки, проекции и переименования является свойство, характеризующее соотношение мощностей отношений. (Напомним, что мощность – это количество кортежей в том или ином отношении.) Понятно, что здесь рассматривается соответственно отношение исходное и отношение, полученное в результате применения той или иной операции.
Заметим, что все свойства унарных операций следуют непосредственно из их определений, поэтому их можно легко объяснить и даже при желании вывести самостоятельно.
Итак:
1) соотношение мощностей:
а) для операции выборки: | σ<P>r |≤ |r|;
б) для операции проекции: | r[S'] | ≤ |r|;
в) для операции переименования: | ρ<φ>r | = |r|;
Итого, мы видим, что для двух операторов, а именно для оператора выборки и оператора проекции, мощность исходных отношений – операндов больше, чем мощность отношений, получаемых из исходных применением соответствующих операций. Это происходит потому, что при выборе, сопутствующему действию этих двух операций выборки и проекции, происходит исключение некоторых строк или столбцов, не удовлетворивших условиям выбора. В том случае, когда условиям удовлетворяют все строки или столбцы, уменьшения мощности (т. е. количества кортежей) не происходит, поэтому в формулах неравенство нестрогое.
В случае же операции переименования, мощность отношения не изменяется, за счет того, что при смене имен никакие кортежи из отношения не исключаются;
2) свойство идемпотентности:
а) для операции выборки: σ<P>σ<P>r = σ<P>;
б) для операции проекции: r [S’] [S’] = r [S'];
в) для операции переименования в общем случае свойство идемпотентности неприменимо.
Это свойство означает, что двойное последовательное применение одного и того же оператора к какому-либо отношению равносильно его однократному применению.
Для операции переименования атрибутов отношения, вообще говоря, это свойство может быть применено, но обязательно со специальными оговорками и условиями.
Свойство идемпотентности очень часто используется для упрощения вида выражения и приведения его к более экономичному, актуальному виду.
И последнее свойство, которое мы рассмотрим, – это свойство монотонности. Интересно заметить, что при любых условиях все три оператора монотонны;
3) свойство монотонности:
а) для операции выборки: r1⊆r2 ⇒ σ<P>r1⇒σ <P>r2;
б) для операции проекции: r1⊆r2⇒r1[S'] ⊆r2 [S'];
в) для операции переименования: r1⊆r2⇒ρ<φ>r1 ⊆ ρ <φ>r2;
Понятие монотонности в реляционной алгебре аналогично этому же понятию из алгебры обычной, общей. Поясним: если изначально отношения r1 и r2 были связаны между собой таким образом, что r ⊆ r2, то и после применения любого их трех операторов выборки, проекции или переименования это соотношение сохранится.
Лекция № 5. Реляционная алгебра. Бинарные операции
1. Операции объединения, пересечения, разности
У любых операций есть свои правила применимости, которые необходимо соблюдать, чтобы выражения и действия не теряли смысла. Бинарные теоретико-множественные операции объединения, пересечений и разности могут быть применены только к двум отношениям обязательно с одной и той же схемой отношения. Результатом таких бинарных операций будут являться отношения, состоящие из кортежей, удовлетворяющих условиям операций, но с такой же схемой отношения, как и у операндов.
1. Результатом операции объединения двух отношений r1(S) и r2(S) будет новое отношение r3(S), состоящее из тех кортежей отношений r1(S) и r2(S), которые принадлежат хотя бы одному из исходных отношений и с такой же схемой отношения.
Таким образом, пересечение двух отношений – это:
r3(S) = r1(S) ∪ r2(S) = {t(S) | t ∈r1 ∪t ∈r2};
Для наглядности, приведем пример в терминах таблиц:
Пусть даны два отношения:
r1(S):
r2(S):
Мы видим, что схемы первого и второго отношений одинаковы, только имеют различной количество кортежей. Объединением этих двух отношений будет отношение r3(S), которому будет соответствовать следующая таблица:
r3(S) = r1(S) ∪ r2(S):
Итак, схема отношения S не изменилась, только выросло количество кортежей.
2. Перейдем к рассмотрению следующей бинарной операции – операции пересечения двух отношений. Как мы знаем еще из школьной геометрии, в результирующее отношение войдут только те кортежи исходных отношений, которые присутствуют одновременно в обоих отношениях r1(S) и r2(S) (снова обращаем внимание на одинаковую схему отношения).
Операция пересечения двух отношений будет выглядеть следующим образом:
r4(S) = r1(S) ∩ r2(S) = {t(S) | t ∈ r1&t ∈ r2};
И снова рассмотрим действие этой операции над отношениями, представленными в виде таблиц:
r1(S):
r2(S):
Согласно определению операции пересечением отношений r1(S) и r2(S) будет новое отношение r4(S), табличное представление которого будет выглядеть следующим образом:
r4(S) = r1(S) ∩ r2(S):
Действительно, если посмотреть на кортежи первого и второго исходного отношений, общий среди них только один: {b, 2}. Он и стал единственным кортежем нового отношения r4(S).
3. Операция разности двух отношений определяется аналогичным с предыдущими операциями образом. Отношения-операнды, так же, как и в предыдущих операциях, должны иметь одинаковые схемы отношения, тогда в результирующее отношение войдут все те кортежи первого отношения, которых нет во втором, т. е.:
r5(S) = r1(S) \ r2(S) = {t(S) | t ∈ r1& t ∉ r2};
Уже хорошо знакомые нам отношения r1(S) и r2(S), в табличном представлении выглядящие следующим образом:
r1(S):
r2(S):
Мы рассмотрим как операнды в операции пересечения двух отношений. Тогда, следуя данному определению, результирующее отношение