当前位置:操作系统 > Unix/Linux >>

数据库Normal Form

数据库Normal Form
 
Normal Form是我们在设计数据库结构过程中所要遵循的规则和指导方法
   www.zzzyk.com  
◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。简而言之,第一范式就是无重复的列。
◆ 第二范式(2NF):首先要满足它是1NF,另外还需要包含两部分内容:一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。简而言之,第二范式就是非主属性非部分依赖于主关键字。
◆ 第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
 
优点:范式可以避免数据冗余,减少数据库的空间,减轻维护数据完整性的麻烦。
缺点:按照范式的规范设计出来的表,等级越高的范式设计出来的表越多。表的数量越多,查询的时间要高很多。也就是说我们所用的范式越高,对数据操作的性能越低。
所以我们在利用范式设计表的时候,要根据具体的需求再去权衡是否使用更高范式去设计表。  www.zzzyk.com  
 
在一般的项目中,我们用的最多也就是第三范式,第三范式也就可以满足我们的项目需求,性能好而且方便管理数据;
当数据量巨大时候我们就要考虑使用“反范式”,也就是添加数据冗余,使查询减少或者避免表之间的关联
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,