部分函数依赖、完全函数依赖、三范式和BCNF范式

介于书本上的概念太过于抽象,且本文的芝士经常在面试中被提及,所以用自己的话解释一下,加深印象。

完全、部分函数依赖

完全函数依赖:X–>Y,对于X的任意一个真子集,都有该真子集无法推出Y,则称Y对X完全函数依赖
部分函数依赖:X–>Y,但是Y不完全函数依赖于X,则称Y对X部分函数依赖。

三范式

一范式:每个分量是不可分的数据项
二范式:满足一范式且表中不存在属性对主键部分函数依赖(即依赖于主键的一部分)
如S(Sno,Sname,age,Cno,grade),主键(Sno,Cno)
grade由Sno,Cno决定,但是Sname,age可只由Sno决定,所以不满足2NF
解决方法:一张表解决一件事
S—>S(Sno,Sname,age),SC(Sno,Cno,grade)
三范式:满足二范式,且不存在属性对于主键传递函数依赖
如:Teacher(T#,sal_level,salary)
T#---->sal_level ,sal_level—>salary
解决方法:分为Teacher(T#,sal_level) ,level(sal_level, salary)

BCNF范式

每个决定因素都含有码,需要消除主属性对码的部分、传递函数依赖

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值