1、数据冗余也包括重复性冗余和派生冗余,重复性冗余一定要避免,杜绝,但是像派生冗余还是提倡的因为它能提高访问的效率。比如工人表里有"基本工资","奖金"两列,然后还有一个"总工资"的列,这个总工资就是派生冗余。
2、不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性
3、表和表之间也不应用强关联来表述业务,对脏数据有一定的容忍性
初步得出设计表的两种方式,一种是往简单里设计,再复杂化,第二种是往复杂设计,再简化。哪种好呢...
http://www.cnblogs.com/Rising/archive/2010/10/09/1846299.html
http://www.cnblogs.com/Rising/archive/2010/10/09/1846308.html
两篇不错的博文