数据库的三范式是什么
设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。一般来说,数据库只需要满足第三范式就行了。
第一范式:列不可再分;(保证每列的原子性)
保证数据库表中的所有字段值都是不可分解的原子值 .
第二范式:行可以唯一区分,主键约束;(保证一张表只描述一件事情)
在满足第一范式的基础上,数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖,也即所有非关键字段都完全依赖于任一组候选关键字。
第三范式:表的非主属性不能依赖与其他表的非主属性,外键约束.(保证每列都和主键直接相关)
第三范式就是,数据库表中如果不存在非关键字段任一候选关键字段的传递函数依赖则符合第三范式,所谓传递函数依赖指的是如果存在"A-->B-->C"的决定关系,则C传递函数依赖于A。也就是说表中的字段和主键直接对应不依靠其他中间字段,说白了就是,决定某字段值的必须是主键。
三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立在第二范式上.
网友评论