目前遇到一个不太好取舍的东西。
1、如果使用比较精炼的数据库设计方案,例如表B与表A通过ID关联,相应的属性列的值通过表达式列来处理;而表C又与表B关联,相应的属性列也通过表达式列处理
2、但这样一来,就有一个问题,当各个表有数据权限时,用户登录,表ABC分别加载数据时,表达式列的公式影响,这就相当于批量修改了表A和表B的列,数据量大了以后会明显降低效率
3、如果做数据库冗余,在数据同步上又会有比较大的麻烦,例如商品的名称改动一下,其它所有引用到名称的表都要同步修改,这个也不合适
一般情况下,如何处理为好?
冗余关联都用。增加一个审核机制,一旦审核的数据,就不再更改。商品的名称改动一下,就只改未审核的数据。旧数据如果需要看新名称,另外通过查询表关联取数据