Tags et optimisation base de données

yann214
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 385
Inscription: 17 Nov 2005

Tags et optimisation base de données

Message le Dim Mai 04, 2008 16:00

Bonjour,

J'en appelle à votre expérience quant à la gestion de tags (associés à des produits ou des articles par exemple).
Quelle est la meilleure structure de données à adopter si on veut gérer par exemple un nuage de tags, faire des requêtes sur des mots particuliers, etc.

Vaut-il mieux avoir des champs varchar supplémentaires directement dans l'enregistrement du produit :

TABLE PRODUIT
Code: Tout sélectionner
PROD_ID:integer
DESCRIPTION:varchar
TAG1:varchar
TAG2:varchar
TAG3:varchar


Vaut-il mieux avoir une table de tags et associer des tags au produits :

TABLE PRODUIT
Code: Tout sélectionner
PROD_ID:integer
DESCRIPTION:varchar
TAG_ID1:integer
TAG_ID2:integer
TAG_ID3:integer


TABLE TAG
Code: Tout sélectionner
TAG_ID:integer
MOT:varchar

petit-ourson
WRInaute impliqué
WRInaute impliqué
 
Messages: 855
Inscription: 31 Mai 2004

Message le Dim Mai 04, 2008 16:24

Ni l'un ni l'autre (enfin pour ce que j'en pense) mais :

TABLE PRODUIT

Code: Tout sélectionner
PROD_ID:integer
DESCRIPTION:varchar


TABLE TAG

Code: Tout sélectionner
TAG_ID:integer
MOT:varchar


TABLE TAG_PRODUIT

Code: Tout sélectionner
PROD_ID:integer
TAG_ID:integer

yann214
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 385
Inscription: 17 Nov 2005

Message le Dim Mai 04, 2008 16:28

Cette structure est très ressemblante à la deuxième que je proposais, c'est pour ça que je ne l'ai pas citée.
C'est plutôt sur le fait de travailler sur des IDs ou des Chaînes que je me posais la question...
En sachant que pour les tags on travaille quand même souvent avec des chaînes, notamment pour les recherches... je ne sais pas si c'est intelligent de vouloir associer des IDs aux tags...


Marie-Aude
Modérateur
Modérateur
 
Messages: 11901
Inscription: 5 Juin 2006

Message le Dim Mai 04, 2008 17:01

Tout dépend de l'utilisation que tu comptes en faire...

yann214
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 385
Inscription: 17 Nov 2005

Message le Dim Mai 04, 2008 17:08

Les utilisations des tags ne sont-elles pas toujours les mêmes ?

Extraire tous les produits contenant le tag "tag1"
Extraire tous les produits contenant le tag "tag1" et/ou le tag "tag2"
Rechercher tous les tags "proches" du tag "tag1"

Faut-il faire une recherche directement sur toutes les chaînes de la table des produits (structure 1), ou faire une recherche sur la table des tags pour sortir l'ID du tag et faire ensuite une recherche sur la table des produits avec cet ID (structure 2) ?

Dans le cas de la structure 2, en faisant une jointure je pense que ça ne change rien par rapport à la structure 1, mais en procédant avec ces deux reuqêtes de suite...

yann214
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 385
Inscription: 17 Nov 2005

Message le Lun Mai 05, 2008 16:32

Pas d'autre suggestion ?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités