数据库VS XML或FlatFiles

时间:2015-04-13 22:59:45

标签: c# sql visual-studio data-storage

我正在开发一个相当简单的报告应用程序。它会(在一段时间后)持有相当数量的数据。作为对项目本身的过度看法,它将记录完成了多少工作,由谁,在刺绣项目中使用了多少针数以及其他易于跟踪数据但随着时间的推移会堆积的数据。在报告时,我希望能够跟踪所有这些,每年,每月,等等。

我只是在寻找存储数据的一些选项。简单的方法是文本文件,但它似乎并不像专业人士那样。对我来说。 SQL数据库似乎过度杀戮,因为这个程序可能只在一台或两台计算机上,所以不需要在它们上面安装SQLlite。我也意识到有一种方法可以使用SQL数据库文件(.mdf' s),但此时我也可以只连接到SQL数据库。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

使用数据库与平面文件的决定实际上将由哪种方法更容易满足您的应用程序的要求。

如果您正在使用适合可用内存的小型数据集,则不需要支持并发访问,外键或关系数据库提供的任何其他功能,那么“使用平面文件(例如XML或JSON)来存储数据没什么错。换句话说,如果您没有从使用数据库中受益,为什么要使用它呢?

对于平面文件的报告,您可能会有一个相应的对象模型,您可以从平面文件中进行水合,然后使用LINQ进行查询。

您也可以考虑使用诸如Repository模式之类的抽象来保护您的其余代码,使其不受您选择的任何方法的详细信息的影响。

答案 1 :(得分:1)

你想存储不同类型的对象(项目,stiches,人等)之间的关系,编写报告,更新数据...我认为SQL数据库非常适合这里并且它不会被过度杀死。如果您使用XML或平面文件,则必须自己实现所有这些功能。使用XML它应该比使用平面文件更容易,但是它会比使用SQL数据库更需要更多工作并且更容易出错。

你不必使用" big"像SQLServer或Oralce这样的数据库。您提到SQLLite似乎是一个不错的选择,因为您不必将它安装在将使用您的程序的每台机器上。它将与您一起分发。