当前位置: 首页MySQL面试题正文 数据库的三范式是什么? MySQL面试题 7 20.0K 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项; 第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性; 第三范式:任何非主属性不依赖于其它非主属性。 MySQL面试题 帅地永久会员 打赏 收藏 海报挣佣金 推广链接
评论(4)
对象拆分的好,基本上就满足三大范式了。
第一范式,字段不可拆分,原子性
第二范式,联合主键情况,字段都应与主键有关联。如成绩表,主键学生id,学科id,不应该出现学生班级信息之类的字段。
第三范式,表不包含多余属性,学生属性属于学生,班级属性属于班级。
1NF:关系中每一分量不可再分。即不能以集合、序列等作为属性。(也就是不能表中套表,要保证数据的原子性。)
2NF:在1NF基础上,消除非主属性对键的部分依赖,则称它符合2NF。
3NF:在2NF基础上,消除非主属性对键的传递依赖,则称它符合3NF。
BCNF:对于关系模式R,如果每一个函数依赖的决定因素都包含键,则R属于BCNF范式。
优秀
BCNF:在3NF基础上,消除主属性对键的部份依赖和传递依赖,(是对第三范式的扩充)
1.非主属性对对候选码的依赖必须全都是完全依赖
2.所有主属性对每一个不包含它的码也是完全依赖
3.没有任何属性完全依赖于非码的任何一组属性
如果达到了BCFN基本就可以消除数据库的数据冗余,插入异常,删除异常,更新复杂的问题