Dénormalisation

Le
Laurent Jordi
Salut,

Je suis en train de faire une étude de dénormalisation d'une base de données
SQL Server 2005 organisée de façon hiérarchique pour la gestion du
référentiel. Cette base a une profondeur variable. Les types de valeurs
pouvant caractériser les noeuds sont soit des noeuds, soit des nombres, soit
des textes, soit des dates soit des collections de valeur.

J'ai trouvé pas mal de techniques plus ou moins simples à mettre en oeuvre.
J'aimerais savoir s'il n'y a pas des outils (open source si possible) qui
permettent de réaliser cette opération simplement.

D'avance merci

Laurent Jordi
http://www.ezlogic.mc
http://www.laurentjordi.net <- Nouveau CV
Nouveau blog : http://sossoa.blogspot.com/
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe TROTIN [MS]
Le #11882831
Bonjour,

Je ne sais pas si cela correspond à ce que vous recherchez mais aller voir
du coté des CTE (Common Table Expression) sous SQL 2005 (la version
récursive).


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Laurent Jordi" discussion :
Salut,

Je suis en train de faire une étude de dénormalisation d'une base de
données SQL Server 2005 organisée de façon hiérarchique pour la gestion du
référentiel. Cette base a une profondeur variable. Les types de valeurs
pouvant caractériser les noeuds sont soit des noeuds, soit des nombres,
soit des textes, soit des dates soit des collections de valeur.

J'ai trouvé pas mal de techniques plus ou moins simples à mettre en
oeuvre. J'aimerais savoir s'il n'y a pas des outils (open source si
possible) qui permettent de réaliser cette opération simplement.

D'avance merci

Laurent Jordi
http://www.ezlogic.mc
http://www.laurentjordi.net <- Nouveau CV
Nouveau blog : http://sossoa.blogspot.com/




Laurent Jordi
Le #11882801
Bonjour,

En fait, la base d'origine est hiérarchique. Son exploration est donc basée
sur CTE. L'objectif est d'exporter cette base dans une base "à plat" afin
d'éviter la récursivité et d'obtenir un accès en consultation beaucoup plus
performent.

La base dénormalisée ne sera utilisée qu'en consultation. En conséquence,
elle ne posera pas de problème d'intégrité référentielle.

Étant donné qu'on a plusieurs structures hiérarchiques, nous comptons créer
une table pour chaque type de structure.

Il doit certainement y avoir des cas similaires. J'ai déjà mon idée pour la
dématérialisation mais si d'autres ont étés confrontés à des pièges,
j'aimerais les éviter.

Bien à vous

Laurent Jordi
http://www.ezlogic.mc
http://www.laurentjordi.net
http://sossoa.blogspot.com/



"Philippe TROTIN [MS]" message de news:
Bonjour,

Je ne sais pas si cela correspond à ce que vous recherchez mais aller voir
du coté des CTE (Common Table Expression) sous SQL 2005 (la version
récursive).


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Laurent Jordi" discussion :
Salut,

Je suis en train de faire une étude de dénormalisation d'une base de
données SQL Server 2005 organisée de façon hiérarchique pour la gestion
du référentiel. Cette base a une profondeur variable. Les types de
valeurs pouvant caractériser les noeuds sont soit des noeuds, soit des
nombres, soit des textes, soit des dates soit des collections de valeur.

J'ai trouvé pas mal de techniques plus ou moins simples à mettre en
oeuvre. J'aimerais savoir s'il n'y a pas des outils (open source si
possible) qui permettent de réaliser cette opération simplement.

D'avance merci

Laurent Jordi
http://www.ezlogic.mc
http://www.laurentjordi.net <- Nouveau CV
Nouveau blog : http://sossoa.blogspot.com/






Philippe TROTIN [MS]
Le #11882771
Bonjour,

Il y a un collègue qui a fait cela :
http://blogs.msdn.com/pascal/archive/2008/02/14/le-projet-sql-server-2-d-matrix-builder-est-enfin-disponible-publiquement.aspxSinon sur un de mes projets, je gère la dénormalisation via des triggers SQLet cela marche très bien (sur aujourd'hui plus de 200 bases de donnéese-commerce).Cordialement_______________________________ Philippe TROTIN Microsoft Services France_______________________________"Laurent Jordi"
Guillaume Davion
Le #11882731
Disons qu'une des possibilité serait d'utiliser des vues matérialisées
(indexées), ce qui permettrait d'avoir une vue plus ou moins en temps
réel tout en ne la recalculant pas à chaque fois. Pour passer de la
structure hiérarchique à une structure à plat (et statique), regarde
du côté de la fonction PIVOT de SQL Server 2005.

On 18 fév, 20:11, "Philippe TROTIN [MS]"
Bonjour,

Il y a un collègue qui a fait cela :
 http://blogs.msdn.com/pascal/archive/2008/02/14/le-projet-sql-server-.. .sur un de mes projets, je gère la dénormalisation via des triggers SQLe t cela marche très bien (sur aujourd'hui plus de 200 bases de donnéese-c ommerce).Cordialement_______________________________    Philippe TROTIN    Microsoft Services France_______________________________"Laurent Jord i"

