导图社区 数据库系统概论-第六章
华中师范大学情报学考研初试参考书,关系数据理论,问题的提出,规范化,数据依赖的公理系统知识点总结。希望对大家有帮助~
编辑于2022-06-04 15:33:23关系数据理论
问题的提出
产生
针对一个具体问题,应该如何构造一个适合于它的数据库模式,即应该构造几个关 系模式,每个关系由哪些属性组成等。这是数据库设计的问题。因此,人们就以关 系模型为背景来讨论这个问题,形成了数据库逻辑设计的一个有力工具---关系数 据库的规范化理论。 一个关系模式应当是一个五元组。 R(U,D,DOM, F),可以简化为一个三元组: R<U,F>
数据依赖
数据依赖是一个关系内部属性与属性之间的一种约束关系。这种约束关系是通过属 性间值的相等与否体现出来的数据间相关联系。它是现实世界属性间相互联系的抽 象,是数据内在的性质,是语义的体现。 一个好的模式应当不会发生插入异常、删除异常和更新异常,数据冗余 应尽可能少。
规范化
函数依赖
函数依赖定义
定义
定义 6.1 设 R(U)是属性集 U 上的关系模式,X,Y 是 U 的子集。若对于 R(U) 的任意一个可能的关系 r,r 中不可能存在两个元组在 X 上的属性值相等,而在 Y 上的属性值不等,则称 X 函数确定 Y 或 Y 函数依赖于 X,记作 X→Y。 函数依赖和别的数据依赖一样是语义范畴的概念,只能根据语义来确定一个函数依 赖。设计者也可以对现实世界作强制性规定。 注意:函数依赖不是指关系模式 R 的某个或某些关系满足的约束条件,而是指 R 的一切关系均要满足的约束条件。
术语和记号
P180
完全函数依赖和部分函数依赖
在 R(U)中,如果 X→Y,并且对于 X 的任何一个真子集 X’,都有 X’ Y,则称 Y 对 X 完全函数依赖,记作 X F Y。 若 X→Y,但 Y 不完全函数依赖于 X,则称 Y 对 X 部分函数依赖,记作 X P Y。
传递函数依赖
在 R(U)中,如果 X→Y(Y X),Y X,Y→Z,Z Y 则称 Z 对 X 传递 函数依赖。记作 X 传递 Y。
码
候选码
定义 6.4 设 K 为 R<U,F>中的属性或属性组合,若 K F U 则 K 为 R 的候选码。 若候选码多于一个,则选定其中的一个为主码。 包含在任一个候选码中的属性称为主属性;不包含在任何候选码中的属性称为非主 属性。 最简单的情况,单个属性是码;最极端的情况,整个属性组是码,称为全码。
外码
定义 6.5 关系模式 R 中属性或属性组 X 并非 R 的码,但 X 是另一个关系模式的码, 则称 X 是 R 的外部码,也称外码
范式
范式的概念
关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。所谓 “第几范式”原本是表示关系的某一种级别,所以常称某一关系模式 R 为第几范式。 现在则把范式这个概念理解成符合某一种级别的关系模式的集合,即 R 为第几范式 就可以写成 R xNF 对于各种范式之间的关系有 5NF 4NF BCNF 3NF 2NF INF 成立。
规范化
一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模 式的集合,这种过程就叫规范化。
2NF
第一范式的概念
作为一个二维表,关系要符合一个最基本的条件:每一个分量必须是不可分的数据 项。满足了这个条件的关系模式就属于第一范式(1NF)。 1NF 是对关系模式最起码 的要求,不满足 1NF 的数据库模式不能称为关系数据库;但满足 1NF 的关系模式并 不一定是一个好的关系模式。
第二范式的定义
定义 6.6 若 R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则 R∈ 2NF
3NF
定义 6.7 设关系模式 R<U,F>∈1NF,若 R 中不存在这样的码 X,属性组 Y 及非 主属性 Z(Z Y)使得 X→Y,Y→Z 成立,Y X,则称 R<U,F>∈3NF。 由定义 6.7 可以证明,若 R∈3NF,则每一个非主属性既不传递依赖于码,也不部分 依赖于码。也就是说,可以证明如果 R 属于 3NF,则必有 R 属于 2NF。
BCNF
定义
定义 6.8 关系模式 R<U,F>∈1NF,若 X→Y 且 Y X 时 X 必含有码,则 R<U,F >∈ BCNF。 也就是说,关系模式R<U,F>中,若每一个决定因素都包含码,则R<U,F>∈ BCNF。 一个满足 BCNF 的关系模式有: 所有非主属性对每一个码都是完全函数依赖。 所有主属性对每一个不包含它的码也是完全函数依赖。 没有任何属性完全函数依赖于非码的任何一组属性。 由于 R∈BCNF,按定义排除了任何属性对码的传递依赖与部分依赖。
与3NF的区别
一个模式中的关系模式如果都属于BCNF,那么在函数依赖范畴内它已经实现了彻底的分离,已消除了插入和删除的异常。 3NF的不彻底性在于可能存在主属性对码的部分依赖和传递依赖
多值依赖
定义
定义 6.9 设 R(U)是属性集 U 上的一个关系模式,X,Y,Z 是 U 的子集,并且 Z=U-X-Y。 关系模式 R(U)中多值依赖 X→→Y 成立,当且仅当对 R(U)的任一关系 r,给定 的一对(x,z)值,有一组 Y 的值,这组值仅仅决定于 x 值而与 z 值无关。 多值依赖的另一个等价的形式化的定义是:在 R(U)的任一关系 r 中,如果存在 元组 t、s 使得 t[X]=s[X],那么就必然存在元组 w、v∈r(w、v 可以与 s、t 相同),使得 w[X]=v[X]=t[X],而多值依赖,w[Z]=s[Z],v[Y]=s[Y], v[Z]=t[Z],(即交换 s、t 元组的 Y 值所得的两个新元组必在 r 中),则 Y 多值 依赖 X,记为 X→→Y。 若 X→→Y,而 Z 为空,则称 X→→Y 平凡的多值依赖。即对于 R(X,Y),如果有 X →→Y 成立,则 X→→Y 为平凡的多值依赖。
性质
(1)多值依赖具有对称性。即若 X→→Y,则 X→→Z,其中 Z=U-X-Y。 (2)多值依赖具有传递性。即若 X→→Y,Y→→Z,则 X→→Z-Y。 (3)函数依赖可以看作是多值依赖的特殊情况,即若 X→Y,则 X→→Y。这是因为 35 X→Y 时,对 X 的每一个值 x,Y 有一个确定的值 y 与之对应,所以 X→→Y。 (4)若 X→→Y,X→→Z,则 X→YZ (5)若 X→→Y,X→→Z,则 X→→Y Z (6)若 X→→Y,X→→Z,则 X→→Y-Z,X→→Z-Y。
与函数依赖的区别
(1)多值依赖的有效性与属性集的范围有关。若 X→→Y 在 U 上成立,则在 W(XY W) 上一定成立;反之则不然,即 X→→Y 在 W(W U)上成立,在 U 上并不一定成 立。这是因为多值依赖的定义中不仅涉及属性组 X 和 Y,而且涉及 U 中其余属 性 Z。 (2)若函数依赖 X→Y 在 R(U)上成立,则对于任何 Y’ Y 均有 X→Y’成立。却 不能断言对于任何 Y’ Y 有 X→→Y’成立。
4NF
定义 6.10 关系模式 R<U,F>∈1NF,如果对于 R 的每个非平凡多值依赖 X→→Y (Y X),X 都含有码,则称<U,F>∈4NF。 4NF 就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。如果 一个关系模式是 4NF,则必为 BCNF。
小结
规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达 到某种程度的“分离”,即“一事一地”的模式设计原则。让一个关系描述一个概 念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去。因此 所谓规范化实质上是概念的单一化。 关系模式的规范化过程是通过对关系模式的分解来实现的,即把低一级的关系模式 解为若干个高一级的关系模式。这种分解不是唯一的。
数据依赖的公理系统
逻辑蕴含
定义 6.11 对于满足一组函数依赖 F 的关系模式 R<U,F>,其任何一个关系 r, 若函数数依赖 X→Y 都成立(即 r 中任意两元组 t、s,若 t[X]=s[X],则 t[Y] =s[Y]),,则称 F 逻辑蕴涵 X→Y
公理系统
设 U 为属性集总体,F 是 U 上的一组函体依赖,于是有关系模 式 R<U,F>,对 R<U,F>来说有以下的推理规则: A1 自反律:若 Y X U,则 X→Y 为 F 所蕴涵. A2 增广律:X→Y 为 F 所蕴涵,且 Z U,则 XZ→YZ 为 F 所蕴涵。 A3 传递律:若 X→Y 及 Y→Z 为 F 所蕴涵,则 X→Z 为 F 所蕴涵 根据 A1、A2、A3 这三条推理规则可以得到下面三条很有用的推理规则。 合并规则:由 X→Y,X→Z,有 X→YZ。 伪传递规则:由 X→Y,X→Z,有 X→YZ。 分解规则:由 X→Y 及 Z Y,有 X→Z。
定理
定理 6.2 Armstrong 公理系统是有效的、完备的。 定义 6.15 如果函数依赖集 F 满足下列条件,则称 F 为一个极小函数依赖集,亦 称为最小依赖集或最小覆盖。 (1)F 中任一函数依赖的右部仅含有一个属性。 (2)F 中不存在这样的函数依赖 X→A,使得 F 与 F-{X→A}等价。 (3)F 中不存在这样的函数依赖 X→A,X 有真子集 Z 使得 F-{X→A}U{Z→A}与 F 等价。 定理 6.3 每一个函数依赖集 F 均等价于一个极小函数依赖集 Fm。此 Fm称为 F 的最 依赖集。