[Résolu] Choix d'un schéma d'une table

Choix d'un schéma d'une table [Résolu] - SQL/NoSQL - Programmation

Marsh Posté le 02-10-2009 à 13:35:06    

Bonjour à tous,
 
J'ai 2 choix possibles pour construire une table.
J'ai besoin de vous pour savoir quel serait la meilleure solution.
 
En quelques mots, Une table article.
Cette table table article doit être reliée à une table thème sur 5 jointures, car il y a la possibilité de relier un article jusqu'à 5 thèmes.
Les thèmes sont répartis sur 3 niveaux comme une arborescence. (il y en a à peu près 900).
 
Ma question,  
Quel est le mieux au niveau stockage des thèmes dans la table article.
5 colonnes:
Theme_1, theme_2, theme_3, theme_4, theme_5
 
ou juste un champ theme où il y aurait les thèmes rentrés sous cette forme : ;5;867;45;56;780
 
En sachant que la requete qui me pose problème c'est ressortir les articles qui sont dans les niveaux supérieurs des thèmes (car je devrai prendre les articles liés à ce thème mais également à tout ses sous niveaux). J'aurai à ce moment là donc une requete du type.
 
FROM article WHERE theme_1 IN(5,867,45,56,780.....) OR theme_2 IN(5,867,45,56,780.....) OR theme_3 IN(5,867,45,56,780.....) ....
 
Ou donc  
 
 
FROM article WHERE theme LIKE '%;5;%'  OR theme LIKE  '%867%'  OR theme LIKE  '%45%' .....
 
Voilà mon choix cornélien.
J'aimerai connaître ce que vous, vous choisiriez à ma place,.
 
Merci par avance :)


Message édité par Scarf3ss3 le 02-10-2009 à 15:01:18
Reply

Marsh Posté le 02-10-2009 à 13:35:06   

Reply

Marsh Posté le 02-10-2009 à 13:48:38    

pourquoi ne pas faire une table de correspondance entre article et thème, qui te permet de t'affranchir de la limitation à 5 thèmes (bon ca tu t'en fous peut être, en tout cas pour l'instant, mais à l'avenir on sais jamais) et de leur attribuer un poids pour les trier par pertinence de thème?

Reply

Marsh Posté le 02-10-2009 à 13:58:07    

ca peut donner un truc comme ca par exemple:

 

http://hfr-rehost.net/self/pic/805730ca830c44191d90a1fce127e24946913ba6.png


Message édité par pataluc le 02-10-2009 à 13:58:19
Reply

Marsh Posté le 02-10-2009 à 15:00:15    

Ha ba oui tu as raison ! Je suis très bête de ne pas y avoir pensé.
 
Merci mille fois. ;)


Message édité par Scarf3ss3 le 02-10-2009 à 15:00:44
Reply

Sujets relatifs:

Leave a Replay

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