2010-02-20 31 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处理可解释为其他类型。

特别是在财务数据存在审计线索和归档问题的情况下,这是而不是的简化。

(但它的排序策略,我们都通过一个过渡阶段去的... :))