2010-02-20 67 views
2

如果我有賬單(來自供應商)和發票(給客戶),最好是將它們分開(在兩個表格中)還是在單個表格中?單張表中的發票和賬單?

怎麼樣的供應商/客戶?

這些都關係的繼承問題,你能不能給我這方面的一些最佳做法?

+0

請永遠不要使用術語「MSSQL」,無論是在標題或問題,特別是不在標籤中。沒有這樣的產品(稱爲「SQL Server」),它與「MySQL」混淆。 – 2010-02-20 21:51:28

+0

@John Saunders:我不同意,我經常在論壇和其他論壇上看到術語mssql。這是一個非常普遍的速記,並沒有令人困惑。 – 2010-02-20 22:05:11

+0

@John,當人們將它發音爲「續集」時,我個人無法忍受,但我不會因爲個人喜好而告訴人們永遠不要這樣做。 – Josh 2010-02-20 22:14:35

回答

2

在我看來,一個到來的帳單和傳出發票是真的不同的事情:

  • 即將離任的發票將有適合你的產品錶行項目
  • 到來的帳單將有一個非常正式的審批過程中,涉及管理,財務和會計
  • 對到來的帳單的「從」是你的合作伙伴,但在發票上,合作伙伴的名稱是「收件人」

不同的實體應該有自己的表。如果它們具有公共屬性,則可以將它們存儲在Document表中,並在該表與發票和Bill表之間創建關係。

0

在我們的ERP系統,我們有帳單和發票分開;供應商和客戶,我們在一張桌子上。

1

我建議,如果它們是不同的概念,讓他們分開。通常當你開始設計一個數據庫,並且你的表中有相同列的實體時,會產生將它們合併到一個表中的衝動。如果您知道在解決方案期間,您永遠不需要添加特定於客戶的字段或特定於供應商的字段,我會說繼續並將它們放在一張表中。

保持它們分開允許每個實體自身發展爲系統的發展和成熟。

1

危險的道路有很多原因。

我想從邏輯上來說,你可能崩潰的一切到一個表列「的PrimaryKey」和可選列Col1中,col2的,COL3等所有VARCHAR處理可解釋爲其他類型。

特別是在財務數據存在審計線索和歸檔問題的情況下,這是而不是的簡化。

(但它的排序策略,我們都通過一個過渡階段去的... :))