J'ai une webApp existante et souhaitez ajouter une fonction de balise afin que les utilisateurs puissent marquer des objets existants. La question est de devoir ajouter une colonne de tags à chaque objet? Ou devrais-je normaliser et utiliser une table d'étiquette où chaque objet aura une collection de balises? Je me penche vers ce dernier parce que cela se sent plus propre, plus facile à signaler et plus facile à créer un nuage de tags. Mais puisque je sais que cela a été résolu 1000 fois, je voulais demander et voir si on me manque quelque chose? P>
3 Réponses :
Oui, vous devriez normaliser cela. La "colonne tag" ne supporte qu'une seule étiquette par enregistrement, soit avoir une performance de recherche hideuse. P>
normalement normalement. Une table pour les tags, une table pour vos objets existants et une table de liens entre eux. P>
Prévoyez-vous que les utilisateurs ont besoin d'associer plus d'une étiquette avec un objet? p>
Si objet p>
objet_tag_xref p>
tag p>
Comment cela changerait-il pour attacher des balises aux utilisateurs? Est-ce que Object_id devenir user_id?
@Juniperash: vous devez ajouter une colonne user_id code> sur
objet_tag_xref code> - même que les deux autres colonnes, la clé primaire et la clé étrangère de la table des utilisateurs.
Fait beaucoup plus de sens! Merci!