首页 > 如何对数据的逻辑一致性进行检查

如何对数据的逻辑一致性进行检查

如果写的程序没有问题,在数据库上使用约束,能够避免数据库出现数据一致性的问题,但是随着业务逻辑的迭代,程序会出问题,而且出了问题后由于没有检查方式,无法在第一时间知道。
假设数据库有两个表,

表A:有字段a、b、c
表B:有字段d e f

假设,业务逻辑上需要满足

a = b * e + c
d = f - e

现在的的处理办法是找到大量的公式,写脚本进行检测
我的问题是:


个人想法,分离项目应用层和业务数据层,关闭直接访问数据库入口,在业务数据层写日志,日志分离出致命的错误,脚本定期检查日志,发送警报到微信或者邮箱,用公式检查数据库会影响数据库运行,公式多,数据多的时候应该非常耗时


中间件、数据库触发器、数据库定时存储过程等等...

不过我建议在中间件完成比较好,网页服务器把数据提交给中间件,符合规则的就由中间件保存到数据库,不符合规则的,中间件向网页服务器报错。


我觉得数据库只是存储数据的地方,约束这种东西应该放在业务层中MVC的M来解决。在更新,插入数据库前就在业务逻辑中检查约束。至于已经存在的冲突,那就写个脚本找出来吧。

【热门文章】
【热门文章】