数据库范式的选择使用

关系型数据库:关系模式设计原则


1.范式与数据冗余度
从0NF到1NF、2NF、3NF、BCNF、4NF、5NF?
数据库设计的过程是个拆分表的过程,拆分的目的是降低数据的冗余度。


数据的冗余度越低,事务持续时间就越短(它不需要额外的操作去维持数据一致性和完整性)。
与此同时,拆得越细,查询的代价越高(需要更多耗时的连接运算)。

2.关系模式的设计原则


如果表(集)主要用于数据更新(Online),表的分解就应该尽可能接近3NF

BCNF从前面的例子看没有必要,至于4NF、5NF更多属于理论研究领域,在实际应

用中无此必要。


如果表(集)主要用于数据查询(统计、分析),表的分解到1NF、2NF就可以了。

对于常用的查询,甚至可以采用数据持续化技术,

即用专门的表(集)提供对数据查询的支持

 

数据库范式的选择使用

上一篇:Java常用类之比较器


下一篇:mysql修行练级之特定日期数据表清理