OVH Cloud OVH Cloud

Dessin de base de données

3 réponses
Avatar
Maison RISS - riss sIMON
Bonjour,
Je suis en train de créer un petit programme de facturation.
Voulant avoir les chiffres d'achat ou de vente des fournisseurs ou clients
par mois ou trimestre ou anné,qu'elle solution et préférable :
1) faire des requetes select sur les tables achat ou facture
2) avoir une table chiffre lié au client et forunisseur et mettre
directement à jour les données à la saisie.
- pour ette solution je pensais créer une table avec les champs
suivants:
code client ou fournisseur - mois - année - trimestre - chiffre
Merci d'avance pour vos conseils.
--
RISS Simon

3 réponses

Avatar
Oxiane
C'est une problématique pour laquelle il n'y a pas de réponse toute faite...
:-(
Tout dépend :

1) de la volumétrie : un select sum(...) group by ... sur quelques milliers
d'enregistrements ne devrait pas faire beaucoup de mal aux performances de
l'appli. Préférer donc dans ce cas la requête. Sil le temps du select est
trop long, prévoir en effet une table d'agrégats séparée.

2) de la partie de ton applicatif pour laquelle tu peux te permettre une
perte de perf. La solution de la table d'agrégat va entraîner une légère
perte de perf lors de la saisie, car à chaque INSERT ou UPDATE, il va
falloir mettre à jour tes totaux (préférer dans cas les TRIGGERS). La
solution du select va entraîner une perte de temps de réponse au niveau de
la consultation. A choisir le moins pénalisant.

Une solution à ton problème, à grande échelle, est la création d'entrepôts
de données. SQL2k offre pour cela des outils performants (DTS, et ms
Analysis pour les très gros volumes). C'est mon boulot, et c'est passionnant
!

--
Cordialement

Oxiane
----------------------------------------------------------
Omnia vanitas


"Maison RISS - riss sIMON" a écrit dans le
message de news:uu2LYA$
Bonjour,
Je suis en train de créer un petit programme de facturation.
Voulant avoir les chiffres d'achat ou de vente des fournisseurs ou clients
par mois ou trimestre ou anné,qu'elle solution et préférable :
1) faire des requetes select sur les tables achat ou facture
2) avoir une table chiffre lié au client et forunisseur et mettre
directement à jour les données à la saisie.
- pour ette solution je pensais créer une table avec les champs
suivants:
code client ou fournisseur - mois - année - trimestre -


chiffre
Merci d'avance pour vos conseils.
--
RISS Simon



Avatar
Maison RISS - riss sIMON
Merci de votre reponse.
Bien que pour le moment le volume de données n'est pas encore très
important, et n'ayant aucune connaissance des entrepôts de données(je suis
un programmateur amateur),
pourriez me donner des liens ou des titres de livre ,sur les entrepots de
données.


"Oxiane" a écrit dans le message de
news:
C'est une problématique pour laquelle il n'y a pas de réponse toute


faite...
:-(
Tout dépend :

1) de la volumétrie : un select sum(...) group by ... sur quelques


milliers
d'enregistrements ne devrait pas faire beaucoup de mal aux performances de
l'appli. Préférer donc dans ce cas la requête. Sil le temps du select est
trop long, prévoir en effet une table d'agrégats séparée.

2) de la partie de ton applicatif pour laquelle tu peux te permettre une
perte de perf. La solution de la table d'agrégat va entraîner une légère
perte de perf lors de la saisie, car à chaque INSERT ou UPDATE, il va
falloir mettre à jour tes totaux (préférer dans cas les TRIGGERS). La
solution du select va entraîner une perte de temps de réponse au niveau de
la consultation. A choisir le moins pénalisant.

Une solution à ton problème, à grande échelle, est la création d'entrepôts
de données. SQL2k offre pour cela des outils performants (DTS, et ms
Analysis pour les très gros volumes). C'est mon boulot, et c'est


