【问题标题】:Accounting Payables/ Receivables database schema应付帐款/应收帐款数据库架构
【发布时间】:2013-01-06 23:47:53
【问题描述】:
我搜索了这个主题,有很多解释要收集。主要是为 a/p 和 a/r 做单独的表格。
我正在考虑另一种方法,将两个表合并为 1,因为 a/c 和 a/r 有 98% 相似,并且仅相差 1 或 2 个属性(例如 a/p:供应商/供应商)。
问题:
是否可以合并 2 个表并将每个事务分类为 Transaction_Type,其值为 Acnt_Payable 或 acnt_Receivable?
我知道这是可能的,但这是一个好习惯吗?以及我的系统在处理Reports时会遇到什么情况?
【问题讨论】:
标签:
database
database-design
database-schema
accounting
【解决方案1】:
您的问题是:“另一个表或另一个列”。鉴于我已经完成了很多 MySql 和会计数据库操作,我会毫不犹豫地将 type 作为额外的列。
报告的处理是您需要重新编写提取报告的代码。拥有额外的列意味着更少的连接(如果您现在拥有它们)。您将需要加强错误检查,因为对已经设计的软件进行更改似乎总是让我措手不及,而我之前没有考虑过设计的细微差别,这突然成为逻辑的范式转变。
我会说从空白画布重写报告代码;在您从“上次”增加的经验和这次重新审视它之间,您可能会做得更好。
恕我直言,就性能方面而言,大多数企业和大多数普通程序员都可以安装现成的 MySql 或 PostgreSQL。当我观察到查询时间超过一秒时,通常是因为我需要添加索引。鉴于此,您可以使用另一个表格,其中包含代表 AR 与 AP(或任何其他人类术语)的 ID,因为我认为数字会提高性能。
一旦公司发现性能确实是个问题,他们就会有资源聘请真正的 MySql 人来解决问题。 讽刺:当然,除非你使用的是 quickbooks,在这种情况下,一旦你超过了每天 20 笔交易的夫妻店,你'重新使软件负担过重。