将事务条目存储到双重条目会计数据库中.
我想出了两个解决方案选项1和选项2,我被告知大多数银行包为其数据库设计选择选项2.但是,我更喜欢选项1选项2,因为它只是有意义的,它更有效率!
对于资金的2次移动,选项1需要2个记录,而选项2需要4个记录.
我想知道银行为什么选择方案2选择1?这是什么原因?
Option 1) TRANSACTION Credit_AccountId Debit_AccountId Amount ... Option 2) TRANSACTION AccountId Amount ...
解决方法
从插入的角度来看,选项1可能会更有效率.但由于许多会计交易将会影响两个以上的账户,所以这个收益可能会大大低于2:1.
对于这些更复杂的交易,备选方案2将更加清晰.也就是说,会计通常会找到三行
>借记A $100
> B $60
>信用$40
比两行更清晰
>借记A $60 Credit B $60
>借记A $40 Credit C $40
如果双方有多个帐户,那么如何将借记和贷记与一个帐户相匹配也不清楚.那是,
>借记A $100
>借记B $30
> C $60
>信用D $70
可以表示为
>借记A $60 Credit C $60
>借记A $40信用D $40
>借记B $30信用D $30
但是还有其他可能的方式来构建数据模型2的数据.
此外,如果您通过汇总交易来确定特定账户的当前余额,则选项2将更有效.