Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dénormalisation

6 réponses
Avatar
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/

6 réponses

Avatar
Philippe TROTIN [MS]
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" <info[]ezlogic.mc> a écrit dans le message de groupe de
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/




Avatar
Laurent Jordi
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]" a écrit dans le
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" <info[]ezlogic.mc> a écrit dans le message de groupe de
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/






Avatar
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-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" <info[]ezlogic.mc> a écrit dans le message de groupe dediscussion : 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]" a écrit dans lemessage de news: 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" <info[]ezlogic.mc> a écrit dans le message de groupe dediscussion : 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/>>>>>>>>
Avatar
Guillaume Davion
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]"
wrote:
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" <info[]ezlogic.mc> a écrit dans le message de groupe dediscussion : eQP DU2# 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écursiv ité et d'obtenir un accès en consultation beaucoupplus performent.>> La base dénormalisée ne sera utilisée qu'en consultation. En conséquenc e,elle ne posera pas de problème d'intégrité référentielle.>> Ét ant donné qu'on a plusieurs structures hiérarchiques, nous comptonscré er une table pour chaque type de structure.>> Il doit certainement y avoir d es cas similaires. J'ai déjà mon idée pourla dématérialisation mai s si d'autres ont étés confrontés à des pièges,j'aimerais les év iter.>> Bien à vous>> Laurent Jordi> http://www.ezlogic.mc> http://www.lau rentjordi.net> http://sossoa.blogspot.com/>>>> "Philippe TROTIN [MS]" <ptro. a écrit dans lemessage de news: 061D5D64-CF43-4C9 Bonjour,>>>> Je ne sais pas si cela c orrespond à ce que vous recherchez mais allervoir du coté des CTE (Commo n Table Expression) sous SQL 2005 (la versionrécursive).>>>>>> Cordialemen t>> _______________________________>>>>    Philippe TROTIN>>    Micr osoft Services France>> _______________________________>>>> "Laurent Jordi" <info[]ezlogic.mc> a écrit dans le message de groupe dediscussion : ODg3l4 Salut,>>>>>> Je suis en train de faire une étude de dénormalisation d'une base dedonnées SQL Server 2005 org anisée de façon hiérarchique pour la gestion duréférentiel. Cette base a une profondeur variable. Les types de valeurspouvant caractériser l es noeuds sont soit des noeuds, soit des nombres, soitdes textes, soit des d ates soit des collections de valeur.>>>>>> J'ai trouvé pas mal de techniqu es plus ou moins simples à mettre enoeuvre. J'aimerais savoir s'il n'y a p as 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/>>>>>>>>


Avatar
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/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]"

wrote:
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" < info[]ezlogic.mc> a écrit dans le message de groupe dediscussion : eQPDU2# Bonjour,>> En fait, la base d'origine est hiérarchique. Son exploration est doncbasée sur CTE. L'objectif est d'e xporter cette base dans une base "à plat"afin d'éviter la récursivit é et d'obtenir un accès en consultation beaucoupplus performent.>> La ba se 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.>> Étan t 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 évit er.>> Bien à vous>> Laurent Jordi> http://www.ezlogic.mc> http://www.laure ntjordi.net> http://sossoa.blogspot.com/>>>> "Philippe TROTIN [MS]" <ptro... @online.microsoft.com> a écrit dans lemessage de news: 061D5D64-CF43-4C97- Bonjour,>>>> Je ne sais pas si cela cor respond à ce que vous recherchez mais allervoir du coté des CTE (Common Table Expression) sous SQL 2005 (la versionrécursive).>>>>>> Cordialement> > _______________________________>>>>    Philippe TROTIN>>    Micros oft Services France>> _______________________________>>>> "Laurent Jordi" <i nfo[]ezlogic.mc> a écrit dans le message de groupe dediscussion : ODg3l4Pa Salut,>>>>>> Je suis en train de faire u ne étude de dénormalisation d'une base dedonnées SQL Server 2005 organ isée de façon hiérarchique pour la gestion duréférentiel. Cette ba se a une profondeur variable. Les types de valeurspouvant caractériser les noeuds sont soit des noeuds, soit des nombres, soitdes textes, soit des dat es 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/>>>>>>>>


Avatar
Laurent Jordi
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" a écrit dans le message de news:

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]"

wrote:
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" <info[]ezlogic.mc> a écrit dans le message de groupe dediscussion :
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]"
a écrit dans lemessage de news:
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"
<info[]ezlogic.mc> a écrit dans le message de groupe dediscussion :
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/>>>>>>>>