Représentation intervallaire

Représentation intervallaire - SQL/NoSQL - Programmation

Marsh Posté le 13-07-2006 à 13:02:07    

Bonjour,
je suis en train de faire le développement d'un site web dans lequel je vais avoir un découpage d'articles de ce genre la :


|                                ROOT                       |
 -----------------------------------------------------------
 |                      Categorie 1           | |Categorie2|
  --------------------------------------------   ----------
  |             SousCat1      | |  SousCat2  |
   ---------------------------   ------------
   |   Article1   | |Article2|
    --------------   --------
    |Page1||Page2|
     -----  -----


 
Sachant que j'aurais besoin de faire les operations suivantes :
- Afficher un menu avec les categories et leurs sous-categories
- Lorsque je suis en train de lire un article (cad que je suis dans une des pages de l'article) afficher l'arborescence : Cat --> SousCat --> Article
- Sur une page d'une article, afficher un menu déroulant avec la liste des pages de l'article pour faciliter le parcours de l'article
 
Je pense donc qu'une représentation intervallaire est la solution la plus pratique mais j'aimerais votre avis.
De plus je ne sais pas si je dois stocker les pages de l'article dans la meme représentation ou si je dois creer une table a part...
 
Si qqn pouvait me donner quelques indications...
 
Merci

Reply

Marsh Posté le 13-07-2006 à 13:02:07   

Reply

Marsh Posté le 13-07-2006 à 13:35:04    

mieux vat partir sur une notion d'arbre, histoire de savoir facilement  le pere d'un element  
 
ca peux se gerer simplement avec une table qui aura les champs suivant  
idPage ( int , autoincrement)  
idParent (int ) , 0 si on est a la racine
titre  
... autres variables diverses

Reply

Marsh Posté le 13-07-2006 à 13:35:15    

EDIT: Je vois que j'ai été pris de vitesse, 9 secondes trop tard, mon message confirme donc le précédent :D
 
moi je ne travaillerait pas avec des intervalles.  
 
Cependant, confirme moi une chose.
Un fils ne peut avoir qu'un père?
 
Si c'est le cas, dans ta tables catégorie, tu référencies le père.
 
idCategorie
idCategoriePere
 
et tu sauras reconstruire ton arbre sans problème.
 
Si une catégorie peut avoir plusieurs pères, alors faut passer par une deuxième table annexe ou tu mettras toute les associations.


Message édité par moi23372 le 13-07-2006 à 13:36:06
Reply

Marsh Posté le 13-07-2006 à 13:47:25    

Pour connaitre le pere d'un element c'est aussi facile avec des intervalles qu'avec un IDParent, dans les 2 cas c'est une seule requète SQL)
 
L'avantage de la représentation intervallaire c'est que je recupere mon arbo (Cat --> SousCat --> Article) en une seule requète.

Reply

Marsh Posté le 13-07-2006 à 18:34:49    

avec le père aussi :S je vois pas ou est le problème. Enfin à toi de voir ce que tu préfères.

Reply

Marsh Posté le 14-07-2006 à 00:19:10    

l'avantage de la structure arborescente , c'est que tu n'es ni limitée en profondeur , ni en largeur : tu peux rajouter autant de fils que tu veux a un noeud pere, alors qu'avec des interval , tu as toujours une limite ( a moins de vouloir travailler avec des interval de float, mais je te le deconseille )

Reply

Marsh Posté le 17-07-2006 à 12:15:49    

moi23372 a écrit :

avec le père aussi :S je vois pas ou est le problème. Enfin à toi de voir ce que tu préfères.


Avec le pere, pour obtenir toute l'arboresence, il faut autant de requetes que de nivo d'arbo... Enfin si je me trompe je veux bien que vous me donniez la solution pour le faire en une seule requete...
Avec une representation intervallaire, c'est une unique requete...
 
 
Flo850 : en effet je n'avais pas pense a la limitation en largeur ou profondeur. mais en fait c'est la meme qu'avec une structure arborescente... Ton idPere est aussi limité donc pas de différence...

Reply

Marsh Posté le 17-07-2006 à 14:29:07    

la seule limite d'une structure arborescente est le nombre de ligne que ta table peut suporter
 
le resique avec des intervals est que tu te retrouve avec un interval de taille 1 à couper en deux

Reply

Sujets relatifs:

Leave a Replay

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