ТОП 10:

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



 

rs

a b a
c b d

 

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

 

Декартово произведение r ´s

Пусть r и s – отношения арности k1 и k2 соответственно. Декартовым произведением r´s называется множество кортежей длины k1+k2, первые k1 компонентов которых образуют кортежи, принадлежащие r, а последние k2 – кортежи, принадлежащие s.

r ´ s

a b a b g a
a b a d a f
d a f b g a
d a f d a f
c b d b g a
c b d d a f

Проекция

Проекция есть множество кортежей, получаемых из кортежей отношения r выбором столбцов с именами Ai1, Ai2, …, Aim.

Другими словами, это операция построения «вертикального» подмножества, получаемого путем выбора определенных атрибутов и исключения остальных. Повторяющиеся кортежи исключаются.

a a
d f
c d

Выбор (селекция) sF(r)

Пусть F – формула, образованная: операндами, являющимися константами или именами атрибутов, арифметическими операторами сравнения, логическими операторами (и, или, не), тогда выбором (селекцией) sF называется множество кортежей, компоненты которого удовлетворяют условию, заданному формулой F.

 

s (1)=(3)(r)= a b a

Здесь F:(1)=(3) – содержимое первого столбца равно содержимому третьего столбца.

Приведем ряд примеров представления запросов с помощью формальных операций для реляционной модели (СТУДЕНТ, ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТЬ), рассмотренной выше.

 

 

Пример 1.

Сформировать список студентов (фамилия).

Рассмотрим схему отношения СТУДЕНТ.

Атрибут «Фамилия» обозначен здесь А1 Для ответа на запрос необходимо взять проекцию отношения r1 на столбец А1.

.

 

Пример 2.

Выдать список фамилий и дат рождений студентов, которым на текущую дату (tek_date) больше 35 лет.

Рассмотрим то же отношение r1 . Сначала выбираем студентов, которым больше 35 лет:

.

Затем берем проекцию полученного отношения на столбцы

.

 

 

.

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

 

Пример 3.

Выдать список фамилий студентов, обучающихся по специальности «Информационные технологии». Название специальности является атрибутом отношения r3. Если бы в этом отношении присутствовал атрибут «фамилия», то задача решалась бы аналогично примеру 2. В отношении r3 присутствует атрибут «код студента», а «фамилия» присутствует в отношении r1. Для ответа на этот запрос необходимо связывать по «код студента»отношение r3и отношение r1.

Сначала выберем из отношения r3кортежи с названием специальности «Информационные технологии». Обозначим полученное отношение rp1 . (Дальнейшие промежуточные отношения будем обозначать последовательно rp1, rp2, rp3и т.д.).

.

 

 

Далее нас будет интересовать только атрибуты A1 – «код студента»

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

.

Далее необходимо связать отношения отношения r1 и rp2(склеить таблицы). Для склейки таблиц используется операция «декартово произведение»:

.

В отношении Rr3 присутствуют два одинаковых столбца: A1 из отношенийя r1 и A1 из отношения rp2 . Выбирая из отношения rp3строки, в которых значения в соответствующих столбцах совпадают, получим сведения о студентов, обучающихся по специальности «Информационные технологии»

 

,

R4 = sentrant. entrant_id = R2. entrant_id (R3),

где A1 × r1 и A1 × rp2

обозначают соответственно столбец A1 соответствующей первой и второй составной части декартова произведения. Теперь осталось только выбрать фамилии соответствующих студентов

.

Получаем требуемый результат. Заметим, что для экономии действий и памяти, перед тем как склеивать таблицы, целесообразно было сделать операцию проекции отношения отношения r1 на столбцы столбцы A1, A2.

(чтобы не включать в декартово произведение лишние столбцы).

 

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

 

Пересечение r Ç s

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

r Ç s = r – (rs).

 

q-соединение

q-соединение r и s по столбцам Ai и Aj представляет собой множество таких кортежей в декартовом произведении r и s, что i-й компонент r находится в отношении q c j-м компонентом s, где q – арифметический оператор сравнения. Если q является оператором равенства, то эта операция называется эквисоединением

,







Последнее изменение этой страницы: 2016-04-19; Нарушение авторского права страницы

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