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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

1) ;

2) ;

3) \ ;

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

S – арность n2

;

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

;

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

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

A1 A2 A3 A4

A3 = 644 & A2 = 1979

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

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

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

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

 

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

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

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

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

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

;

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

( студент ))

Свойства:

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

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

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

.

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

.

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

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. Операция соединения коммутативна и ассоциативна:

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

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

.

Пример:

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

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

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

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

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

Пример:

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 атрибута и из и взять в качестве отношение с единственным кортежем таким, что и , то

.

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

.

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

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

 

8) Дополнение отношения 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

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

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

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

Пример: 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

 

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

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

.

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

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

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

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

 

 

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

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

РА=<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)

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

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

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

Операторы обновления:

РМ кроме РА может включать операции реляционного присвоения. Операция присвоения дает возможность «запоминать» значение некоторых алгебраических выражений в БД и т.о. изменять состояние БД, т.е. обновлять ее.

Присвоение – это грубая операция, потому что она позволяет только полностью заменить значение отношения.

, где – реляционные выражения, представляющие совместимые по типу отношения.

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

, где – тоже отношение, состоящее из одного кортежа.

Но операции объединения и разности не позволяют должным образом обрабатывать ошибки. Так, при выполнении операции объединения не пресекается попытка вставки уже существующего кортежа, а при операции удаления – удаление несуществующего кортежа. Поэтому используются явные операции вставки, обновления и удаления:

Значение отношения вычисляется, и все кортежи результата вставляются в отношение .

в – может быть реляционным выражением.

– скалярное выражение.

(может быть выражение)

Все эти операции действуют на уровне множеств. Множество кортежей обновляется; вставляется; удаляется.

 

Реляционные сравнения:

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

– арифметический оператор сравнения

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

 

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 308; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.21.5 (0.084 с.)