|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 6 ![]() |
Bonjour,
j'ai dans ma base de données une table type "parents-enfants" qui a la tête suivante : code parent code enfant niveau contenant 3 niveaux différents. On a un enregistrement parent-parent pour chaque niveau et un enregistrement pour chaque "vraie" relation parent-enfant. Exemple : P est parent de E, lui même parent de C et D, on aura donc comme enregistrements : P P 1 P E 2 E E 2 E C 3 C C 3 E D 3 D D 3 Comment définir les objets BO "Parent", "Enfant" et "Petit enfant" de façon à pouvoir visualiser la hiérarchie, sachant qu'un "Parent" peut ne pas avoir "d'Enfant" et un "Enfant" peut ne pas avoir de "Petit enfant" ? |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 815 ![]() |
J'avais le meme probleme que toi.
Ma solution a été de créer une table qui mets à plat la hierarchie. Le probleme est qu'il faut autant de champs que de niveaux de hierarchie maximum possible ex : avec 4 niveau max N1 - N2 - N3 - N4 ----------------------- P . . . P E . . P E C . P E C D Ainsi il faudra créer un objet N1, un objet N2 , N3 et N4. Ensuite en faisant des ruptures à l'affichage cela devient pas mal. Il faut créer une vue ou alimenter une table de cette manière (en mettant un point à la place des informations manquante) Dans mon cas on ne gère pas le cas où il n'y a pas de parents, car il y en avait toujours. (c'etait pour gerer la hierarchie des services d'une société) bon courage... ps : si besoin je peux te donner le script de création d'une telle vue.. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Et euuuuh, en mettant 3 fois la même table dans l'univers avec des alias ? Une fois pour le parent, une fois pour l'enfant et une fois pour le petit enfant.
Après tu triples aussi tes objets et tu peux faire comme si tu avais 3 tables alors que tu n'en as qu'une seule.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 6 ![]() |
Finalement j'ai adopté la solution table "à plat" contenant toutes les hiérarchies... C'est bien contraignant alors que d'un point de vue modèle de données ça marche très bien en "parent-enfant"...
La solution ALIAS ne marche pas, car BO génère une requête avec 3 fois la table, ce qui provoque des incohérences de sélection, et donc ne rammène aucune donnée... |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Des incohérences de sélection ? Pas si tu inclus le nom de l'alias à la définition des objets (ce que je fais toujours, alias ou pas).
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com