文章目录
一、函数依赖
1.函数依赖的定义
【definition】函数依赖
设R(U)是属性集合U={A1,A2,A3…,An}上的一个关系模式,X,Y是U上的两个子集,若对R(U)的任意一个可能的关系r,r中不可能有两个元组满足在X中的属性值相等而与Y中的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,记作X→Y。
2.函数依赖的示例
(在属性A相同时,属性B也相同就是属性B依赖于属性B)
3.函数依赖的特性
4.函数依赖的提取练习
二、完全函数依赖与传递函数依赖
1.部分函数依赖与完全函数依赖的定义
【definition】部分或完全函数依赖
2.传递函数依赖的定义
三、函数依赖相关的几个概念
1.候选键的定义
【definition】候选键(唯一性,最小性)
说明;
1.可任选一候选键作为R的主键(Primary Key);
2.包含在任一候选键中的属性称为主属性(Primary Attribute),其他属性称为非主属性;
3.若K是R的一个候选键,K属于S,则称S为K的一个超键(Super Key)。
这里的主键就是学号或课号。主属性就是学号或课号。
2.外来键的定义
若D(U)中的属性或属性组合X并非R的候选键,但X却是另一关系的候选键,则称X为R的外来键(Foreign Key),简称外键。
3.逻辑蕴含的定义
【definition】逻辑蕴含
4.闭包
被F逻辑蕴含的所有函数依赖集合称为F的闭包(Closure),记作F+。
四、关于函数依赖的公理和定理
1.函数依赖的Armstrong公理
公理的作用是由已知的函数依赖推导出隐含的函数依赖。
2.关于函数依赖的推论一一定理
3.属性闭包
【definition】属性(集)闭包
五、函数依赖集的最小覆盖
1.覆盖的概念
【definition】覆盖
2.属性闭包的计算算法
六、函数集的最小覆盖
1.函数依赖集的性质
【引理6】每个函数依赖集F可被一个其右端至多有一个属性函数依赖集G覆盖。
2.最小覆盖
定理:每个函数依赖集F都有等价的最小覆盖F’。
定理:每个函数依赖集F都有等价的最小覆盖F’。
总结:
七、关系的第1范式和第2范式
1.关系的1NF
【definition】1NF
若关系模式R(U)中关系的每个分量都是不可分的数据项(值,原子),则称R(U)属于第一范式,记为:
2.关系的2NF
【definition】2NF
若R(U)属于1NF且U中的每一非主属性完全依赖于候选键,则称R(U)属于第二范式,记为:R(U)属于2NF。
第二范式消除了非主属性对候选键的部分依赖。
八、关系的第三范式和Boyce-Codd范式
1.关系的3NF
【definition】3NF
第三范式消除了非主属性对候选键的传递依赖。
例:
关系模式分解成3NF
2.关系的BCNF
【definition】BCNF
例;
【定理】若R(U,F)属于BCNF,则R(U,F)就一定属于第二范式。