2011-11-02 56 views
2

我必须为WinForms和EF设计桌面应用程序的数据库。 我将有许多类似的对象:
1 - 文档1(代码,postingdate,ammount的)
2 - 文件2(代码,postingdate,OriginDocumentCode,量)
3 - 文件3(代码,postingdate,FROMPERSON,TOPERSON,量)
4 -
5 -处理许多统一的SQL表

我的问题是:是什么力量让这些对象的表的最佳方法?
一个有很多空列的大表;
或者一个带有常用列(id,代码,数量)的小表(标题),与其他具有不常见列的表格(tbldoc3 {headerId,postingDate,FromPerson,ToPerson})建立1:1关系。
或者每个文档的单独表忽略它们的公共列?

任何帮助和建议可以理解的:)

+0

是否有关设计数据库或关于在EF中使用此类模型的问题? –

回答

2

我想你应该考虑的区域被称为数据库规范化。它会指导您如何根据数据中的关系存储数据来设计模式。

这里有一些链接开始:http://en.wikipedia.org/wiki/Database_normalization

http://www.devshed.com/c/a/MySQL/An-Introduction-to-Database-Normalization/

例如,它看起来像你所有的物体含有“代码”,“postingdate”和“量”,正如你所说,这样分隔条件是可能有意义。最终你必须根据多少数据“不同”来决定。如果它只是几列,我会建议使用最简单的解决方案(1表,可空列)。

祝你好运!