第六章关系数据库理论

6.2规范化–关系的规范化理论

1. 函数依赖

定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等则称“X函数确定Y”或“Y函数依赖于X” 记作X–>Y。X称为这个函数依赖的决定属性组,也称为决定因素。若Y不函数依赖于X,则记为X –> Y.
函数依赖不是指关系模式R的某个或某些关系实例 r 满足的约束条件,而是指R的所有关系实例 r 均要满足的约束条件。

  • 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。
  • 数据库设计者可以对现实世界作强制规定。//如强行规定不允许学生重名,而使函数依赖Sname–>Sno;Sname–>Ssex;Sname–>Sage;Sname–>Sdept成立
  • 函数依赖是指关系模式R在任何十毫克的关系实例均要满足的约束条件。//不是指某个或某些关系实例 r 满足的约束条件,而是指R的所有关系实例 r 均要满足的约束条件。
  1. 平凡函数依赖与非平凡函数依赖
    第六章关系数据库理论

例 非平凡函数依赖:(Sno,Cno)–>Grade
平凡函数依赖: (Sno,Cno)–>Sno
(Sno,Cno)–>Cno
对任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,我们总讨论非平凡函数依赖。

  1. 完全函数依赖和部分函数依赖
    第六章关系数据库理论
  2. 传递函数依赖
    第六章关系数据库理论
    如图,Sno–>Sdept;Sdept–>Mname ==>Sno–>Mname称为传递函数依赖

2.码

第六章关系数据库理论第六章关系数据库理论第六章关系数据库理论*主码和外部码一起提供了表示关系间联系的手段。