Операции над отношениями. Реляционная алгебра



Алгеброй называется множество объектов с заданной на нем совокупностью операций, замкнутых относительно этого множества, называемого основным множеством.

Основной объект реляционной алгебры - отношение. Всего Э. Ф. Коддом было предложено 8 операций. (множество избыточное, одни операции могут быть представлены через другие, но!!! максимально удобное при реализации произвольных запросов к БД. Множество операций делят на две группы: теоретико-множественные операции(4) и специальные операции(4).

Теоретико-множественные операции реляционной алгебры

Объединениемдвух отношений называется отношение, содержащее множество кортежей, принадлежащих либо первому, либо второму исходным отношениям, либо обоим отношениям одновременно.

Пусть заданы два отношения R1 = { r1 } , R2 = { r2 }, где r1 и r2 — их соответственные кортежи, то объединение R1 U R2 = { r | r Î R1 Ú r Î R2 }. Здесь r — кортеж нового отношения, Ú — операция логического сложения «ИЛИ».

 

Пересечениемотношений называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому и второму отношениям R1 и R2:

R3 = R1 Ç R2={ r | r Î R1 Ù r Î R2 },

 здесь Ù — операция логического умножения (логическое «И»).

Разностьюотношений R1 и R2называется отношение, содержащее множество кортежей, принадлежащих R1и не принадлежащих R2:

R5 = R1 \ R2 = { r | r Î R1 Ù r Ï R2 }

Следует отметить, что первые две операции, объединение и пересечение, являются коммутативными операциями, то есть результат операции не зависит от порядка аргументов в операции.

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

Демонстрацию возможностей трех первых операций реляционной алгебры рассмотрим на практике.

Операции объединения, пересечения и разности применимы только к отношениям с эквивалентными схемами.

Кроме перечисленных трех теоретико-множественных операций в рамках реляционной алгебры определена еще одна теоретико-множественная операция — расширенное декартово произведение. Эта операция не накладывает никаких дополнительных условий на схемы исходных отношений, поэтому операция расширенного декартова произведения, обозначаемая R1 Ä R2, допустима для любых двух отношений. Но прежде чем определить саму операцию, введем дополнительно понятие конкатенации, или сцепления, кортежей.

Сцеплением, или конкатенацией, кортежей с = <c1 с2, ..., сn> и q = <q1 q2, ..., qm> называется кортеж, полученный добавлением значений второго в конец первого. Сцепление кортежей с и q обозначается как (с , q).

(с, q) = <с1 с2, ... , cn, q1, q2, ... qm>,

Здесь n — число элементов в первом кортеже с, m — число элементов во втором кортеже q.

Все предыдущие операции не меняли степени или арности отношений — это следует из определения эквивалентности схем отношений. Операция декартова произведения меняет степень результирующего отношения.

 

Расширенным декартовым произведением

отношения R1 = { r }  степени n со схемой SR1 = (А1, А2, ... , Аn) и

отношения R2 = { q } степени m со схемой SR2 = (В1, В2, ... , Вn)

называется отношение R3 степени n+m со схемой

SR3 = (А1 А2, ... , Аn, В1 В2, ..., Вn),

содержащее кортежи, полученные сцеплением каждого кортежа r отношения R1 с каждым кортежем q отношения R2.

То есть  R1 Ä R2 = {(r, q) | r Î  R1 ^ q Î  R2}

Операцию декартова произведения с учетом возможности перестановки атрибутов в отношении можно считать симметричной. Она используется для получения универсума — отношения, которое характеризует все возможные комбинации между элементами отдельных множеств. Однако самостоятельного значения этот результат обычно не имеет, он участвует в дальнейшей обработке. Получаются очень «большие» отношения. Используют для ситуации, которая х-ся словом «все».

Группа теоретико-множественных операций избыточна, практически все сложные операции можно записать разными способами.

Специальные операции реляционной алгебры

Горизонтальный выбор, или операция фильтрации, или операция ограничения отношений. Для ее определения необходимо ввести дополнительные обозначения.

Пусть α — булевское выражение, составленное из термов сравнения с помощью связок И (Ù), ИЛИ (Ú), НЕ (-) и, возможно, скобок. В качестве термов допускаются:

а) терм  А ос а,

где А — имя некоторого атрибута, принимающего значения из домена D;

а — константа, взятая из того же домена D, a Î D;

ос — одна из допустимых для данного домена D операций сравнения;

б) терм    А ос В,

где А, В — имена некоторых q-сравнимых атрибутов, то есть атрибутов, принимающих значения из одного и то же домена D.

Тогда результатом операции фильтрации, заданной на отношении R в виде булевского выражения, определенного на атрибутах отношения R, называется отношение R[α (r)], включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации:

R[α (r)] = {r|r Î R Ù α (r) = "true"}

Условие α может быть сколь угодно сложным.

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

Проекцией отношенияR на набор атрибутовВ, называется отношение со схемой, соответствующей набору атрибутов ВSR[B] = В, содержащему кортежи, получаемые из кортежей исходного отношения R путем удаления из них значений, не принадлежащих атрибутам из набора В.        R[B] = {r[B]}

Пусть:

R = { r } — отношение, со схемой SR = (A1 … , An),

В подмножество { Ai }; В Í { Ai }.

B1 B  мн-во атрибутов из { Аi }, не вошедших в В .

Если В = {A1i , A2i ,…,Aki } B1 = {А1j , А2j ,..., Аmj } и

s = <a1i, a2i,..., aki >;  aki Î Aki ;    q = < a1j, a2j, ... , amj > ; amj Î Amj

 то r[B] = s, причем r=(s,q)

По определению все дублирующие кортежи удаляются из результирующего отношения.


Дата добавления: 2018-04-15; просмотров: 553; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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