`
bsr1983
  • 浏览: 1117590 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第三章 关系模式设计理论

阅读更多

3.1 关系模式的设计准则

3.1.1 关系模式的冗余和异常问题

“分解”是解决冗余的主要方法,也是规范化的一条原则:“关系模式有冗余问题,就分解它”。

3.1.2 关系模式的非形式化设计准则

准则3.1 关系模式的设计应尽可能只包含直接联系的属性,不要包含有间接联系的属性。

准则3.2 关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改等操作异常现象。

准则3.3 关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。

准则3.4 关系模式的设计应尽可能使得关系的等值连接在主键和外键上进行,并且保证连接以后不会生成额外的元组。

3.2 函数依赖

3.2.1 函数依赖的定义

定义3.1 设有关系模式R(U)XY是属性集U的子集,函数依赖(functional dependency,简记为FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FD X→Y在关系模式R(U)中成立。

这里t[X]表示元组t在属性集X上的值,其余类同。X→Y读作“X函数决定Y”,或“Y函数依赖于X”。FD是对关系模式R的一切可能的关系r定义的。对于当前关系r的任意两个元组,如果X值相同,则要求Y值也相同,即有一个X值就有一个Y值与之对应,或者说Y值由X值决定。因而这种依赖称为函数依赖。

定义3.2 如果X→Y和Y→X同时成立,则可记为X←→Y。也就是在关系中,X值和Y值具有一一对应关系。

3.2.2 FD逻辑蕴涵

3.2.3 FD的推理规则

3.2.4 FD和关键码的联系

3.2.5 属性集的闭包

3.2.6 FD集的最小依赖集

3.3 关系模式的分解特性

3.3.1 关系模式的分解

3.3.2 无损分解

3.3.3 模式分解的优缺点

3.3.4 无损分解的测试方法

3.3.5 保持FD的分解

3.3.6 模式分解与模式等价问题

数据等价是指两个数据库实例应表示同样的信息内同,用“无损分解”衡量。

依赖等价是指两个数据库模式应有相同的依赖集闭包。

3.4 范式

关系模式的好与坏,用什么标准衡量?这个标准就是模式的范式(Normal Forms,简记为NF)。

3.4.1 第一范式(1NF)

定义3.1.6 如果关系模式R中的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(First Normal Form,简记为1NF)的模式。

3.4.2 第二范式(2NF)

定义3.18 如果A是关系模式R的候选键属性,那么称A是R的主属性;否则称A是R的非主属性。

定义3.19 如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)的模式。如果数据库模式中每个关系模式都是2NF,则称数据库模式为2NF的数据库模式。

3.4.3 第三范式(3NF)

定义3.21 如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式。如果数据库模式中每个关系模式都是3NF,则称数据库模式为3NF的数据库模式。

3.4.4 BCNF

定义3.23 如果关系模式Rshi 1NF,且每个属性都不传递依赖于R的候选键,那么称R是ECNF的模式。

定义3.24 设F是关系模式R的FD集,如果对F中每个非评分的FD →Y,都有X是R的超键,那么称R是BCNF的模式。

3.4.5 分解成BCNF模式集的分解算法

3.4.6 分解成3NF模式集的合成算法

3.4.7 模式设计方法小结

3.5 多值依赖和第四范式

3.5.1 多值依赖

定义3.25 设U是关系模式R的属性集,X和Y是U的字节,Z=R-X-Y,小写xyz表示属性集XYZ的值。对于R的关系r,在r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在(x,y2,z1)和(x,y1,z2),那么称多值依赖(Multivalued Dependency,简记为MVD)X→→Y在模式R上成立。

3.5.2 关于FD和MVD的推理规则集

3.5.3 第四范式(4NF)

定义3.28 设D是关系模式R上成立的FD和MVD集合。如果D中每个非平凡的MVD

X→→Y的左部X都是R的超键,那么称R是4NF的模式。

<!--EndFragment-->
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics