Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_БД.doc
Скачиваний:
16
Добавлен:
11.11.2019
Размер:
2.89 Mб
Скачать

Операции реляционной алгебры.

Т.к. отношение – это множество, то к нему применяются операции над множествами. Введем отношения одной арности R и S. Они заданы с какими-то схемами: R( ), S( ).

  1. ;

  2. ;

  3. \ ;

  4. R – арность n1

S – арность n2

;

  1. операция селекции (выбора) – унарная операция над отношениями. Результатом ее применения к отношению является другое отношение, которое представляет собой подмножество кортежей отношения .

;

F – формула, в которую входит атрибут, логические связки , константы, арифметические операторы сравнения , а также могут быть использованы скобки.

Пример: Студент(ФИО; год рождения; группа; № зач. книжки)

A1 A2 A3 A4

A3 = 644 & A2 = 1979

Свойства селекции:

  1. операторы выбора коммутативны относительно операции композиции:

, где – отношение со схемой . Т.к. порядок выбора не важен, то может быть записано как: ( не обязательно различны).

Доказательство:

  1. оператор выбора дистрибутивен относительно бинарных булевых операций:

Доказательство:

3. Выбор и дополнение не коммутируются.

  1. Проекция – унарная операция на отношении. Определим ее.

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

;

Пример: (студент)

(студент))

Свойства:

  1. Операции проекции и выбора коммутативны, если атрибуты, на которые проводится операция выбора, принадлежат множеству атрибутов, на которые осуществляется проекция. Если , и – отношение со схемой , то: .

Доказательство:

  1. Если две проекции выполняются последовательно и вторая из них – собственная, то она поглощает первую: если применимо к , то результат будет тем же самым, как при применении непосредственно к , если первоначальное применение было собственным.

.

  1. Связь между проекцией и булевскими операциями:

.

  1. Соединение – бинарный оператор для комбинирования двух отношений. Пусть заданы отношение со схемой , арности , и отношение со схемой , арности :

  1. Если декартово произведение ( ).

  2. операция соединения по общим атрибутам (естественное соединение; )

Пример:

R(A B C) S(B C D) (A B C D)

a b c b c d a b c d

d b c b c e a b c e

b b f a d b d b c d

c a d d b c e

c a d b

Свойства соединения (естественного):

  1. Операцию соединения можно использовать для определения операции выбора.

  2. Операция соединения коммутативна и ассоциативна:

  1. Операции соединения и проекции образуют дополняющие друг друга функции, хотя и не являются взаимно-обратными.

  2. Операция соединения дистрибутивна относительно операции объединения:

.

Пример:

R(A B C) S(D E) (A B C D E)

a1 b1 c1 d1 e1 a1 b1 c1 d1 e1

a1 b2 c2 d2 e2 a1 b1 c1 d2 e2

a2 b1 c2 a1 b2 c2 d1 e1

a1 b2 c2 d2 e2

a2 b1 c2 d1 e1

a2 b1 c2 d2 e2

  1. Операция Θ – соединения.

Пусть и – два отношения со схемами , , для которых , и пусть и -сравнимы ( - арифметический оператор сравнения: ). Тогда

для и для таких, что является комбинацией кортежей и при условии и

. – арность отношения .

Пример:

R(A B C) S(D E) (A B C D E)

a1 b1 c1 a1 e1 a1 b1 c1 a1 e1

a1 b2 c2 a2 e2 a1 b2 c2 a1 e1

a2 b1 c2

Если в операции Θ – соединения присутствует знак “=”, то операцию называют эквисоединением. Если присутствуют другие операции – это Θ – соединение.

Свойства эквисоединения:

  1. а) Пусть для отношения надо найти . Определим новое отношение с единственным кортежем таким, что . Тогда есть то же самое, что :

такие, что и

.

б) Используя соединения можно сконструировать обобщенную операцию выбора. Введем отношение с кортежами , где и . Тогда

.

в) Если выбрать 2 атрибута и из и взять в качестве отношение с единственным кортежем таким, что и , то

.

  1. Оператор соединения коммутативен и ассоциативен:

.

  1. Пусть и – отношения. со схемой . Пусть , .

  2. и , при этом лежит в или , а . Если , то . Если , то . Тем самым показано, что . Докажем . Выберем или . В обоих случаях .

  1. Дополнение отношения R со схемой R( ) можно определить как разность ,

dom(R) – это отношение, состоящее из кортежей декартова произведения доменов отношения R.

Пример: R(A B C) dom(R)(A B C) (A B C)

a1 b1 c1 a1 b1 c1 a1 b2 c1

a1 b2 c2 a1 b2 c1 a1 b3 c1

a2 b2 c2 a1 b3 c1 ………

……… a2 b3 c2

a2 b3 c2

