将交易条目存储到双条目会计数据库中。
我提出了两个解决方案选项1和选项2,我被告知大多数银行包选择选项2进行数据库设计。但是我更喜欢选项1而不是选项2,因为它只是有意义而且效率更高!
I.e对于资金的2次移动,选项1需要2条记录而选项2需要4条记录。
我想知道为什么银行会选择2而不是选项1?这是什么原因?
Option 1)
TRANSACTION
Credit_AccountId
Debit_AccountId
Amount
...
Option 2)
TRANSACTION
AccountId
Amount
...
答案 0 :(得分:19)
从插入角度来看,选项1可能会更有效。但由于许多会计交易将影响两个以上的账户,因此利益可能大大低于2:1。
对于这些更复杂的交易,选项2将更加清晰。也就是说,会计师通常会找到三行
比两行更清晰
如果您双方都有多个帐户,那么如何将借记和贷记与单个帐户进行匹配也会有点不清楚。也就是说,
可以表示为
但是还有其他可能的方法来构建数据模型2的数据。
此外,如果您尝试通过汇总交易来确定特定帐户的当前余额,则选项2会更有效。
答案 1 :(得分:5)
在一般会计数据库设计中,将您的借方和贷方存储在单个字段(即选项2)中是合乎逻辑且有效的,因为这将简化汇总,数字操作和报告。每个借记和贷记交易都应附加一个日期时间字段,以过滤掉特定时期。从Smashwords获取这本名为“会计数据库设计”的书。它为会计系统设计提供了一些很好的样本,并为财务报告提供了一些有趣的sql查询。