- 函数依赖:设R(U)是属性集U上的关系模式。X、Y是属性集U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。(即只要X 上的属性值相等,Y上的值一定相等)。
- 完全函数依赖:(full)在R(U)中,如果X→Y,并且对于X 的任何一个真子集X',都有,则称Y对X完全函数依赖,记作。(即只要X删去一个属性,就不再决定Y,即为完全函数依赖)
- 部分函数依赖:(partial)若X→Y,但Y不完全函数依赖于X,则称Y 对X 部分函数依赖,记作:
- 传递函数依赖:在R(U)中,如果则称Z对X传递函数依赖。(即只要两个依赖关系中的三个属性组不互相完全包含,Y对X不函数依赖,Z对X不函数依赖,就构成传递函数依赖)
- 候选码:设K为R<U,F>中的属性或属性组合,若,则K为R的候选码。
- 主码:若候选码多于一个,则选定其中的一个为主码。
- 外码:关系模式R中属性或属性组X并非是R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码。
- 全码:整个属性组是码,称为全码。
- 主属性:包含在某一候选码中的一个属性称为主属性。
- 非主属性:不包含在任一候选码中的一个属性。也即除主属性外的其他属性称为非主属性。
- 超键: 在关系中能唯一标识元组的属性集称为关系模式的超键,可以包含非主属性。
- 1NF:关系模式R 的每一个分量是不可再分的数据项。 (即关系模式最起码的要求)
- 2NF:关系模式R∈1NF,且每一个非主属性完全函数依赖于码,(即进一步消除了非主属性对候选码的部分函数依赖。)
- 3NF:关系模式R<U,F>中不存在这样的码X、属性组Y及非主属性A,且,则符合第三范式。(即进一步消除了非主属性对侯选码的传递函数依赖)
- BCNF:关系模式 R<U,F> ∈ 1NF, X→Y且Y不是X的子集时,X必含候选码。即没有不依赖于候选键的函数依赖存在。(即进一步消除了主属性对候选码的部分和传递函数依赖)
- 多值依赖:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且关系模式R(U)中多值依赖x→→y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组y的值,这组值仅仅决定于X值而与Z值无关。
- 4NF:关系模式每如果对于R 的每个非平凡多值依赖X→→Y(Y不是X 的子集,Z=U-X-Y不为空),X 都含有码。 (即进一步消除了非主属性对候选键以外属性的多值依赖)
- 逻辑蕴涵:设F是关系模式R(U)中的一个函数依赖集合,X, Y是R的属性子集,如果从F中的函数依赖能够推导出X→Y,则称F逻辑蕴涵X→Y, 或称X→Y是F的逻辑蕴涵。
- 闭包:被F逻辑蕴涵的所有函数依赖集合称为F的闭包(Closure),记作 F+。 说明:若F+=F, 则说F是一个全函数依赖族(函数依赖完备集)。
9.1问题的提出
9.2规范化理论
9.2.1函数依赖
不能消去任何属性的决定因素,符合完全函数依赖。
9.2.2范式
1NF
2NF
3NF
BCNF
多值依赖
4NF
9.2.3数据依赖的公理化系统
9.2.4模式分解
9.2.4.1无损连接