数据库之关系范式

本文深入解析数据库规范化过程,从1NF到3NF再到BCNF,详细阐述了每一步规范化的概念及判断方法,帮助读者理解如何消除冗余和依赖,确保数据的一致性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

1NF:每个属性都是原子的
2NF:在第一范式的基础上,其非主属性完全函数依赖键。
判断方法:
1.所有函数依赖左边是超键。
2.若右边是非主属性则:所有的非平凡函数依赖左边是超键或者有非主属性
易错点:如R=(A,B,C,D,E)。AB为键,AB->C,AD->E,AB->D.则关系R属于2NF,AD->E这个可以看做传递依赖 AB->D,AD->E,即E完全函数依赖于AB
3NF:关系R满足2NF,且不存在非主属性对候选键的传递依赖。
eg. R=(A,B,C,D,E),键{A,B}, AB->C, AC->D,D->E,这个函数依赖存在两个传递依赖,AB->C, AC->D 和 AB->D, D->E。
注意!!!一定是非主属性候选键的传递依赖。
易错点:如R={A,B,C}。AB->C,C->B,主键AB,此关系符合3NF,因为B是主属性,所以不是非主属性对候选键的传递依赖。
BCNF:
判断方法2种:
1:所有的函数依赖不存在非平凡函数依赖
2:若有非平凡函数依赖,则所有的非平凡函数依赖左边为键。
特判:只有两个属性的关系模式一定为BCNF。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值