函数依赖、键和范式
2017-02-27 19:51
246 查看
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。
相关文章推荐
- 数据库原理--函数依赖和范式
- 关系数据库理论:范式判断、函数依赖、无损分解、正则覆盖
- 关系型数据库、范式、函数依赖
- 数据库范式及函数依赖
- 关系数据库设计基础(函数依赖、无损连接性、保持函数依赖、范式)(转)
- 范式 函数依赖
- 数据库原理重点提示之函数依赖及范式
- 【知识碎片】5:数据库规范化设计中的函数依赖和范式
- 关系模式,函数依赖,范式
- 函数依赖及范式
- 规范化理论-函数依赖-范式-简单粗暴
- exforce_download() -- 对CI中force_download()增强后的函数(不依赖CI)
- 无损连接性、保持函数依赖
- 保持函数依赖的模式分解
- 在函数内的 'rand' 中对带副作用的或依赖于时间的运算符的使用无效
- 【状态压缩DP】函数依赖
- 冒号课堂》连载之十六——函数范式
- 函数依赖
- 传递依赖与范式的问题
- 二、转换成3NF的保持函数依赖的分解