Рисунок 2.18 – Пример расширенной проекции отношения
2.3.6. Сортировка
Сортировка отношения – это упорядочение его кортежей по значению простого или составного атрибута. В современном варианте реляционной алгебры имеется оператор сортировки по возрастанию, который обозначается как . Здесь {xi} – множество атрибутов. На практике атрибуты, как и в операторе проекции, перечисляются через запятую, в явном виде: например, . Сортировка производится в следующем порядке: сначала кортежи сортируются по значению атрибута x1; затем кортежи, имеющие одинаковые значения x1, сортируются по значению атрибута x3 и, наконец, кортежи с совпадающими значениями x1 и x3 сортируются по значению x7.
2.3.7. Агрегирование
Словом «агрегирование» обозначается набор операций, применяемых к атрибутам кортежей с целью получения некоторой обобщенной, т. е. агрегированной информации. Типичный набор операций агрегирования включает суммирование значений числовых атрибутов и подсчет среднего значения, нахождение минимального и максимального значения, а также подсчет количества значений (без учета уникальности). Для выполнения этих операций используются агрегатные функции – соответственно, SUM(), AVG(), MIN(), MAX(), COUNT(). Аргументом каждой функции является атрибут отношения. Для функции COUNT() дополнительно определена запись COUNT(*) – подсчет количества кортежей в отношении.
Агрегатные функции используются совместно с оператором расширенной проекции. Например, операция подсчета количества значений атрибута id_chair в отношении chairs (рис. 2.19) имеет следующий вид: . Вызов агрегатной функции используется в списке выражений оператора расширенной проекции.
chairs |
|||||||
id_chair |
abbreviation |
id_faculty |
|||||
1 |
АиТ |
1 |
|||||
2 |
ИнИБ |
2 |
|||||
3 |
УЭР |
2 |
|||||
4 |
ИВС |
1 |
|||||
а) |
|||||||
COUNT (id_chair) |
|||||||
4 |
|||||||
б) |
|||||||
Рисунок 2.19 – Пример использования агрегатной функции COUNT()
2.3.8. Группирование
Группирование – это операция, применяемая к простому или составному атрибуту с целью выявления уникальных значений этого атрибута, или, иначе говоря, групп значений. Рассмотрим атрибут post отношения teachers (рис. 2.20 (а)). Можно выделить три группы значений этого атрибута: «профессор», «старший преподаватель» и «ассистент». Операция группирования по атрибуту post формирует новое отношение, включающее только атрибут post; каждое значение соответствует одной и только одной группе значений атрибута в исходном отношении (рис. 2.20 (б)).
Запись оператора группирования имеет следующий вид: , где x – простой или составной атрибут отношения R.
teachers |
||||
surname |
firstname |
patronymic |
degree |
post |
Зиновьев |
Денис |
Алексеевич |
д. т. н. |
профессор |
Борисов |
Евгений |
Васильевич |
к. т. н. |
старший преподаватель |
Иванов |
Михаил |
Яковлевич |
д. ф-м. н. |
профессор |
Елисеев |
Валерий |
Германович |
NULL |
ассистент |
а) |
||||
post |
||||
профессор |
||||
старший преподаватель |
||||
ассистент |
||||
б) |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.