Jump to content

Агрегатная функция

(Перенаправлено из оператора агрегации )

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

(Рисунок 1) Представление агрегации на диаграмме отношений сущностей.

Общие агрегатные функции включают в себя:

Другие включают:

Формально агрегатная функция принимает на вход набор , мультимножество ) или список из некоторой входной области I и выводит элемент выходной области O. ( мешок [1] Входные и выходные домены могут быть одинаковыми, например, для SUM, или может быть другим, например, для COUNT.

Агрегатные функции обычно встречаются во многих языках программирования , в электронных таблицах и в реляционной алгебре .

The listagg функция, как определено в SQL:2016 . стандарте [2] объединяет данные из нескольких строк в одну объединенную строку.

На диаграмме отношений сущностей агрегация представлена, как показано на рисунке 1, с прямоугольником вокруг связи и ее сущностей, что указывает на то, что она рассматривается как агрегированная сущность. [3]

Разложимые агрегатные функции

[ редактировать ]

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

Некоторые агрегатные функции можно вычислить путем вычисления агрегата для подмножеств и последующего агрегирования этих агрегатов; примеры включают в себя COUNT, MAX, MIN, и SUM. В других случаях агрегат можно вычислить путем вычисления вспомогательных чисел для подмножеств, объединения этих вспомогательных чисел и, наконец, вычисления общего числа в конце; примеры включают в себя AVERAGE (отслеживание суммы и количества, деление в конце) и RANGE (отслеживание максимума и минимума, вычитание в конце). В других случаях агрегат невозможно вычислить без анализа всего набора сразу, хотя в некоторых случаях аппроксимации могут быть распределены; примеры включают в себя DISTINCT COUNT ( Задача о подсчете различных ), MEDIAN, и MODE.

Такие функции называются разложимыми функциями агрегирования. [4] или разложимые агрегатные функции . Простейшие можно назвать саморазложимыми функциями агрегирования , которые определяются как такие функции f , что существует оператор слияния такой, что

где — объединение мультимножеств (см. моноидный гомоморфизм ).

Например, SUM:

, для синглтона;
, что означает, что слияние ⁠ — это просто дополнение.

COUNT:

,
.

MAX:

,
.

MIN:

, [2]
.

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

В более общем смысле, можно определить разложимую агрегирующую функцию f как такую, которую можно выразить как композицию конечной функции g и саморазложимой агрегирующей функции h , . Например, AVERAGE= SUM/ COUNT и RANGE= MAXMIN.

В среде MapReduce эти шаги известны как InitialReduce (значение для отдельной записи/одиночного набора), Объединение (двоичное слияние двух агрегатов) и FinalReduce (конечная функция для вспомогательных значений). [5] и перемещение разлагаемой агрегации перед фазой перемешивания, известной как шаг InitialReduce, [6]

Разлагаемые функции агрегации важны для онлайн-аналитической обработки (OLAP), поскольку они позволяют вычислять запросы агрегации на основе предварительно вычисленных результатов в кубе OLAP , а не на основе базовых данных. [7] Например, легко поддерживать COUNT, MAX, MIN, и SUM в OLAP, поскольку их можно вычислить для каждой ячейки OLAP-куба, а затем суммировать («свернуть»), но это трудно поддерживать MEDIAN, поскольку его необходимо вычислять для каждого представления отдельно.

Другие разложимые агрегатные функции

[ редактировать ]

Для расчета среднего и стандартного отклонения на основе совокупных данных необходимо иметь в наличии для каждой группы: сумму значений (Σx i = SUM(x)), количество значений (N=COUNT(x)) и сумма квадратов значений (Σx i 2 =СУММ(х 2 )) каждой группы. [8]

AVG: или
или, только если COUNT(X)=COUNT(Y)

SUM(x2):Сумма квадратов значений важна для расчета стандартного отклонения групп.

STDDEV:
Для конечной популяции с равными вероятностями во всех точках имеем [9] [ циклическая ссылка ]

Это означает, что стандартное отклонение равно квадратному корню из разницы между средним значением квадратов значений и квадратом среднего значения.

См. также

[ редактировать ]
  1. ^ Иисус, Бакеро и Алмейда, 2011 , 2 Определение проблемы, стр. 1-2. 3.
  2. ^ Перейти обратно: а б Винанд, Маркус (15 мая 2017 г.). «Важные новости в сфере баз данных: новый стандарт SQL, облачные войны и ACIDRain (весна 2017 г.)» . ДЗона. Архивировано из оригинала 27 мая 2017 г. Проверено 10 июня 2017 г. В декабре 2016 года ISO выпустила новую версию стандарта SQL. В нем представлены новые функции, такие как сопоставление шаблонов строк, listagg, форматирование даты и времени и поддержка JSON.
  3. ^ Эльмасри, Рамез (2016). Основы систем баз данных . Шам Навате (Седьмое изд.). Хобокен, Нью-Джерси. п. 133. ИСБН  978-0-13-397077-7 . OCLC   913842106 . {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  4. ^ Иисус, Бакеро и Алмейда 2011 , 2.1 Разложимые функции, стр. 3–4.
  5. ^ Ю, Гунда и Айсард 2009 , 2. Распределенная агрегация, стр. 2–4.
  6. ^ Ю, Гунда и Айсард 2009 , 2. Распределенная агрегация, с. 1.
  7. ^ Чжан 2017 , с. 1.
  8. ^ Оскар Бонилья, MBA.
  9. ^ Стандартное отклонение # Тождества и математические свойства

Литература

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e1cbcedcddee1fb045426f372cebf9ee__1704619560
URL1:https://arc.ask3.ru/arc/aa/e1/ee/e1cbcedcddee1fb045426f372cebf9ee.html
Заголовок, (Title) документа по адресу, URL1:
Aggregate function - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)