2009-04-08 52 views
0

我正在设计一个使用新方法的数据库应用程序。 (至少对我来说是小说:) :)存储DataRelation在XML?

所以我正在做一些相同的研究。

我正在使用.NET 3.5 ADO.NET Datasets来处理数据并将它以离线形式存储在XML中。

首先,这种方法对任何一个认真的(尽管一个小的db,4-5个用户,〜25个表〜每个3-4k记录)应用程序有什么好处?

其次,我该如何将离线XML文件中的数据准确存储?

谢谢!

Saurabh。

回答

3

25个表格中有3-4k行不是我称之为“小”的xml;特别是,跳到xml中的正确数据并不容易...

您是否考虑过数据库,如SQL Server Express Edition。免费,并超过这个工作。


Re storage;如果您正在使用内置序列号DataSet,则应该自动运行。当然,这个xml将特定于DataSet ......我诚实地不建议使用DataSet/xml方法。

0

我第二马克的建议。 不要走XML路线。您可能不知道您的应用会在何时/如何增长。使用xml你没有交易,检查限制来保护你的数据的完整性,...

数据库不只是愚蠢的存储。使用一些免费的快速分贝版本。通过这种方式,您可以轻松迁移到更专业的DBMS版本。

1

要回答你的问题(尽管我同意Marc的观点,你不应该使用XML作为数据存储层)。

Ids和hrefs通常用于在XML中创建关系(这是层次关系,而不是关系,再次,您不应该使用XML)。

作为一个小例子:

<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

我回答说,让其他人可以看到如何做到这一点:即,如果他们不滥用XML。 – 2009-04-08 12:45:01

0

我将与其他海报同意。我不会在你的情况下使用XML。要提出不同的建议,请尝试SQLlite:http://www.sqlite.org/和.NET ADO:http://sqlite.phxsoftware.com/。这不是一个超级强大的数据库,但它是免费的,可以完成工作。然而,如果你看到你的应用程序的数据库将来会增长(更多的用户,更多的用法等),你应该使用更强大的数据库,比如SQL或者MySQL。

如果你无论出于何种原因都绝对受限于XML,我会同意Jonathan的建议。