Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Коррелирующий запрос




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

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

Ограничение. Условие в ограничении, как правило, имеет вид a on const или a on b, где a и b имена атрибутов. Условия могут быть сложными и соединяться союзами and, or, not.

Пример: A WHERE условие1 and условие2. Это эквивалентно следующему: (A WHERE условие1) Intersect (A WHERE условие2). Вместо or можно применить UNION. Not эквивалентно EXCEPT.

Проекция – вертикальная вырезка из множества, а ограничение – горизонтальная.

Операция соединения. Эта операция требует наличие двух операндов – соединяемых отношений, и простого условия. Операция соединение не является примитивной – она может быть выражена через декартово произведение и ограничение. В предлагаемой алгебре мы будем рассматривать частный случай соединения, а именно естественное соединение, которое обозначается JOIN. Естественное соединение – это эквисоединение (a on b) двух отношений по одноименным атрибутам. При естественном соединение одноименные атрибуты в результирующем значении будут присутствовать один раз.

Примеры:

SP
S# P#
S1 P1
S1 P2
S1 P3
S1 P4
S1 P5
S1 P6
S2 P1
S2 P2
S3 P2
S4 P2
S4 P4
S4 P5

 

S – летчик, P – виды самолетов. Операции: все летчики умеющие управлять P1 -

P
P#
P1

результат

SP Divide By P
S#
S1 S2

 

Операция расширения Extend. Extend P Add Weight*454 As Вес. Операция Extend применяется к отношению P и добавляет к нему новый атрибут с именем Вес, который будет содержать значение, полученное умножением значения существующего атрибута Weight на 454 для каждого картежа отношения.

Extend S Add Count((SP Rename S# As X) Where X=S#) AS NP. NP-?

Отношение SP – поставки, P – детали, S – поставщики.

Функция Count считает количество картежей в отношении, которое является аргументом функции. В этом отношении используется ограничение отношения SP по номеру поставщика из отношения S. В результате к отношению S добавляется новый атрибут NP, который содержит количество поставок этого поставщика из отношения SP.

Операция переименования после введения операция расширения перестает быть примитивной. То есть ее можно выразить через Extend. Пример: P Rename Weight As Вес:= (Extend P Add Weight As Вес) [P#, Pname, Color, Вес] (берем проекцию игнорируя weight).

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

SUMMARIZE A BY (A1,A2,…,An) ADD <выражение> As Z

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

Некоторые функции: Sum, Max, Min, Avg (среднее), Count

Пример: Summarize SP By (P#) Add Sum(Qtg) As total

Пример: вычисляет отношение с заголовком P# Total (два атрибута), в котором существует один картеж для каждого значения P# в отношении SP. В этом картеже содержится значение P# и соответствующее общее количество деталей (по всем поставщикам). То есть результат - из каждой группы будет сгенерирован только один картеж.




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


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


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



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




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