En gestion de bases de données , une fonction d' agrégation est une fonction qui traite plusieurs valeurs ensemble pour former une seule statistique récapitulative .

Les fonctions d'agrégation courantes comprennent :
Parmi les autres, on peut citer :
- Nanmean (moyenne ignorant les valeurs NaN, également appelées « nil » ou « null »)
- Écart type
Formellement, une fonction d'agrégation prend en entrée un ensemble , un multiensemble (sac) ou une liste d'un domaine d'entrée langages de programmation , dans les tableurs et en algèbre relationnelle .
La listaggfonction, telle que définie dans la norme SQL:2016 agrège les données de plusieurs lignes en une seule chaîne concaténée.
Dans le diagramme entité-relation , l'agrégation est représentée comme on le voit sur la figure 1 avec un rectangle autour de la relation et de ses entités pour indiquer qu'elle est traitée comme une entité agrégée.
goulot d'étranglement , car elles peuvent nécessiter la connaissance simultanée de toutes les valeurs d'entrée. En calcul distribué , il est préférable de diviser ces calculs en tâches plus petites et de répartir le travail, généralement en calculant en parallèle , selon un algorithme de type « diviser pour régner » .Certaines fonctions d'agrégation peuvent être calculées en calculant l'agrégat pour des sous-ensembles, puis en agrégeant ces agrégats ; c'est le cas, par exemple, de COUNT , MAX , MIN et SUM . Dans d'autres cas, l'agrégat peut être calculé en calculant des nombres auxiliaires pour des sous-ensembles, en agrégeant ces nombres auxiliaires, et enfin en calculant le nombre total ; c'est le cas, par exemple, de AVERAGE (qui calcule la somme et le nombre, puis divise par le résultat final) et de RANGE (qui calcule le maximum et le minimum, puis soustrait le résultat final). Dans d'autres cas encore, l'agrégat ne peut être calculé sans analyser l'ensemble entier simultanément, bien que des approximations puissent être distribuées dans certains cas ; c'est le cas, par exemple, de DISTINCT COUNT ( problème du comptage des valeurs distinctes ), MEDIAN et MODE .
où est l'union de multiensembles (voir homomorphisme de monoïde ).
Par exemple, SOMME :, pour un singleton;
,
,
,
Notez que les fonctions d'agrégation auto-décomposables peuvent être combinées (formellement, en prenant le produit) en les appliquant séparément, de sorte que par exemple on peut calculer à la fois la SOMME et le COUNT en même temps, en suivant deux nombres.MapReduce , ces étapes sont connues sous le nom d'InitialReduce (valeur sur un enregistrement individuel/ensemble singleton), Combine (fusion binaire sur deux agrégations) et FinalReduce (fonction finale sur les valeurs auxiliaires), et le déplacement de l'agrégation décomposable avant la phase Shuffle est connu sous le nom d'étape InitialReduce,
Les fonctions d'agrégation décomposables sont importantes en traitement analytique en ligne (OLAP), car elles permettent de calculer les requêtes d'agrégation sur les résultats précalculés du cube OLAP , plutôt que sur les données de base. Par exemple, il est facile de gérer les fonctions COUNT , MAX , MIN et SUM en OLAP, car elles peuvent être calculées pour chaque cellule du cube OLAP puis agrégées. En revanche, la gestion de la fonction MEDIAN est complexe , car elle doit être calculée séparément pour chaque vue.
Cela signifie que l'écart type est égal à la racine carrée de la différence entre la moyenne des carrés des valeurs et le carré de la valeur moyenne.