数据库设计 – 保持表中更新的值是否可以?

前端之家收集整理的这篇文章主要介绍了数据库设计 – 保持表中更新的值是否可以?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在开发预付卡的平台,该平台基本上保存有关卡及其余额,付款等的数据.

到目前为止,我们有一个卡实体,其中有一个账户实体的集合,每个账户都有一个金额,每次存款/取款都会更新.

现在团队中有一场辩论;有人告诉我们,这打破了Codd’s 12 Rules并且每次付款更新其价值都是麻烦.

这真的是个问题吗?

如果是,我们如何解决这个问题?

解决方法

是的,这是非标准化的,但偶尔的非标准化设计因性能原因而胜出.

但是,出于安全考虑,我可能会采用不同的方法. (免责声明:我目前没有,也没有在金融领域工作过.我只是把它扔到那里.)

在卡片上张贴已发布的余额表.这将为每个帐户插入一行,指示每个期间结束时的过帐余额(日,周,月或任何适当的值).按帐号和日期索引此表.

使用另一个表来保存挂起的事务,这些事务是即时插入的.在每个期间结束时,运行一个例程,将未过帐的交易添加到帐户的最后期末余额以计算新余额.将待处理的交易标记为已过帐,或查看日期以确定尚未处理的交易.

这样,您可以根据需要计算卡余额,而无需总结所有帐户历史记录,并通过将余额重新计算放入专用过帐例程,您可以确保此重新计算的交易安全性仅限于一个地方(并且还限制了余额表的安全性,因此只有过帐例程可以写入它).

然后,只需保留审计,客户服务和性能要求所需的历史数据.

原文链接:https://www.f2er.com/mssql/80136.html

猜你在找的MsSQL相关文章