J'ai une situation suivante dans mon projet. Certaines valeurs de tag sont associées à une seule catégorie.Stockage et récupération efficaces des données de catégorie à étiquettes
Exemple:
Fruits : Apple, Banana, Grape
Vegetables: Tomato, Cabbage, Brinjal
Maintenant, pour cela, j'utiliser une table simple dans la base de données avec deux colonnes, Category
, Tag
, et je magasin "Fruits" dans Category
colonne et "Pomme, Banane, Raisin" en Tag
colonne (chaque étiquette est séparée par une virgule). Et quand je demande une seule catégorie en utilisant une simple instruction SQL comme select tag from TagsCollection where category='Fruits';
je reçois une chaîne avec tous les tags qui appartiennent à la catégorie "Fruits". Notez que la table n'aura qu'une seule instance d'une catégorie particulière en tant qu'enregistrement. Et puis j'ai besoin que toutes les étiquettes soient séparées pour un traitement ultérieur, alors je divise la chaîne sur les comas dans mon langage de programmation (Java, ici). Maintenant, quel peut être un moyen idéal pour mettre en œuvre quelque chose comme ça? dois-je procéder avec RDBMS-façon de stockage (MySQL, pour être précis) ou est-il un autre moyen plus rapide pour stocker & récupérer un tel type de données.
I intentionnellement utilisé attribut multi-valeur en ignorant toutes les formes normales pour l'espoir de g et toute meilleure solution. Pour que cela soit stocké de cette façon, je peux utiliser quelque chose comme HashTable pour chaque catégorie sur le front de programmation pour une correspondance efficace. Cependant, y a-t-il un moyen non-base de données pour stocker des informations comme celle-ci? une sorte de XML? (pas conscient des stockages basés sur XML) – Kushal