Aggregaatiofunktio - Aggregate function

In tietokannan hallinta , koostefunktiota tai yhdistäminen funktio on funktio , jossa arvot on useita rivejä on koottu yhteen muodostamaan yhden yhteenveto arvo .

Yleisiä koontitoimintoja ovat:

Muita ovat:

  • Nanmean (tarkoittaa NaN -arvojen huomiotta jättämistä, tunnetaan myös nimellä "nolla" tai "nolla")
  • Keskihajonta

Muodollisesti aggregaatiofunktio ottaa tulona joukon , multisetin (pussi) tai luettelon jostakin syöttöalueesta I ja antaa lähtöalueen O elementin . Tulo- ja lähtöalueet voivat olla samat, kuten SUM, tai voivat olla erilaisia, kuten COUNT.

Aggregaatiofunktioita esiintyy yleisesti useilla ohjelmointikielillä , laskentataulukoissa ja suhteellisessa algebrassa .

listaggFunktio, kuten on määritelty SQL: 2016 standardi kokoaa tietoja useista rivien yhdeksi Yhdistetty merkkijono.

Hajoavat aggregaattitoiminnot

Koostetoiminnot muodostavat pullonkaulan , koska ne edellyttävät mahdollisesti kaikkien syöttöarvojen keräämistä. In hajautetun tietojenkäsittelyn , on toivottavaa jakaa Tällaisten laskujen pienemmiksi paloiksi, ja jakaa työtä, yleensä laskemalla samanaikaisesti kautta hajota ja hallitse algoritmi .

Jotkut aggregaattitoiminnot voidaan laskea laskemalla aggregaatti osajoukoille ja sitten aggregoimalla nämä aggregaatit; esimerkkejä ovat COUNT, MAX, MIN,ja SUM. Muissa tapauksissa aggregaatti voidaan laskea laskemalla apunumeroita osajoukoille, aggregoimalla nämä apunumerot ja lopuksi laskemalla kokonaisluku lopussa; Esimerkkejä ovat AVERAGE(seurantasumma ja -luku, jakaminen lopussa) ja RANGE(seuranta maksimi ja min, vähennys lopussa). Muissa tapauksissa aggregaattia ei voida laskea analysoimatta koko joukkoa kerralla, mutta joissakin tapauksissa likiarvot voidaan jakaa; esimerkkejä ovat DISTINCT COUNT, MEDIAN,ja MODE.

Tällaisia ​​funktioita kutsutaan hajotettaviksi aggregaatiofunktioiksi tai hajotettaviksi aggregaattitoiminnoiksi . Yksinkertaisinta voidaan kutsua itsehajoaviksi aggregaatiofunktioiksi , jotka määritellään funktioiksi f siten, että on olemassa yhdistämisoperaattori , joka

missä on monijoukkojen liitto (katso monoidinen homomorfismi ).

Esimerkiksi SUM:

, yksittäiseksi;
, eli yhdistäminen on yksinkertaisesti lisäystä.

COUNT:

,
.

MAX:

,
.

MIN:

,
.

Huomaa, että itsehajoavat aggregaatiofunktiot voidaan yhdistää (muodollisesti tuotteen ottaminen) soveltamalla niitä erikseen, joten esimerkiksi voidaan laskea sekä SUMja COUNTettä seuraamalla kahta numeroa.

Yleisemmin voidaan määritellä hajoava aggregaatiofunktio f sellaisena, joka voidaan ilmaista lopullisen funktion g ja itse hajoavan aggregaatiofunktion h , koostumuksena . Esimerkiksi = / ja = - . AVERAGESUMCOUNTRANGEMAXMIN

Vuonna MapReduce puitteissa, nämä vaiheet tunnetaan InitialReduce (arvo yksittäisten tallenteen / singleton set), Yhdistetään (binary yhdistää kaksi koosteita), ja FinalReduce (lopullinen toiminnon ylimääräisiä arvoja), ja liikkuva hajoavasta aggregoitumista ennen Sekoita vaiheen tunnetaan InitialReduce -askeleena,

Hajoavat aggregaatiotoiminnot ovat tärkeitä online-analyyttisessä käsittelyssä (OLAP), koska ne mahdollistavat aggregaatiokyselyjen laskemisen OLAP-kuution ennalta lasketuista tuloksista eikä perustiedoista. Esimerkiksi sitä on helppo tukea COUNT, MAX, MIN,ja SUMOLAP: ssä, koska ne voidaan laskea OLAP -kuution jokaiselle solulle ja sitten tehdä yhteenveto ("rullattu"), mutta sitä on vaikea tukea MEDIAN, koska se on laskettava jokaisesta näkymästä erikseen .

Muut hajoavat aggregaattitoiminnot

Keskimääräisen ja keskihajonnan laskemiseksi aggregaattitiedoista on oltava käytettävissä jokaiselle ryhmälle: arvojen kokonaismäärä (Σx i = SUM (x)), arvojen lukumäärä (N = COUNT (x)) ja kunkin ryhmän arvojen neliöt (Σx i 2 = SUM (x 2 )).

AVG:

.

tai

.

tai vain, jos COUNT (X) = COUNT (Y)

.


SUM(x2): Arvojen neliöiden summa on tärkeä ryhmien keskihajonnan laskemiseksi


STDDEV:
Äärelliselle populaatiolle, jolla on yhtä suuret todennäköisyydet kaikissa kohdissa, meillä on

Tämä tarkoittaa, että keskihajonta on yhtä suuri kuin arvojen neliöiden keskiarvon ja keskiarvon neliön välisen eron neliöjuuri.

.
.

Katso myös

Viitteet

Lainaukset

Bibliografia

Lue lisää

Ulkoiset linkit