我正在设计一个使用新方法的数据库应用程序。 (至少对我来说是小说:) :)存储DataRelation在XML?
所以我正在做一些相同的研究。
我正在使用.NET 3.5 ADO.NET Datasets来处理数据并将它以离线形式存储在XML中。
首先,这种方法对任何一个认真的(尽管一个小的db,4-5个用户,〜25个表〜每个3-4k记录)应用程序有什么好处?
其次,我该如何将离线XML文件中的数据准确存储?
谢谢!
Saurabh。
我正在设计一个使用新方法的数据库应用程序。 (至少对我来说是小说:) :)存储DataRelation在XML?
所以我正在做一些相同的研究。
我正在使用.NET 3.5 ADO.NET Datasets来处理数据并将它以离线形式存储在XML中。
首先,这种方法对任何一个认真的(尽管一个小的db,4-5个用户,〜25个表〜每个3-4k记录)应用程序有什么好处?
其次,我该如何将离线XML文件中的数据准确存储?
谢谢!
Saurabh。
25个表格中有3-4k行不是我称之为“小”的xml;特别是,跳到xml中的正确数据并不容易...
您是否考虑过数据库,如SQL Server Express Edition。免费,并超过这个工作。
Re storage;如果您正在使用内置序列号DataSet
,则应该自动运行。当然,这个xml将特定于DataSet
......我诚实地不建议使用DataSet
/xml方法。
我第二马克的建议。 不要走XML路线。您可能不知道您的应用会在何时/如何增长。使用xml你没有交易,检查限制来保护你的数据的完整性,...
数据库不只是愚蠢的存储。使用一些免费的快速分贝版本。通过这种方式,您可以轻松迁移到更专业的DBMS版本。
要回答你的问题(尽管我同意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>
我将与其他海报同意。我不会在你的情况下使用XML。要提出不同的建议,请尝试SQLlite:http://www.sqlite.org/和.NET ADO:http://sqlite.phxsoftware.com/。这不是一个超级强大的数据库,但它是免费的,可以完成工作。然而,如果你看到你的应用程序的数据库将来会增长(更多的用户,更多的用法等),你应该使用更强大的数据库,比如SQL或者MySQL。
如果你无论出于何种原因都绝对受限于XML,我会同意Jonathan的建议。
我回答说,让其他人可以看到如何做到这一点:即,如果他们不滥用XML。 – 2009-04-08 12:45:01