1.基本概念:类似中学学的函数,给定一个X,有一个Y值与之对应。即X函数决定Y,或Y函数依赖于X,表示为X→Y。
2.术语和符号:关系模式R(a1,a2,.....,an)其中R为关系名,a1,a2...an为各属性名,等同于R(U),U为属性名集合。
(1)如果X→Y,但Y不包含于X,则称X→Y为非平凡的函数依赖,一般而言讨论的皆是非平凡的函数依赖
(2)如果Y不函数依赖于X,则记作X不→Y。
(3)如果X→Y,则称X为决定因子。
(4)如果X→Y,并且Y→X,则记作X↔Y。
(5)若X→Y,并且对于X的一个任意真子集X'都有X'不→Y,则称Y完全函数依赖于X;若X'→Y成立,则称Y部分函数依赖于X。
3.函数依赖推理规则
(1)Armstrong公理
【1】自反律
【2】增广律
【3】传递律
(2)Armstrong公理推论
【1】合并规则
【2】分解规则
【3】伪传递规则
【4】复合规则
4.闭包和备选键
闭包定义:F是R的函数依赖集,被F逻辑蕴涵的函数依赖的集合称为F的闭包
记作F+
属性集闭包:属性集X的闭包X+ = {属性A | X→A在F+中}
候选键求解方法:
- L类:只出现在→左边的属性,必为候选键之一,若X+包含了R的所有属性,则X是唯一的候选键
- R类:只出现在→右边的属性,则它是非主属性
- N类:在→两边都没出现过的属性,它是主属性
- LR类:在→左右两边都出现过的属性,且X+包含了R的所有属性,则X是唯一的候选键
极小函数依赖集: F中每个函数依赖的左部不存在多余的属性,记作Fmin。