【发布时间】:2014-10-21 01:45:35
【问题描述】:
我正在开发一个应用程序,我必须在其中存储一些银行账户信息,包括每日账户余额。
例如:
17/10/2014 - (+) - Starting/Initial balance - 5,000.00
17/10/2014 - (=) - Balance - 5,000.00
-
18/10/2014 - (-) - Payment - (1,000.00)
18/10/2014 - (=) - Balance - 4,000.00
-
19/10/2014 - (=) - Balance - 4,000.00
-
20/10/2014 - (-) - Payment - (1,000.00)
20/10/2014 - (=) - Balance - 3,000.00
我想我可以创建一个特定的“account_balance”表,我可以在其中存储每天的每个帐户余额。
如果我错了,你能帮我找到最好的方法吗?但是,如果我是对的,如何让数据库计算每日余额,特别是当用户开始编辑旧值时如何让数据库更新余额?
我所说的“旧价值观”是指:
1 - 这是“帐户 A”语句的样子:
18/10/2014 - (+) - Starting/Initial balance - 5,000.00
18/10/2014 - (=) - Balance - 5,000.00
-
19/10/2014 - (=) - Balance - 5,000.00
-
20/10/2014 - (=) - Balance - 5,000.00
2 - 但是用户忘记注册收入,所以他通过添加新收入来注册(所以现在必须更新余额):
18/10/2014 - (+) - Starting/Initial balance - 5,000.00
18/10/2014 - (+) - Sales commission - 2,500.00 <- USER ADDED THIS.
18/10/2014 - (=) - Balance - 7,500.00 <- THIS BALANCE HAS BEEN UPDATED.
-
19/10/2014 - (=) - Balance - 7,500.00 <- THIS BALANCE HAS BEEN UPDATED.
-
20/10/2014 - (=) - Balance - 7,500.00 <- THIS BALANCE HAS BEEN UPDATED.
【问题讨论】:
-
只存储交易并使用视图显示实际余额怎么样?
-
@RADAR 我来看看。谢谢!
-
@EricB.,你能详细说明一下吗?我从更大的数据库结构开始。
-
你真的需要存储每日账户余额吗? (某些应用程序确实可以;大多数应用程序确实没有。)在您允许编辑值之前,请三思而后行。如果您允许编辑,您的会计师可能会追捕您并用锋利的棍子戳您的眼睛。它们用于插入补偿事务,而不是编辑错误事务。
标签: mysql sql database postgresql balance