Тема15. SQL в хранилищах данных: агрегация и суммирование

Аннотация. В настоящей лекции рассматривается расширение диалектов SQL промышленных СУБД для агрегации и суммирования данных в хранилищах данных, приводятся примеры работы со схемой «звезда», содержащей аддитивные и полуаддитивные факты. Разбираются примеры использования расширения оператора SELEC T для агрегации данных в ХД.

Ключевые слова: структурированный язык, запрос SQL, оператор SELECT, предложение GROUP BY, предложение HAVING, предложение ROLLUP, предложение CUBE, функция GROUPING, CASE выражение.

Цель лекции

Изучив материал настоящей лекции, обучающийся будет знать:

И научится:

Литература: [14], [38], [42].

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

Использование предложений CUBE и ROLLUP делает выполнение запросов и построение отчетов проще в среде ХД. Предложение ROLLUP целесообразно использовать для задач, в которых вычисляются промежуточные или частичные суммы, предложение CUBE — при решении задач создания перекрестных отчетов. В заключение приведем подробный синтаксис предложения GROUP BY диалекта SQL СУБД семейства MS SQL Server.

Контрольные вопросы:

  1. Как используется предложение ROLLUP для агрегации данных в результирующем множестве?
  2. Как используется предложение CUBE для агрегации данных в результирующем множестве?
  3. Как используется предложение GROUPING для агрегации данных в результирующем множестве?