- 函数依赖
- 设R(U)是属性集U上的关系模式,X,Y是U的子集。若对R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称为X函数决定Y,也可以称作Y函数依赖于X,记作X—>Y。
- 一句话解释:在Y上任何一个属性值,在X上对应一个唯一的值。即称作X—>Y。
- 完全函数依赖
- 在R(U)中,如果X—>Y,并且对于X的任何一个真子集X’都有X’不能决定Y,则称为Y对于X完成函数依赖,记为X—>Y。
- 解释:用X中全部的值才能决定Y。
- 传递依赖
- 在R(U,F)中,如果X—>Y,Y⊈X(表示集合Y不是集合X的子集),Y—>Z,则Z对X传递依赖。
- 非键属性
- 不是构成主键的属性。
- 候选码
- 关系中的一个属性或者一组属性可以唯一的标识一个元组。
- 非主属性
- 不包含在各个候选键中。
- 第一范式(1NF):所有的属性不可再分;(确保每列保持原子性)
- 要求:每一个分量必须是不可分的数据项。
- 特点:
- 1)有主键,且主键不能为空。
- 2)字段不能再分。
- 第二范式(2NF):非键属性完全依赖于主键;(确保表中的每列都和主键相关)
- 根据2NF的定义,判断的依据实际上就是看数据表中是否存在非主属性对于码的部分函数依赖。若存在,则数据表最高只符合1NF的要求,若不存在,则符合2NF的要求。
- 第三范式(3NF):非主性属性没有传递依赖;(确保每列都和主键列直接相关,而不是间接相关)
- BCNF:任何一个函数依赖中决定因素都是候选码;