passionnant
!

--
Cordialement

Oxiane
----------------------------------------------------------
Omnia vanitas


"Maison RISS - riss sIMON" a écrit dans le
message de news:uu2LYA$
> Bonjour,
> Je suis en train de créer un petit programme de facturation.
> Voulant avoir les chiffres d'achat ou de vente des fournisseurs ou


clients
> par mois ou trimestre ou anné,qu'elle solution et préférable :
> 1) faire des requetes select sur les tables achat ou facture
> 2) avoir une table chiffre lié au client et forunisseur et mettre
> directement à jour les données à la saisie.
> - pour ette solution je pensais créer une table avec les champs
> suivants:
> code client ou fournisseur - mois - année - trimestre -
chiffre
> Merci d'avance pour vos conseils.
> --
> RISS Simon
>




Avatar
Oxiane
Pour bien commencer, qqchose de très général, mais assez bien fait :

http://www.grappa.univ-lille3.fr/polys/fouille/sortie003.html

En ce qui concerne les livres, le guru en la matière est Ralph Kimball

pour le reste, peu de doc sur DTS (et pas du tout en Français hormi la doc
de MS).
Un excellent site, que je recommande souvent sur ce newsgroup, est
www.sqldts.com, mais il faut déjà être initié...

Pour MS Analysis, le didactitiel de la doc de SQL2k n'est pas mal fait.

Bon courage


--
Cordialement

Oxiane
----------------------------------------------------------
Omnia vanitas

"Maison RISS - riss sIMON" a écrit dans le
message de news:e$
Merci de votre reponse.
Bien que pour le moment le volume de données n'est pas encore très
important, et n'ayant aucune connaissance des entrepôts de données(je suis
un programmateur amateur),
pourriez me donner des liens ou des titres de livre ,sur les entrepots de
données.


"Oxiane" a écrit dans le message de
news:
> C'est une problématique pour laquelle il n'y a pas de réponse toute
faite...
> :-(
> Tout dépend :
>
> 1) de la volumétrie : un select sum(...) group by ... sur quelques
milliers
> d'enregistrements ne devrait pas faire beaucoup de mal aux performances


de
> l'appli. Préférer donc dans ce cas la requête. Sil le temps du select


est
> trop long, prévoir en effet une table d'agrégats séparée.
>
> 2) de la partie de ton applicatif pour laquelle tu peux te permettre une
> perte de perf. La solution de la table d'agrégat va entraîner une légère
> perte de perf lors de la saisie, car à chaque INSERT ou UPDATE, il va
> falloir mettre à jour tes totaux (préférer dans cas les TRIGGERS). La
> solution du select va entraîner une perte de temps de réponse au niveau


de
> la consultation. A choisir le moins pénalisant.
>
> Une solution à ton problème, à grande échelle, est la création


d'entrepôts
> de données. SQL2k offre pour cela des outils performants (DTS, et ms
> Analysis pour les très gros volumes). C'est mon boulot, et c'est
passionnant
> !
>
> --
> Cordialement
>
> Oxiane
> ----------------------------------------------------------
> Omnia vanitas
>
>
> "Maison RISS - riss sIMON" a écrit dans le
> message de news:uu2LYA$
> > Bonjour,
> > Je suis en train de créer un petit programme de facturation.
> > Voulant avoir les chiffres d'achat ou de vente des fournisseurs ou
clients
> > par mois ou trimestre ou anné,qu'elle solution et préférable :
> > 1) faire des requetes select sur les tables achat ou facture
> > 2) avoir une table chiffre lié au client et forunisseur et mettre
> > directement à jour les données à la saisie.
> > - pour ette solution je pensais créer une table avec les champs
> > suivants:
> > code client ou fournisseur - mois - année - trimestre -
> chiffre
> > Merci d'avance pour vos conseils.
> > --
> > RISS Simon
> >
>
>