函数依赖、键和范式

1.函数依赖

X→Y,表示Y依赖于X;
X→Y,且Y→X不成立,Y→Z,则X→Z,表示Z传递依赖于X。

2.键

主属性:表示在候选键中的属性;

超键:是指能够唯一标识一个元组的属性集;

候选键:能够唯一标识一个元组,且不含多属性;

主键:用户选作元组标识的候选键;
外键:本联系中不作为主键,单在其他关系中作为主键的属性或属性组。

3.图解法求候选键

步骤:
        a.用有向图表示出关系中的函数依赖;
        b.找出入度为0的属性,以该属性集合为起点,遍历有向图,若能遍历图中所有节点,则该属性集为候选键;若不能,则加入一些中间节点并入该集合,直到该集合能够遍历有向图所有节点为止,该集合为候选键。

4.范式

(1)1NF:关系中的所以属性值都是不可分割的原子值;
(2)2NF:如果关系是1NF,且每个非主属性都完全依赖于候选键;
(3)3NF:如果关系是1NF,且每个非主属性都不传递依赖于候选键;
(4)BCNF:如果关系是1NF,且每个属性都不传递依赖于候选键。

例:建立一个供应商、零件数据库。其中“供应商”表S(Sno,Sname,Zip,City)分别表示:供应商代码、供应商名、供应商有编、供应商所在城市,其函数依赖为:Sno→(Sname,Zip,City),Zip→City。“供应商”表S属于2NF。

判断方法:
(1)用有向图表示出关系中的函数依赖;



(2)找到入度为0的属性Sno,遍历有向图,可知,可完全遍历关系中的所有属性,则Sno为该关系的候选键;

(3)判断该关系属于第几范式:该关系中的所以属性都是原子值,且所以的而非主属性(Sname,Zip,City)都完全依赖于主属性Sno,则该关系符合2NF,Zip→City表明该关系中非主属性存在传递函数依赖,则不符合3NF。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值