数据库设计:账户余额存储在哪里?

3

1
我会说账户表,因为账户余额应该与账户信息绑定在一起。 - user1211577
1个回答

1
根据规范化的规则,您不应存储可以从其他数据计算出来的内容。
话虽如此,哪家银行不存储呢?这就是您需要去规范化以提高性能的地方,因为余额在系统的许多部分中都被使用,每次需要余额时都进行所有交易的计算是不可能的。
有一种替代方法是拥有一个在夜间计算的合并值,但然后根据上次合并以来的交易调整该值。

这不仅是不可能的,而且也是不合法的。你不需要账户价值,但需要数字和时间戳。你需要知道审计目的下该时刻的价值是多少。 - TomTom
@TomTom,感谢您的法律见解。我只是从技术角度出发,但您必须考虑法律因素。 - Aliostad
2
是的。记得账户报表。即使您几周后取消了某笔交易,1月13日的报表也必须保持相同的样子 ;) 这就是为什么您永远不应该更正数值,而应该始终提供对冲交易。此外,您可能会有尚未生效的交易(到期日在未来);) - TomTom
1
由于交易是在创建交易时计算的,那么“待处理”交易会发生什么情况?(如果待处理交易失败或已完成,会发生什么情况?) - 001

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接