关系是通过什么来实现关系之间的关联的_关系中实现实体_关系的三类关系(9)

电脑杂谈  发布时间:2017-03-13 01:06:24  来源:网络整理

CNO C1 C2 C5 C6 C7 C5 C1 C2 C1

SCORE 90 85 57 80 70 0 70 85 93

D

DEPT 计算机 信息 自动化

MN 刘军航 王平 刘军航

在以上三个关系模式中,实现了信息的某种程度的分离:

S中存学生基本信息,与所选课程及系主任无关

D中存储系的有关信息,与学生无关 SC中存储的学生选课的信息,而与学生及系的有关信息无关

与SCD相比,分解为三个关系模式后,数据的冗余程度明显降低。

当新插入一个系时,只要在关系D中添加一个记录就可以了; 当某个学生尚未选课时,只要在关系 S中添加一条学生记录就可 以了,而与选课关系无关,这就避免了插入异常。 当一个系的学生全部毕业时,只需在 S中该系的全部学生记

录, 而关系D中有关该系的信息仍然保留,从而不会引起异常删除。 同时,由于数据冗余度的降低,数据没有重复存储,也不会 引起更新异常。 经过上述分析,我们说分解后的关系模式是一个好的关系数据 库模式。从而得出结论,一个好的关系模式应该具备四个条件: (1)尽可能少的数据冗余 (2)没有插入异常 (3)没有删除异常 (4)没有更新异常 注意

一个好的关系模式并不是在任何情况下都是最优的,比如查 询某个学生选修课程名及所在系的系主任时,要通过连接, 而连接所需的系统开销非常大,因此要以实际设计的目标出 发进行设计。

按照一定的规范设计的关系模式,将结构复杂的关系分 解成结构简单的关系,从而把不好的关系模式转变成 为好的关系模式,这就是关系的规范化。

规范化又可以根据不同的要求而分成若干级别。我们要 设计的关系模式中的各属性是相互依赖、相互制约的,这样 才构成了一个结构严谨的整体。 在设计关系模式的时候,必须从语义上分析这些依赖关 系。模式的好坏和关系中各属性间的依赖关系有关。 因此,我们先讨论关系规范化理论。

2.5.4.2 函数依赖

数据依赖是通过一个关系中属性间值的相等与否体现出来的数 据间的相互关系。它是现实世界属性间相互联系的抽象,是数据内 在的性质,是语义的体现。现在人们已经提出了许多种类型的数据 依赖,其中最重要的数据依赖是函数依赖(Functional Dependency,FD)和多值依赖(Multivalued Dependency,MVD)。 本节介绍函数依赖的概念和键的形式化定义。 1.函数依赖的定义 定义:设R(U)是属性集U上的关系模式,X,Y是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由 t1x=t2x导致t1Y=t2Y,则称X函数决定Y或Y函数依赖于X, 记为X→Y。X → Y为模式R的一个函数依赖。

这里t1X,t2X分别表示元组t1,t2在属性集X上的值,FD是 对关系R的一切可能的当前值 R 定义的,不是针对某个特定关系, 也就是说,对于X的每一个具体的值,都有惟一的Y值与之对应, 即 Y 值由 X值决定,因而这种数据依赖称为函数依赖。

函数依赖是语义范畴的概念。只能根据语义来确定一个函数。 例如,“姓名→出生年月”这个函数依赖只有在没有同名人的条 件下成立,如果允许在同一关系中有相同姓名存在,则出生年月 就不再函数依赖于姓名了。如果系统设计人员限定不允许相同姓 名出现,则“姓名→出生年月”函数依赖成立。

【例】有一个关系模式R(学号,姓名,出生年

月,系编号,系负责人)。 在R 的关系r中,存在着如下函数依赖: 学号→姓名 (每个学号只能对应一个姓名); 学号→出生年月 (每个学生只能对应一个出生年月); 系编号→系负责人(每个系只能有一名负责人)。 下面介绍一些术语和记号: (1)若X→Y,则X称为决定因素。 (2)若X→Y,Y→X,则记作X←→Y。 (3)若Y不函数依赖于X,则记作X→Y。 完全函数依赖 函数依赖


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-37193-9.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 尹济翁
      尹济翁

      具本人了解到国内大豆榨油

    热点图片
    拼命载入中...