冗余设计不仅仅是数据库表的事情

作者:vkvi 来源:ITPOW(原创) 日期:2016-7-13

一说到软件设计中的数据冗余,一般首先想到的是数据库设计中的三大范式,其中就提到不要冗余。

其实从业务逻辑层,也应该考虑冗余。

比如:贷款软件中,余额 = 贷款额 - 还款额。如果我们有一个表记录了贷款额,另一个表记录了每个月的还款情况,再有一个表记录了余额,这就是冗余了,如果控制不好,就容易造成“余额 != 贷款额 - 还款额”的情况。

如果软件人员认为软件必须要设计“余额”字段,以便于快速取值,那么得考虑:

  • 余额的更新算法是:余额 = 余额 - 本次还款额?还是全新计算:余额 = 贷款额 - (总)还款额?
  • 余额更新是由数据库管理器的触发器、存储过程来管理?还是由软件代码来管理?

相关阅读

相关文章