Однако, если какой-либо атрибут Ai имеет бесконечный домен, также будет бесконечным и не будет отношением в обычном понимании. Модифицированная версия дополнения, называемая активным дополнением отношения, всегда дает отношение. Определим его. Если – отношение, и , то активным доменом Ai относительно R называется множество .

Пусть – множество всех кортежей надатрибутами из и их активными доменами относительно . Активным дополнением является .

Пример: R(A B C) adom(R)(A B C )

a1 b1 c1 a1 b1 c1

a1 b2 c2 a1 b2 c1

a2 b2 c2 a1 b1 c2

a1 b2 c2

В действительности, трудно себе представить ситуацию, где бы дополнение отношения полностью имело бы смысл, за исключением быть может унарного отношения (отношения с одним атрибутом). Активное дополнение может возникнуть естественно.

  1. Операция деления.

Пусть и отношения арности и соответственно, и . Тогда есть множество кортежей длины таких, что для любых кортежей : :

Пример: R(A B) S(B) T(B) (A) (A)

a1 b1 b1 b1 a1 a1

a1 b2 b2 a3 a2

a1 b3 b3 a3

a2 b1

a2 b2

a3 b1

a3 b2

a3 b3

  1. Операция переименования.

Пусть задано отношение , является атрибутом отношения , а не является атрибутом . Тогда отношение с , переименованным в , обозначенное есть отношение:

.

и должны иметь один и тот же домен.

Одновременное переименование:

Пусть имеем отношение ; – различные атрибуты, принадлежащие , а – различные атрибуты, не принадлежащие , причем . Обозначим одновременное переименование атрибутов в соответственно в отношении как .

Замечание: Одновременное переименование атрибутов не всегда можно представить в виде последовательности переименований отдельных атрибутов: . В этом случае нужно вводить дополнительный атрибутный символ.

РЕЛЯЦИОННАЯ АЛГЕБРА.

Реляционную алгебру определим как:

РА=<U, D, F, Rсх, O>,

где U – множество всех возможных атрибутов, называемое универсумом;

D – множество доменов;

F: U → D;

Rсх – множество всех возможных схем отношений, заданных на данном множестве атрибутов;

О – множество операций, заданных на отношениях со схемами из Rсх :

РА с операцией дополнения.

Операции РА определил Кодд (за исключением операции переименования). Min OРА< O, т.к. можем определить через другие операции.

Цель РА – описать выражение для получения нового отношения (это выражение РА). Выражением РА называется любое выражение, правильно построенное (согласующееся с ограничениями, наложенными на операторы) из отношений, использующих операторы из О. В выражении могут быть круглые скобки, именно они определяют порядок выполнения операций, т.к. все операции, за исключением , равноправны.

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

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

  1. Если выражение Е состоит из одного отношения Ri, то ;

  2. Если выражение , где – некоторое множество условий, то ;

  3. Если , то ;

  4. Если , то ;

  5. Если , то ;

  6. Если , то .

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

Восемь операторов Кодда не представляют минимального набора операторов, т.к. не все из них примитивны. Например, естественное соединение – это проекция выборки декартового произведения. Фактически 3 операции из этого набора (соединение, пересечение, деление) можно определить через оставшиеся 5. Следовательно, эти 5 операций можно рассматривать как примитивные и составляющие минимальный набор.

РА представляет собой в явном виде набор операций, которые можно использовать, чтобы сообщить системе, как в БД из заданных отношений реально построить новое отношение.

РИ представляет собой систему обозначений для определения нового отношения в терминах данных отношений.

Возможные применения выражений РА:

  1. определение области выборки, т.е. определение данных для их выбора как результата операции выборки;

  2. определение области обновления, т.е. определение данных для их вставки, изменения или удаления, как результата операции обновления;

  3. определение именованных (виртуальных) отношений, т.е. определение данных для их визуализации через представления;

  4. определение снимка, т.е. определение данных для сохранения их в виде мгновенного снимка отношения;

  5. определение правил безопасности, т.е. определение данных, для которых осуществляется контроль доступа;

  6. определение требований устойчивости, т.е. определение данных, которые входят в область для некоторых операций управления одновременным доступом;

  7. определение правил целостности, т.е. некоторых особых правил, которым должна удовлетворять БД.

Выражения РА служат для символического высокоуровневого представления намерений пользователя.

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

В описанной алгебре нет средств для скалярных вычислений. На практике это часто используется. Для этих целей и вводится оператор расширения:

Расш.(R)

– арифметическое выражение, операндами которого являются атрибуты отношения .

Новое отношение похоже на исходное , но содержит дополнительный атрибут, значения которого получены посредством некоторых скалярных вычислений. В качестве может быть взята функция:

Операция подведения итогов:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]