2010-01-19 6 views
1

Je souhaite stocker des données de nature dynamique. L'utilisateur peut créer des formulaires pour capturer des données. Les données peuvent être stockées dans divers formats selon la configuration. Les principaux sont un SGBDR et un fichier XML. Le format de fichier XML est assez facile à stocker des données dynamiques et le recharger.Structure de données pour stocker des données dynamiques

Je ne suis pas en mesure de concevoir une structure de données pour un SGBDR. Je stocke actuellement les données dans un format de valeur-clé et fait un PIVOT pour le récupérer. Pour les champs qui ont plusieurs valeurs, je les stocke au format CSV dans la colonne des valeurs.

Existe-t-il un meilleur moyen de stocker de telles données dynamiques, ce qui contribue aux performances et à l'extensibilité?

Répondre

0

Sans en savoir plus sur votre application, c'est difficile à dire.

Vous pouvez enregistrer les données au format XML dans un BLOB dans la base de données. Cela signifierait que toutes vos données ont été (sorta) traitées de la même manière (en XML).

L'autre approche consisterait à modifier la structure de votre base de données pour conserver les données imbriquées (ce qui semble être votre problème). Ainsi, au lieu d'une table de valeurs-clés droites, vous pouvez avoir une structure de table qui pourrait se référencer elle-même (par exemple, valeur-clé-parent) et avoir une table d'en-tête pour contenir les clés de niveau supérieur. La vraie question est de savoir pourquoi vous voulez utiliser une base de données pour stocker les données. Il semble que le vrai problème est d'essayer d'insérer une cheville ronde dans un trou carré (ou vice versa).