Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

RENAME Студент Фам_Ст AS Фамилия, Имя_Ст AS Имя




Операция расширения

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

Операция расширения имеет вид:

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

где к исходному отношению добавляется (ключевое слово ADD) <новый атри-6ут>, подсчитываемый по правилам, заданным <выражением>.

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

При этом имя нового атрибута не должно входить в заголовок исходного отношения и не может использоваться в <выражении>.

Добавляемый новый атрибут называется вычисляемым атрибутом (вычисляемым полем).

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

В выражении можно использовать обычные арифметические операции, операции сравнения и различные функции

Например,

EXTEND (Р JOIN SP) ADD (Вес * Количество) AS Общий_Вес

Здесь исходное отношение получается путем естественного соединения отношений Р и SP.

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

Таким образом, запись

(EXTEND S ADD Город_П AS Город) [П#, Имя, Статус, Город]

эквивалента конструкции

S RENAME Город_П AS Город.


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

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

EXTEND <отн.> ADD <выр.1> AS <атр.1>, <выр.2> AS <атр.2>,...,
< выр.N> AS<aтp.N>.


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

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

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

где исходное отношение задается именем отношения либо заключенным в круглые скобки выражением реляционной алгебры, <список атрибутов> представляет собой разделенные запятыми имена атрибутов исходного отношения A1, A2,..., AN, <выр.> — скалярное выражение, аналогичное выражению операции EXTEND, а <новый атрибут> — имя формируемого атрибута. В списке атрибутов и в выражении не должен использоваться <новый атрибут>.

Результатом операции SUMMARIZE является отношение R с заголовком, состоящим из атрибутов списка, расширенного новым атрибутом.

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

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

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

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

COUNT (количество), SUM (сумма), AVG (среднее), МАХ (максимальное),
MIN
(минимальное).


Пример. Подведение итогов.

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

R2





Дата публикования: 2015-07-22; Прочитано: 491 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...