平凡函数依赖:对X→Y,Y⊆X
非平凡的函数依赖:对X→Y,Y?X
在后续讨论中,均以非平凡函数依赖进行讨论
在关系模式R(U)中,若X→Y,且x的任何一个真子集X‘不存在X→Y,则称Y完全函数依赖于X
X→Y,Y!→X,Y→Z,称X→传递Z为传递依赖
X→Y,Y←X,称X←→Y为直接依赖
在R(U,F)中,K为U的属性或者属性集合,若KU,则称K为候选码
能够唯一标识一条记录的属性或属性集
若U部分函数依赖于K,即KU,则K为超码
候选码是最小的超码
超码包含候选键
超键不一定是码,候选键和主键才是
若R有多个候选码,选一个作为主码
包含在任意一个候选键中的属性都被称为主属性
不包含在任意一个的候选键中的属性被称为非主属性
整个属性值U就是码(候选键),则U被称为全码
关系模式R(U,F)中属性或属性组X并非R的码,但是是另外一个关系模式的码,则X称为外码
关系数据库中的关系满足某一定的要求,不同程度的要求称为范式
一个低一级范式的关系模式,通过模式分解(Schemm Decomposition)转化为更高级的范式,被称为规范化
一个关系模式R(U,F)所有属性都是不可分割的基本数据项
不满足第一范式的数据库模式不能称为关系数据模式
在1NF的基础上,去除非主属性对码(候选码)的部分函数依赖,即每一个非主属性都是完全依赖于主键的
在2NF的基础上,消除非主属性对码(候选码)的传递依赖
在3NF中,依然有可能存在主属性传递依赖或者部分依赖的情况,如
关系模式STC(S,T,C)中,S表示学生,T表示教师,J表示课程。
函数依赖:(S,C)→T,(S,T)→C, T→C 其中,(S,C)和(S,T)都是候选码。
可以看出STJ是属于第三范式的,因为没有哪一组依赖关系中,非主属性传递或者部分依赖于码(候选码)(记住是非主属性,T在候选码中),但它不属于BC范式,因为T是决定因素,T不包含码(候选码的任何一个真子集都不能叫候选码)
则BCNF具有两个特征:
1.所有非主属性完全依赖于每一个码
2.所有主属性对不包含它的码也是完全依赖
原文:https://www.cnblogs.com/yasheng/p/12430327.html