几个常用数据库范式的区别

BC范式(BCNF)
1、所有非主属性对每一个码都是完全函数依赖;
2、所有的主属性对于每一个不包含它的码,也是完全函数依赖;
3、没有任何属性完全函数依赖于非码的任意一个组合。
R属于3NF,不一定属于BCNF,如果R属于BCNF,一定属于3NF。
第一范式(1NF):属性不可拆分或无重复的列
这个简单,就是一个属性不允许再分成多个属性来建立列。事实上,在目前的DBMS中是不可能拆分属性的,因为他们不允许这么做。
第二范式(2NF):完全函数依赖(实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性)
先讲讲什么是部分函数依赖。
部分函数依赖,就是多个属性决定另一个属性,但事实上,这多个属性是有冗余的。
满足第二范式的数据库设计必须先满足第一范式。
因此第二范式的目标就是消除函数依赖关系中左边存在的冗余属性。
第三范式(3NF):消除传递依赖
不依赖于其他非主属性(消除传递依赖)。
满足第三范式的数据库必须先满足第二范式。
也就是,数据库中的属性依赖仅能依赖于主属性,不存在于其他非主属性的关联。
第四范式(4NF)
对于每一个X->Y,X都能找到一个候选码,若关系中的某一属性组的值能唯一地表示一个元组,而其真子集不行,则称该属性组为候选码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值