冗余带来的麻烦

坐席管理系统中

有个所属组字段,user_group

users表中有 user_id user_group

user_groups表中有user_group group_name

 

正常情况下,知道user_id就可以关联查询到group_name了。

修改用户信息时,user_group改变,用户的所属组也就改变了。

 

延伸出来的订单表order中,为了方便起见,也包含了user_id,user_group。

所有的统计都基于order表。

 

问题来了,一旦users表改变,也就是用户所属组改变,并没有把order订单表中的user_group数据改变。

统计信息的时候就会不知道该以谁作为真正的组,是订单表呢,还是users表呢?

 

很多相关的,包含user_group的代码都要改变。

还要一点点的检查核对。

 

冗余是用空间换时间。

可以减轻查询负担,但是会造成数据不统一。

 

正常的表之间,通过外键,关联查询就行了。

posted @ 2015-11-24 13:57  TBHacker  阅读(355)  评论(0编辑  收藏  举报