table d 'agregat ?

table d 'agregat ? - SQL/NoSQL - Programmation

Marsh Posté le 09-03-2006 à 16:28:23    

salut,  
 
J'aurai aimé savoir si quelqu'un pouvait m'expliquer dans quel cas il utilise des table d'agregat et quel est leurs rôle ?  
Avec un petit exemple pour rendre la chose plus clair.
 
Merci

Reply

Marsh Posté le 09-03-2006 à 16:28:23   

Reply

Marsh Posté le 12-03-2006 à 11:49:07    

personne ne voit ?

Reply

Marsh Posté le 13-03-2006 à 17:58:28    


Bonjour,
Si l'on veut simplifier la notion, une table d'aggrégat est tout simplement le résultat d'une requete avec la clause group by et un certain nombre de fonctions analytiques sur les faits (sum, moyenne, ...).
 
Les tables d'aggréation sont le plus souvent utilisées dans un entrepôt de données et avec les dimensions elles forment ce qu'on appelle un datamart, schéma en étoile ( Modèle dimensionnel). Elles sont aussi souvent utilisées pour alimenter des cubes dimensionnels.
 
Ce qui suit est un exemple de table d'aggrégation :
Supposons que tu as les tables suivantes :
Client (Code_client, nom_client, adresse,...)
Produit (Code_produit, nom produit,...)
Ligne_de_commande (Code_produit, Code_client, Montant)  
 
Pour répondre à la question :
Quel est le montant des ventes par produit X ? On s'en fou du client et on ne désire pas descendre à ce niveau de détail... On peut alors créer une table d'aggréation comme suit :
vente_produit_agr(Code_produit, Montant_total)
 
La requete utilisé pour alimenter cette table est la suivante :
INSERT INTO vente_produit_agr  
SELECT Code_produit, SUM(Montant)
FROM Ligne_de_commande  
GROUP BY Code_produit.
 
C'est trés simpliste comme scénario, mais ca permet de comprendre la notion de tables d'aggrégation.
 
j'espère avoir répondu à ta question !
 
Abdel
(www.systemeetl.com)
 
 
 
 

Reply

Marsh Posté le 06-07-2006 à 11:36:48    

slt,
vu que tu as l'aire de t'y connaitre en agregat, j'aurais une questiona te poser:
j'ai une table journaliere que j'agrege en fonction du temps, j'obtiens donc une table mensuelle. cependant, le volume n'est reduit que de 3 avec cet agregat. je me suis sonc dit que je devais trouver un autre agregat plus performant, permettant une execution de mes requetes plus rapidement. mais je ne connais pas la demarche pour rechercher un agregat
pourrais tu m'aider stp

Reply

Marsh Posté le 06-07-2006 à 14:03:39    

En fait c'est à toi de dire par quoi tu veux regrouper !
et sur quels critères (ex : le mois en cours, ou les 3 derniers mois
te suffit peut-être, donc tu peux réduire aussi le volume
comme ça ...)
 
Balance ici ta requête journalière, mensuelle, avec
au moins les champs du select qu'on y voit plus clair
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed