2011-11-02 26 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表,可空列)。

祝你好運!