数据库系统概论(一)关系数据理论--函数依赖、码和范式

函数依赖

平凡/非平凡函数依赖

  平凡函数依赖:对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为直接依赖

候选码(Candidate Key)=码

  在R(U,F)中,K为U的属性或者属性集合,若KU,则称K为候选码

  超键(Super Key)

    能够唯一标识一条记录的属性或属性集

    若U部分函数依赖于K,即KU,则K为超码

    候选码是最小的超码

    超码包含候选键

    超键不一定是码,候选键和主键才是

  主码(Primary Key)

    若R有多个候选码,选一个作为主码

  主属性(Prime Attribute)与非主属性(Nonprime Attribute)

    包含在任意一个候选键中的属性都被称为主属性

    不包含在任意一个的候选键中的属性被称为非主属性

  全码(ALL-Key)

    整个属性值U就是码(候选键),则U被称为全码

  外码(Foreign Key)  

    关系模式R(U,F)中属性或属性组X并非R的码,但是是另外一个关系模式的码,则X称为外码

规范化

  关系数据库中的关系满足某一定的要求,不同程度的要求称为范式

  一个低一级范式的关系模式,通过模式分解(Schemm Decomposition)转化为更高级的范式,被称为规范化

  1NF

    一个关系模式R(U,F)所有属性都是不可分割的基本数据项

    不满足第一范式的数据库模式不能称为关系数据模式

  2NF

    在1NF的基础上,去除非主属性对码(候选码)的部分函数依赖,即每一个非主属性都是完全依赖于主键的

  3NF

    在2NF的基础上,消除非主属性对码(候选码)的传递依赖

  BCNF

    在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.所有主属性对不包含它的码也是完全依赖

猜你喜欢

转载自www.cnblogs.com/yasheng/p/12430327.html
今日推荐