如何在数据库中保证货币(USD)余额

时间:2018-01-02 04:24:39

标签: database security payment

我想知道人们如何安全地将资金余额存储在数据库中。例如,您如何确保数据库管理员不修改余额或交易?如何确保流氓员工无意或无意进行交易的代码无法正常工作。

银行,PayPal以及以美元或任何其他货币持有余额的任何其他应用都应该出现此问题

1 个答案:

答案 0 :(得分:0)

我使用的所有银行套餐都将余额存储在帐户实体中。从运动历史中动态计算它是不可想象的。

正确的方法是:

  • 移动桌有一个开口 平衡'每个帐户的交易。你需要 这在几年的时间里 需要将旧动作移出 主动运动表到历史 表
  • 帐户实体有余额 字段
  • 机芯上有一个触发器 更新帐户的表 贷记和借记账户的余额。显然,它有承诺 控制。如果您无法触发,那么需要一个唯一模块,该模块会在承诺控制下编写动作
  • 你有一个安全网'给你编程 可以离线运行,重新计算 所有的余额和显示(和 可选地纠正)错误 余额。这非常有用 测试

有些系统将所有动作存储为正数,并通过反转from / to字段或带有标志来表示信用/借记。就个人而言,我更喜欢信用额度,借记字段和签名金额,这使得逆转更容易理解。

请注意,这些方法适用于现金和证券。

证券交易可能会更加棘手,特别是对于公司行为,您需要提供一笔交易,以更新一个或多个买方和卖方的现金余额,其担保头寸余额以及可能的经纪人/存款。

来自smirkingmanDatabase design: Calculating the Account Balance 回复