2009-04-08 6 views
0

Je suis en train de concevoir une application db en utilisant une nouvelle approche. (Atleast roman à moi ... :))Stocker DataRelation en XML?

Donc je fais des recherches pour le même. J'utilise des ensembles de données .NET 3.5 ADO.NET pour travailler avec des données et les stocker hors ligne en XML. D'abord, cette approche est-elle bonne pour une application sérieuse (bien qu'un petit db, 4-5 utilisateurs, ~ 25 tables ~ 3-4k dans chaque application)? Deuxièmement, comment puis-je stocker exactement une donnée dans un fichier XML hors-ligne?

Merci!

Saurabh.

Répondre

3

25 tables avec 3-4k rangées dans chacune n'est pas ce que j'appellerais «petit» pour xml; en particulier, il n'est pas facile de passer juste aux bonnes données en xml ...

Avez-vous considéré une base de données, telle que SQL Server Express Edition. Gratuit, et plus que jusqu'à ce travail.


Re stockage; Si vous utilisez la sérialisation intégrée DataSet, cela devrait fonctionner automatiquement. Bien sûr, le xml sera alors spécifique à DataSet ... Honnêtement, je ne recommande pas l'approche DataSet/xml.

0

Deuxième proposition de Marc. Ne passez pas la route XML. Vous ne savez probablement pas quand/comment votre application va grandir. Avec xml vous n'avez pas de transactions, vérifiez les contraintes pour protéger l'intégrité de vos données, ....

Les bases de données ne sont pas seulement des mémoires bêtes. Utilisez une version gratuite de db express. De cette façon, vous pouvez facilement migrer vers des versions plus professionnelles de SGBD.

1

Pour répondre à votre question (même si je suis d'accord avec Marc, vous ne devriez pas utiliser XML comme couche de stockage de données).

Les ID et les hrefs sont couramment utilisés pour créer des relations en XML (ce qui est hiérarchique et non relationnel, encore une fois, vous ne devriez pas utiliser XML).

Comme un petit exemple:

<region name="South Africa" id="region_1"> 
    <manager ref="#employee_1"/> 
</region> 

<employee name="John Doe" id="employee_1" region="#region_1"> 
    <manages> 
     <employee ref="#employee_2" /> 
    </manages> 
</employee> 

<employee name="Cyril Smith" id="employee_2" region="#region_1"> 
    <manages /> <!-- code monkey --> 
</employee> 
+0

J'ai répondu pour que d'autres personnes puissent voir comment faire ceci: c'est-à-dire si elles n'utilisent pas XML. –

0

Je suis d'accord avec d'autres affiches. Je ne voudrais pas aller avec XML dans votre situation. Pour suggérer quelque chose de différent, essayez SQLlite: http://www.sqlite.org/ et le .NET ADO: http://sqlite.phxsoftware.com/. Ce n'est pas une base de données super puissante, mais c'est gratuit et fait le travail. Toutefois, si la taille de la base de données de votre application augmente à l'avenir (plus d'utilisateurs, plus d'utilisation, etc.), vous devriez utiliser une base de données plus puissante telle que SQL ou MySQL.

Si vous êtes absolument lié à XML pour une raison quelconque, je serais d'accord avec les suggestions de Jonathan.