我们正在开发预付卡的平台,该平台基本上保存有关卡及其余额,付款等的数据.
到目前为止,我们有一个卡实体,其中有一个账户实体的集合,每个账户都有一个金额,每次存款/取款都会更新.
现在团队中有一场辩论;有人告诉我们,这打破了Codd’s 12 Rules并且每次付款更新其价值都是麻烦.
这真的是个问题吗?
如果是,我们如何解决这个问题?
解决方法
是的,这是非标准化的,但偶尔的非标准化设计因性能原因而胜出.
但是,出于安全考虑,我可能会采用不同的方法. (免责声明:我目前没有,也没有在金融领域工作过.我只是把它扔到那里.)
在卡片上张贴已发布的余额表.这将为每个帐户插入一行,指示每个期间结束时的过帐余额(日,周,月或任何适当的值).按帐号和日期索引此表.
使用另一个表来保存挂起的事务,这些事务是即时插入的.在每个期间结束时,运行一个例程,将未过帐的交易添加到帐户的最后期末余额以计算新余额.将待处理的交易标记为已过帐,或查看日期以确定尚未处理的交易.
这样,您可以根据需要计算卡余额,而无需总结所有帐户历史记录,并通过将余额重新计算放入专用过帐例程,您可以确保此重新计算的交易安全性仅限于一个地方(并且还限制了余额表的安全性,因此只有过帐例程可以写入它).
然后,只需保留审计,客户服务和性能要求所需的历史数据.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。