《数据库系统概念》第八章:关系数据库设计

函数依赖理论


Armstrong定理(Armstrong's axiom)

  • 自反律(reflexivity rule):\alpha为一属性集且\beta \subseteq \alpha,则\alpha \rightarrow \beta成立
  • 增补律(augmentation rule):\alpha \rightarrow \beta成立且\gamma为一属性集,则\gamma \alpha \rightarrow \gamma \beta成立。
  • 传递律(transitivity rule):\alpha \rightarrow \beta\beta \rightarrow \gamma成立,则\alpha \rightarrow \gamma成立。

另外的一些规则:

  • 合并律(union rule):\alpha \rightarrow \beta\alpha \rightarrow \gamma成立,则\alpha \rightarrow \beta\gamma成立。
  • 分解律(decomposition):\alpha \rightarrow \beta\gamma成立,则\alpha \rightarrow \beta\alpha \rightarrow \gamma成立。
  • 伪传递律(pseudotransitivity rule):\alpha \rightarrow \beta\gamma \beta \rightarrow \delta成立,则\alpha \gamma \rightarrow \delta成立。

逻辑蕴含(logically imply):如果函数依赖集F能推出函数依赖f,则称fF逻辑蕴含。

函数依赖集的闭包(closure):F为一个函数依赖集,F的闭包是被F逻辑蕴含的所有函数依赖的集合,记作F^{+}

《数据库系统概念》第八章:关系数据库设计_第1张图片

函数确定(functionally determine):如果\alpha \rightarrow B,我们称属性B\alpha函数确定。

属性集的闭包:\alpha为一个属性集,我们将函数依赖集F下被\alpha函数是确定的所有属性的集合成为F\alpha的闭包,记为\alpha^{+}

《数据库系统概念》第八章:关系数据库设计_第2张图片


部分函数依赖(partial functional dependency):如果X\rightarrow Y,存在X^{'}X的一个子集使,得X^{'}\rightarrow Y,则称Y部分依赖于X

完全函数依赖(Full functional dependency):如果X\rightarrow Y存在X^{'}X的一个子集,使得X^{'}\rightarrow Y,则称Y完全依赖于X

传递函数依赖(transitive functional dependency):如果X\rightarrow YY\rightarrow Z,则称Z传递依赖于X

平凡的(trivial)函数依赖:如果Y\subseteq X,则称X\rightarrow Y这个函数依赖是平凡的。

多值依赖(Multivalued Dependency):R(U)是属性集U上的一个关系模式。XYZ是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X\rightarrow \rightarrow Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。


无关属性(extraneous attribute):如果去除函数依赖中的一个属性不改变该函数依赖集的闭包,则称该属性是无关的。

正则覆盖(canonical cover)F的正则覆盖F_{c}是一个依赖集,使得F逻辑蕴含F_{c}中的所有依赖,并且F_{c}逻辑蕴含F中的所有依赖。此外F_{c}必须既有如下性质:

  • F_{c}中任何函数都不含无关属性。
  • F_{c}中函数依赖的左半部都是唯一的。

《数据库系统概念》第八章:关系数据库设计_第3张图片

 


无损分解/无损连接分解(lossless decomposition):

  • R_{1}R_{2}R的无损分解,当且仅当\prod R_{1}(R)\Join \prod R_{2}(R)=R
  • R_{1}R_{2}R的无损分解,当且仅当R_{1}\cap R_{2}R_{1}R_{2}的超码。

有所分解/有损连接分解(lossy decomposition):不是无损分解的分解成为有损分解。


限定(restriction):F为模式R上的一个函数依赖集,R_{1}R_{2}……R_{n}R的一个分解。FR_{i}上的限定是F^{+}中所有只包含R_{i}中属性的函数依赖的集合F_{i}

保持依赖的分解(dependency-preserving decomposition):F^{'}=F_{1}\cup F_{2}\cup...\cup F_{n}如果F^{'^{*}}=F^{*},则该分解保持依赖。

保持依赖的算法可以直接按照定义算,也可以按下图所示:​​​

《数据库系统概念》第八章:关系数据库设计_第4张图片


范式

原子域:一个域是原子的(atomic)当且仅当该域的元素是不可分的单元。

主属性(Prime attribute):如一个属性是构成某一个候选码的属性集中的一个属性,则称它为主属性。

非主属性:主属性以外的属性。

第一范式(First Normal Form,1NF):如果关系模式R的所有属性的域都是原子的,那么R属于第一范式。

第二范式(Second Normal Form,2NF):关系模式R属于第一范式,且消除了非主属性对候选码的部分依赖。

第三范式(Second Normal Form,2NF):关系模式R属于第二范式,且消除了非主属性对候选码的传递依赖。

Boyce-Codd范式(Boyce-Codd Normal Form,BCNF):关系模式R属于第三范式,且消除了主属性对候选码的部分或传递依赖。

第四范式(Fourth normal form,4NF):关系模式R属于第三范式,且消除了非主属性对候选键以外属性的多值依赖。


[参考资料]:《数据库系统概念》 机械工业出版社

你可能感兴趣的:(数据库)