SNO AGE DEPT SNI CNO SCORE 赵亦 17 计算机 S1 C1 钱尔 18 信息 S1 S3 孙珊 20 信息 57 S4 李思 自动化 70 DEPT MN C1 计算机刘伟 S3 C2 70 信息 王平 C4 自动化刘伟 S4 C1 93 图4.2分解后的关系模式 U八◆《回
返回 11 S SC SNO SN AGE DEPT SNO CNO SCORE S1 赵亦 17 计算机 S1 C1 90 S2 钱尔 18 信息 S1 C2 85 S3 孙珊 20 信息 S2 C5 57 S4 李思 21 自动化 S2 C6 80 S2 C7 D S2 C5 70 DEPT MN S3 C1 0 计算机 刘伟 S3 C2 70 信息 王平 S3 C4 85 自动化 刘伟 S4 C1 93 图4.2 分解后的关系模式
>在以上三个关系模式中,实现了信息的某种程 度的分离, S中存储学生基本信息,与所选课程及系主任无关; >D中存储系的有关信息,与学生无关; >SC中存储学生选课的信息,而与所学生及系的有关 信息无关。 与SCD相比,分解为三个关系模式后,数据的 冗余度明显降低。 >当新插入一个系时,只要在关系D中添加一条记录 当某个学生尚未选课,只要在关系S中添加一条学 生记录,而与选课关系无关,这就避免了插入异常 当一个系的学生全部毕业时,只需在S中删除该系 的全部学生记录,而关系D中有关该系的信息仍然 保留,从而不会引起删除异常。 同时,由于数据冗余度的降低,数据没有重复存储, 也不会引起更新异常 八回
返回 12 ➢ 在以上三个关系模式中,实现了信息的某种程 度的分离, ➢S中存储学生基本信息,与所选课程及系主任无关; ➢D中存储系的有关信息,与学生无关; ➢SC中存储学生选课的信息,而与所学生及系的有关 信息无关。 ➢ 与SCD相比,分解为三个关系模式后,数据的 冗余度明显降低。 ➢当新插入一个系时,只要在关系D中添加一条记录。 ➢当某个学生尚未选课,只要在关系S中添加一条学 生记录,而与选课关系无关,这就避免了插入异常。 ➢当一个系的学生全部毕业时,只需在S中删除该系 的全部学生记录,而关系D中有关该系的信息仍然 保留,从而不会引起删除异常。 ➢同时,由于数据冗余度的降低,数据没有重复存储, 也不会引起更新异常
>经过上述分析,我们说分解后的关系模 式是一个好的关系数据库模式。 >从而得出结论,一个好的关系模式应该 具备以下四个条件: 尽可能少的数据冗余 2.没有插入异常 3.没有删除异常。 4.没有更新异常 U八◆《回
返回 13 ➢经过上述分析,我们说分解后的关系模 式是一个好的关系数据库模式。 ➢从而得出结论,一个好的关系模式应该 具备以下四个条件: 1. 尽可能少的数据冗余。 2. 没有插入异常。 3. 没有删除异常。 4. 没有更新异常
>但要注意,一个好的关系模式并不是在任何情况都 是最优的, 比如査询某个学生选修课程名及所在系的系主任时,要通过 连接,而连接所需要的系统开销非常大,因此要以实际设计 的目标出发进行设计 如何按照一定的规范设计关系模式,将结构复杂的关 系分解成结构简单的关系,从而把不好的关系数据库 模式转变为好的关系数据库模式,这就是关系的规范 化。 >规范化又可以根据不同的要求而分成若干级别 我们要设计的关系模式中的各属性是相互依赖、相互 制约的,这样才构成了一个结构严谨的整体。 >因此在设计关模式时,必须从语义上分析这些依赖关 系 >数据库模式的好坏和关系中各属性间的依赖关系有关, 因此,我们先讨论属性间的依赖关系,然后再讨论关 系规范化理论。 U八◆《回
返回 14 ➢ 但要注意,一个好的关系模式并不是在任何情况下都 是最优的, ➢ 比如查询某个学生选修课程名及所在系的系主任时,要通过 连接,而连接所需要的系统开销非常大,因此要以实际设计 的目标出发进行设计 ➢ 如何按照一定的规范设计关系模式,将结构复杂的关 系分解成结构简单的关系,从而把不好的关系数据库 模式转变为好的关系数据库模式,这就是关系的规范 化。 ➢ 规范化又可以根据不同的要求而分成若干级别。 ➢ 我们要设计的关系模式中的各属性是相互依赖、相互 制约的,这样才构成了一个结构严谨的整体。 ➢ 因此在设计关模式时,必须从语义上分析这些依赖关 系。 ➢ 数据库模式的好坏和关系中各属性间的依赖关系有关, 因此,我们先讨论属性间的依赖关系,然后再讨论关 系规范化理论
4.2函数依赖 4.2.1函数依赖的定义及性质 关系模式中的各属性之间相互依赖、相互制约的联系 称为数据依赖。 数据依赖一般分为函数依赖、多值依赖和连接依赖。 其中,函数依赖是最重要的数据依赖。 函数依赖( Functional Dependency)是关系模式中属 性之间的一种逻辑依赖关系。 例如在上一节介绍的关系模式SCD中,SN0与SN、AGE、DEPT之 间都有一种依赖关系。 由于一个SNO只对应一个学生,而一个学生只能属于一个系 所以当SN0的值确定之后,SN,AE,DEPT的值也随之被唯 的确定了。 这类似于变量之间的单值函数关系。设单值函数Y=F(X),自 变量X的值可以决定一个唯一的函数值Y。 ≯在这里,我们说SN决定函数(SN,AGE,DEPT),或者说 (SN,AGE,DEPT)函数依赖于SNO。 U八◆《回
返回 15 4.2 函数依赖 4.2.1 函数依赖的定义及性质 ➢ 关系模式中的各属性之间相互依赖、相互制约的联系 称为数据依赖。 ➢ 数据依赖一般分为函数依赖、多值依赖和连接依赖。 ➢ 其中,函数依赖是最重要的数据依赖。 ➢ 函数依赖(Functional Dependency)是关系模式中属 性之间的一种逻辑依赖关系。 ➢ 例如在上一节介绍的关系模式SCD中,SNO与SN、AGE、DEPT之 间都有一种依赖关系。 ➢ 由于一个SNO只对应一个学生,而一个学生只能属于一个系, 所以当SNO的值确定之后,SN,AGE,DEPT的值也随之被唯一 的确定了。 ➢ 这类似于变量之间的单值函数关系。设单值函数Y=F(X),自 变量X的值可以决定一个唯一的函数值Y。 ➢ 在这里,我们说SNO决定函数(SN,AGE,DEPT),或者说 (SN,AGE,DEPT)函数依赖于SNO