zoltix
Le #11882721
C'est peut être bête mais j'ai eu un cas similaire et pour une
question de perforamnce et j'ai évité les cte j'ai mis en place
"Gestion d'arbre par représentation intervallaire"........

tu trouveras plus d'infor sur http://sqlpro.developpez.com/cours/arborescenc e/




---------- Forwarded message ----------
From: Guillaume Davion Date: 19 fév, 10:39
Subject: Dénormalisation
To: microsoft.public.fr.sqlserver


Disons qu'une des possibilité serait d'utiliser des vues matérialisées
(indexées), ce qui permettrait d'avoir une vue plus ou moins en temps
réel tout en ne la recalculant pas à chaque fois. Pour passer de la
structure hiérarchique à une structure à plat (et statique), regarde
du côté de la fonction PIVOT de SQL Server 2005.

On 18 fév, 20:11, "Philippe TROTIN [MS]"

Bonjour,



Il y a un collègue qui a fait cela :
 http://blogs.msdn.com/pascal/archive/2008/02/14/le-projet-sql-server-.. .un de mes projets, je gère la dénormalisation via des triggers SQLet ce la marche très bien (sur aujourd'hui plus de 200 bases de donnéese-comme rce).Cordialement_______________________________    Philippe TROTIN    Microsoft Services France_______________________________"Laurent Jordi"

Laurent Jordi
Le #11882501
Salut,

J'ai aussi opté pour cette option. Mais d'après un de mes techniciens on
serait pas tout à fait dans le cas d'une arborescence à cause de la
répétabilité de certaines branches. Personnellement, je crois que je vais
doublonner un peu pour conserver cette technique qui me partait être très
efficace, je suis en train de la bencher...

Merci pour vos participations

Laurent Jordi
http://www.ezlogic.mc
http://www.laurentjordi.net
http://sossoa.blogspot.com

"zoltix"
C'est peut être bête mais j'ai eu un cas similaire et pour une
question de perforamnce et j'ai évité les cte j'ai mis en place
"Gestion d'arbre par représentation intervallaire"........

tu trouveras plus d'infor sur
http://sqlpro.developpez.com/cours/arborescence/




---------- Forwarded message ----------
From: Guillaume Davion Date: 19 fév, 10:39
Subject: Dénormalisation
To: microsoft.public.fr.sqlserver


Disons qu'une des possibilité serait d'utiliser des vues matérialisées
(indexées), ce qui permettrait d'avoir une vue plus ou moins en temps
réel tout en ne la recalculant pas à chaque fois. Pour passer de la
structure hiérarchique à une structure à plat (et statique), regarde
du côté de la fonction PIVOT de SQL Server 2005.

On 18 fév, 20:11, "Philippe TROTIN [MS]"

Bonjour,



Il y a un collègue qui a fait cela :
http://blogs.msdn.com/pascal/archive/2008/02/14/le-projet-sql-server-...un
de mes projets, je gère la dénormalisation via des triggers SQLet cela
marche très bien (sur aujourd'hui plus de 200 bases de
donnéese-commerce).Cordialement_______________________________ Philippe
TROTIN Microsoft Services France_______________________________"Laurent
Jordi" eQPDU2# Bonjour,>> En fait, la base
d'origine est hiérarchique. Son exploration est doncbasée sur CTE.
L'objectif est d'exporter cette base dans une base "à plat"afin d'éviter
la récursivité et d'obtenir un accès en consultation beaucoupplus
performent.>> La base dénormalisée ne sera utilisée qu'en consultation. En
conséquence,elle ne posera pas de problème d'intégrité référentielle.>>
Étant donné qu'on a plusieurs structures hiérarchiques, nous comptonscréer
une table pour chaque type de structure.>> Il doit certainement y avoir
des cas similaires. J'ai déjà mon idée pourla dématérialisation mais si
d'autres ont étés confrontés à des pièges,j'aimerais les éviter.>> Bien à
vous>> Laurent Jordi> http://www.ezlogic.mc> http://www.laurentjordi.net>
http://sossoa.blogspot.com/>>>> "Philippe TROTIN [MS]"
Bonjour,>>>> Je ne
sais pas si cela correspond à ce que vous recherchez mais allervoir du
coté des CTE (Common Table Expression) sous SQL 2005 (la
versionrécursive).>>>>>> Cordialement>>
_______________________________>>>> Philippe TROTIN>> Microsoft Services
France>> _______________________________>>>> "Laurent Jordi"
Salut,>>>>>> Je suis en train
de faire une étude de dénormalisation d'une base dedonnées SQL Server 2005
organisée de façon hiérarchique pour la gestion duréférentiel. Cette base
a une profondeur variable. Les types de valeurspouvant caractériser les
noeuds sont soit des noeuds, soit des nombres, soitdes textes, soit des
dates soit des collections de valeur.>>>>>> J'ai trouvé pas mal de
techniques plus ou moins simples à mettre enoeuvre. J'aimerais savoir s'il
n'y a pas des outils (open source sipossible) qui permettent de réaliser
cette opération simplement.>>>>>> D'avance merci>>>>>> Laurent
Jordi>>>http://www.ezlogic.mc>>>http://www.laurentjordi.net<- Nouveau
CV>>> Nouveau blog :http://sossoa.blogspot.com/>>>>>>>>


Publicité
Poster une réponse
Anonyme