教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

第4章数据库原理

来源:网络收集 时间:2026-10-01
导读: 数据库原理 第4章 关系数据库理论 返回 数据库原理 本章概要 前面已经讲述了关系数据库、关系模型的基本概念以 及关系数据库的标准语言。 如何使用关系模型设计关系数据库,也就是面对一个 现实问题,如何选择一个比较好的关系模式的集合, 每个关系又应该由

数据库原理

第4章 关系数据库理论

返回

数据库原理

本章概要 前面已经讲述了关系数据库、关系模型的基本概念以 及关系数据库的标准语言。 如何使用关系模型设计关系数据库,也就是面对一个 现实问题,如何选择一个比较好的关系模式的集合, 每个关系又应该由哪些属性组成。这属于数据库设计 的问题,确切地讲是数据库逻辑设计的问题,有关数 据库设计的全过程将在第6章详细讨论。 本章讲述关系数据库规范化理论,这是数据库逻辑设 计的理论依据。 要求了解规范化理论的研究动机及其在数据库设计中的作用, 掌握函数依赖的有关概念, 第一范式、第二范式、第三范式的定义, 重点掌握并能够灵活运用关系模式规范化的方法和关系模式 分解的方法,这也是本章的难点。

返回

数据库原理

4.1

规范化问题的提出

4.1.1 规范化理论的主要内容 关系数据库的规范化理论最早是由关系数据库 的创始人E.F.Codd提出的, 后经许多专家学者对关系数据库理论作了深入 的研究和发展,形成了一整套有关关系数据库 设计的理论。 在该理论出现以前,层次和网状数据库的设计 只是遵循其模型本身固有的原则,而无具体的 理论依据可言,因而带有盲目性,可能在以后 的运行和使用中发生许多预想不到的问题。返回3

数据库原理

在关系数据库系统中,关系模型包括一组关系 模式,各个关系不是完全孤立的,数据库的设 计较层次和网状模型更为重要。 如何设计一个适合的关系数据库系统,关键是 关系数据库模式的设计,一个好的关系数据库 模式应该包括多少关系模式,而每一个关系模 式又应该包括哪些属性,又如何将这些相互关 联的关系模式组建一个适合的关系模型,这些 工作决定了到整个系统运行的效率,也是系统 成败的关键所在,所以必须在关系数据库的规 范化理论的指导下逐步完成。

返回

数据库原理

关系数据库的规范化理论主要包括三个方面的内容: 函数信赖 范式(Normal Form) 模式设计

其中,函数信赖起着核心的作用,是模式分解和模式 设计的基础,范式是模式分解的标准。

4.1.2

关系模式的存储异常问题

数据库的逻辑设计为什么要遵循一定的规范化理论? 什么是好的关系模式? 某些不好的关系模式可能导致哪些问题? 下面通过例子进行分析: 返回5

数据库原理

例如,要求设计教学管理数据库,其关系模式SCD如下:SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)

其中,SNO表示学生学号,SN表示学生姓名,AGE表示 学生年龄,DEPT表示学生所在的系别,MN表示系主任 姓名,CNO表示课程号,SCORE表示成绩。 根据实际情况,这些数据

有如下语义规定:1. 一个系有若干个学生,但一个学生只属于一个系; 2. 一个系只有一名系主任,但一个系主任可以同时兼几个系的 系主任; 3. 一个学生可以选修多门功课,每门课程可有若干学生选修; 4. 每个学生学习课程有一个成绩。

在此关系模式中填入一部分具体的数据,则可得到SCD 关系模式的实例,即一个教学管理数据库,如图4.1所 示。 返回6

数据库原理

SNO S1 S1 S2 S2

SN 赵亦 赵亦 钱尔 钱尔

AGE 17 17 18 18

DEPT 计算机 计算机 信息 信息

MN 刘伟 刘伟 王平 王平

CNO C1 C2 C5 C6

SCORE 90 85 57 80

S2S2 S3 S3 S3

钱尔钱尔 孙珊 孙珊 孙珊

1818 20 20 20

信息信息 信息 信息 信息

王平王平 王平 王平 王平

