处理许多统一的SQL表

时间:2011-11-02 22:08:23

标签: .net sql entity-framework

我必须使用WinForms和EF为桌面应用程序设计数据库。 我将有许多类似的对象,如:
1 - document1(代码,发布日期,ammount)
2 - document2(代码,发布日期,OriginDocumentCode,金额)
3 - document3(代码,发布日期,FromPerson,ToPerson,金额)
4 -
5 -

我的问题是:为这些对象制作表格的最佳方法是什么? 一张有很多可空栏目的大桌子;
或者一个小表(标题)与公共列(id,代码,数量)与其他具有不常见列的表(tbldoc3 {headerId,postingDate,FromPerson,ToPerson})具有1:1的关系;

或者为每个文档单独的表而忽略它们的公共列?

任何帮助和建议将不胜感激:)

1 个答案:

答案 0 :(得分:2)

我认为您应该研究的领域称为数据库规范化。它将指导您如何根据数据中的关系存储数据来设计模式。

以下是一些开始的链接:http://en.wikipedia.org/wiki/Database_normalization

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

例如,看起来你所有的对象都包含你所提到的'code','postingdate'和'amount',所以将它分开是有意义的。最终你必须根据有多少数据“不同”来决定。如果它只是几列,我建议采用最简单的解决方案(1个表,可空列)。

祝你好运!