Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример 4. Результатом деления отношения R1 с атрибутами A и B на отношение R2 с атрибутом B (R1 Divideby R2), где A и B простые или составные атрибуты




R1 [Автор, Год]

 

(R1 Where Год>1996) [Название]

 

Результатом деления отношения R1 с атрибутами A и B на отношение R2 с атрибутом B (R1 Divideby R2), где A и B простые или составные атрибуты, причем атрибут B – общий атрибут, определенный на одном и том же домене (множестве доменов составного атрибута), является отношение R с заголовком A и телом, состоящим из кортежей r таких, что в отношении R1 имеются кортежи (r, s), причем множество значений s включает множество значений атрибута B отношения R2.

R1

П# Д#
S1 P1
S1 P2
S1 P3
S1 P4
S2 P1
S2 P2
S3 P2
S4 P2
S4 P4
S4 P5

 

       
   
 

Пример 5.

Естественное соединение (эквисоединение).

Пусть отношения A и B имеют заголовки

{ X1, X2, …, Xm, Y1, Y2, …, Yn }

и

{ Y1, Y2, …, Yn, Z1, Z2, …, Zk }

соответственно. Предположим, что атрибуты с одинаковыми именами определены на одном и том же домене. Будем рассматривать выражения { X1, X2, …, Xm }, { Y1, Y2, …, Yn } и { Z1, Z2, …, Zk } как три составных атрибута X, Y и Z соответственно. Тогда естественным соединением отношений A и B (A Join B ) называется отношение с заголовком {X, Y, Z} и телом, содержащим множество всех кортежей { X:x, Y:y, Z:z }, таких, для которых в отношении A значение атрибута X равно x, а атрибута Y равно y, и в отношении B значение атрибута Y равно y, а атрибута Z равно z.

Естественное соединение обладает свойствами ассоциативности и коммутативности.

Q-соединение (Θ-соединение).

Эта операция предназначена для тех случаев, когда нужно соединить вместе два отношения на основе некоторых условий отличных от эквивалентности. Пусть отношения A и B не имеют общих имен атрибутов (как и в рассмотренной выше операции декартового произведения) и Θ – логическое выражение над атрибутами, определенными на одном (нескольких – для составного атрибута) домене. Тогда Θ-соединением отношения A по атрибуту X с отношением B по атрибуту Y называется результат вычисления выражения

(A Times B) Where X Θ Y

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

Операция переименования позволяет изменить имя атрибута отношения и имеет вид:

RENAME <исходное отношение> <старое имя атрибута> AS <новое имя атрибута>

Пример.

RENAME Год AS Издание

Расширением операции переименования является операция множественного переименования:

RENAME <отн.> <ст. имя атр.1> AS <нов. Имя атр.1>, <ст. имя атр.2> AS <нов. Имя атр2>, …

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

EXTEND <исходное отношение> ADD <выражение> AS <новый атрибут>.

К исходному отношению добавляется новый атрибут подсчитанный по правилам, заданным <выражением>.

Помимо арифметических операций и операций сравнения, в выражении можно использовать функции, называемые итоговыми: COUNT (количество), SUM (сумма), AVG (среднее), MAX (максимальное), MIN (минимальное).

Пример.

EXTEND R2 ADD (Автор+Название) AS Заголовок

Операция подведения итогов SUMMARIZE выполняет «вертикальные» или групповые вычисления:

SUMMARIZE < исх. Отн.> BY (<список атрибутов>) ADD <выр.> AS <новый атрибут>.

Результатом операции SUMMARIZE является отношение R с заголовком, состоящим из атрибутов списка, расширенного новым атрибутом. Для получения тела отношения R сначала выполняется проецирование исходного отношения на атрибуты A1, A2, …, An, после чего каждый кортех проекции расширяется новым (n+1)-м атрибутом.

Значение (n+1)-го атрибута каждого кортежа отношения R формируется путем вычисления выражения над соответствующей этому кортежу группой кортежей исходного отношения.

Пример.

Рассмотреть нахождение наименьшей оценки по предметам сессии.

SUMMARIZE R BY (Номер) ADD MIN Оценка AS Худшая_оценка

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

Пример.

SUMMARIZE R BY (Номер) ADD MIN Оценка AS Худшая_оценка AVG Оценка
AS Средняя_оценка

Операцию присвоения можно представить следующим образом:

<выражение-цель>:=<выражение-источник>.

Где оба выражения задают совместимые (точнее, эквивалентные) по структуре отношения. Типичный случай: в левой части - имя отношения, а в правой – некоторое выражение реляционной алгебры. Выполнение операции присвоения сводится к замене предыдущего значения отношения на новое, определенное выражением-источником.

С помощью операции отношения можно не только полностью заменить все значения отношения-цели, но добавить или удалить кортежи.

Пример.

В рассматриваемом примере в отношение R1 дописывается один новый кортеж.

R1:=R1 UNION {{<П#:’S5’, <Автор: ‘Фаронов’, <Название: ‘DELPHI 5. Учебный курс’>, <Год: ‘2000’>}}.

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

Операция вставки имеет следующий вид:

INSERT <выражение-источник> INTO <выражение-цель>.

Выполнение операции сводится к вычислению <выражение-источник> и вставке полученных кортежей в отношение, заданное <выражение-цель>. Оба выражения должны быть совместимы по структуре.

Пример.

INSERT R1 UNION {{<П#:’S5’, <Автор: ‘Фаронов’, <Название: ‘DELPHI 5. Учебный курс’>, <Год: ‘2000’>}} INTO R1

INSERT (R1 WHERE Год>1998) INTO Temp

Операция обновления имеет вид:

UPDATE <выражение-цель> <список элементов>.

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

Пример.

UPDATE R1 WHERE Год<1998 Год:=1998

Операция удаления имеет вид:

DELETE <выражение-цель>.

<Выражение-цель> представляет собой реляционное выражение, описывающие удаляемые кортежи.

Пример.

DELETE R1 WHERE Год<1998

Операция реляционного сравнения может использоваться для прямого сравнения двух отношений. Ее синтаксис:

<выражение1> Θ <выражение2>.

Знак Θ обозначает один из операторов сравнения; = (равно), ≠ (не равно), ≤ (собственное подмножество), < (подмножество), ≥ (надмножество), > (собственное надмножество).

Пример.


 




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


Дата добавления: 2015-05-09; Просмотров: 727; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.