C7C5 C1 C2 C4

7070 0 70 85

S4

李思

男

自动化

刘伟

C1

93

图4.1 关系SCD 返回7

数据库原理

根据上述的语义规定,并分析以上关系中的数据,我们 可以看出:(SNO,CNO)属性的组合能唯一标识一个元组, 所以(SNO,CNO)是该关系模式的主关系键。但在进行数 据库的操作时,会出现以下几方面的问题。 1. 数据冗余。每个系名和系主任的名字存储的次数等 于该系的学生人数乘以每个学生选修的课程门数,同 时学生的姓名、年龄也都要重复存储多次,数据的冗 余度很大,浪费了存储空间。 2. 插入异常。如果某个新系没有招生,尚无学生时, 则系名和系主任的信息无法插入到数据库中。 因为在这个关系模式中,(SNO,CNO)是主关系键。根 据关系的实体完整性约束,主关系键的值不能为空, 而这时没有学生,SNO和CNO均无值,因此不能进行插 入操作。 另外,当某个学生尚未选课,即CNO未知,实体完整 性约束还规定,主关系键的值不能部分为空,同样不 能进行插入操作。

返回

数据库原理

3. 删除异常。 某系学生全部毕业而没有招生时,删除全部学生的 记录则系名、系主任也随之删除,而这个系依然存在, 在数据库中却无法找到该系的信息。 另外,如果某个学生不再选修C1课程,本应该只删 去C1,但C1是主关系键的一部分,为保证实体完整性, 必须将整个元组一起删掉,这样,有关该学生的其它 信息也随之丢失。 4. 更新异常。 如果学生改名,则该学生的所有记录都要逐一修改 SN; 又如某系更换系主任,则属于该系的学生记录都要 修改MN的内容,稍有不慎,就有可能漏改某些记录, 这就会造成数据的不一致性,破坏了数据的完整性。返回9

数据库原理

由于存在以上问题,我们说,SCD是一个不好的关系模 式。产生上述问题的原因,直观地说,是因为关系中 “包罗万象”,内容太杂了。 那么,怎样才能得到一个好的关系模式呢? 我们把关系模式SCD分解为下面三

个结构简单的关系模 式,如图4.2所示。 学生关系S(SNO,SN,AGE,DEPT) 选课关系SC(SNO,CNO,SCORE) 系关系D(DEPT,MN)

返回

数据库原理

S SNOS1 S2 S3 S4

SN 赵亦 钱尔 孙珊 李思

AGE 17 18 20 21

DEPT 计算机 信息 信息 自动化

SC SNOS1 S1 S2 S2 S2 S2

CNO C1 C2 C5 C6 C7 C5

SCORE 90 85 57 80

70

D

DEPT

MN刘伟 王平 刘伟

S3S3 S3 S4

C1C2 C4 C1

070 85 93

计算机 信息 自动化

图4.2 分解后的关系模式返回11

数据库原理

在以上三个关系模式中,实现了信息的某种程 度的分离, S中存储学生基本信息,与所选课程及系主任无关; D中存储系的有关信息,与学生无关; SC中存储学生选课的信息,而与所学生及系的有关 信息无关。

与SCD相比,分解为三个关系模式后,数据的 冗余度明显降低。 当新插入一个系时,只要在关系D中添加一条记录。 当某个学生尚未选课,只要在关系S中添加一条学 生记录,而与选课关系无关,这就避免了插入异常。 当一个系的学生全部毕业时,只需在S中删除该系 的全部学生记录,而关系D中有关该系的信息仍然 保留,从而不会引起删除异常。 同时,由于数据冗余度的降低,数据没有重复存储, 也不会引起更新异常。 12 返回

数据库原理

经过上述分析,我们说分解后的关系模 式是一个好的关系数据库模式。 从而得出结论,一个好的关系模式应该 具备以下四个条件:1. 2. 3. 4. 尽可能少的数据冗余。 没有插入异常。 没有删除异常。 没有更新异常。

返回

数据库原理…… 此处隐藏:2811字,全部文档内容请下载后查看。喜欢就下载吧 ……

第4章数据库原理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1412473.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)