关于我项目的数据来源的指导

时间:2013-04-11 21:11:01

标签: c# sql xml winforms

我是一名新手程序员。我充满了理论知识,但我落后于实践。好。我正在尝试制作一个程序,用于向文件添加类别和描述。语言是C#,它应该在Windows 7上运行......

1.类别可以包含子类别。

我不想称它们为“标签”,因为它们不同。类别可以是fx“收藏夹”。但它也可以是:“收藏夹 - >音乐 - > 2013”​​。您可以创建子类别,我将在WinForm上使用TreeView来执行用户可以对其执行的所有操作。

问题:我应该将XML文件用于类别吗?

2.每个文件都有一个描述和一个或多个类别。但是:

  • 即使删除了该文件,我也希望保留其描述,以便以后使用。
  • 文件夹本身将被省略。文件夹本身不能有类别,也不能有描述。但是包含的文件是YES。

我创建了一个非常简单的SQL Server数据库,其中包含一个表:!http://img832.imageshack.us/img832/3931/finalprojectdb.png

问题:这是个好主意吗?也许类别列更适合XML类型?

欢迎提出有关在这种情况下应采取何种最佳方法的建议。提前致谢 !

2 个答案:

答案 0 :(得分:0)

SQL不适合一次获取嵌套数据。您可以使用XML存储内容,这为您提供了很大的灵活性,但您还必须为其编写解析器或反序列化器。现在人们也只是编写一个小Javascript类,并使用像Newtonsoft这样的东西来自动反序列化它。

如果您需要数据库解决方案,如果您不想单独安装数据库,则可以使用嵌入在应用程序中的SQLite。

答案 1 :(得分:0)

对于需要跨平台(比如c#到java),跨网络或跨网络进行通信的应用程序来说,XML是一个很棒的设计。但作为一种将数据存储为表中子集的方法,并不是真的。

规范化数据库是一个了不起的工具。它可以被索引(xml不能),这允许快速查询数据。如果通过在查询列中嵌入xml来对数据进行反规范化,则会很慢,并且会更新/保持痛苦。

我个人更喜欢外键表。