Réponse acceptée !
salut,
je pense qu'il est préférable pour toi de créer une table te permettant
de créer le lien entre tes sites et tes catégories.
ensuite, en positionnant des index je ne pense pas que cela soit plus long que d'avoir un champ varchar contenant toutes les catégories.
en effet, dans ce dernier cas, si tu dois récupérer toutes les catégories d'un site et afficher leur libellé (par exemple) tu devras faire les opérations suivantes :
- select listecategorie from tablesite where site = numsite
- effectuer une routine de découpage de l'information pour récupérer les codes catégories de manière unitaire
- boucler sur ces catégories pour aller chercher l'info du libellé
tout cela nécessite du temps de process... de plus, tu n'aura pas la possibilité de gérer une contrainte d'intégrité de type Foreign Key entre Site et catégorie.
ce qui signifie que lors de la suppression d'une catégorie, tu ne pourras pas savoir si un site lui appartient... a moins de le faire manuellement... et la aussi, cela peut etre long...
alors que si tu gère une table de lien, en une requete tu pourras avoir le code site, la catégorie et le libellé de la catégorie .
ex :
Select TableLien.CodeSite, TableLien.CodeCategorie, TableSite.LibelleSite, TableCategorie.LibelleCategorie
From TableLien
Inner Join TableSite On TableLien.CodeSite = TableSite.CodeSite
Inner Join TableCategorie.CodeCategorie = TableCategorie.CodeCategorie
d'autre part tu pourras gérer tes contraintes d'intégrité...
voilà mon avis...
Pat
Don't Worry
, Be Happy 