单独表格中的客户资产负债表

时间:2016-12-19 15:07:27

标签: database-design

想要问一个单独的客户平衡表是否可以接受。我不需要像在银行账户资产负债表上那样看到完整的资产负债表,在那里您可以获得所有交易和余额。我只需要在每次客户余额更改时进行记录,因此 Client_balance_sheet 表会在每个账单或交易上获得一条新记录,并且他的当前余额会更新,并且该表只会有关系使用客户表。

我的逻辑是,要以编程方式执行此操作,我必须查询所有客户的订单和交易以获得余额,这将花费更长时间,因为客户端会在数据库中记录越来越多的订单和交易。

因此,每次向客户收费或付款时, Client_balance_sheet 表都会获得新记录。

我想到的另一件事是放弃余额的日期,只计算并记录每笔订单或交易后的当前余额,在的“余额”字段中客户表。

enter image description here

1 个答案:

答案 0 :(得分:1)

我对存储派生数据持谨慎态度,似乎总是找到一种变得不一致的方法,除非你能让DBMS为你管理它。它也不一定会提高性能 - 写入比读取慢,并且会导致锁定和索引更新。在需要时对订单和交易进行计算可能是谨慎的,并且等待它在数据库填充时减慢。

如果您决定存储余额,我建议您查看触发器来管理它。

至于存储具有日期的余额:一次对多个客户的最新记录查询是麻烦的,并且最终可能比从订单和交易计算它更慢。仅存储当前余额将更容易使用。在需要时,您仍可以在任何给定日期计算它。

您的想法都没有错,但它们会产生额外的复杂性和努力。在做这些之前我会等到情况需要它。