[工学]数据库系统原理 第11章

[工学]数据库系统原理 第11章

ID:36324508

大小:492.36 KB

页数:53页

时间:2019-05-09

[工学]数据库系统原理 第11章_第1页
[工学]数据库系统原理 第11章_第2页
[工学]数据库系统原理 第11章_第3页
[工学]数据库系统原理 第11章_第4页
[工学]数据库系统原理 第11章_第5页
资源描述:

《[工学]数据库系统原理 第11章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合,即应该构造几个关系模式,每个关系由哪些属性组成。 规范化设计理论主要包括三个方面的内容:数据依赖、范式和模式设计方法。其中数据依赖起着核心的作用。数据依赖研究数据之间的联系,范式是关系模式的标准,模式设计方法是自动化设计的基础。规范化设计理论对关系数据库结构的设计起着重要的作用。第11章关系数据规范化理论P2501例11-1设有一个关系模式R(TNAME,ADDRESS,CNO,CNAME),其属性分别表示教师姓名、教师地址、任教课程的编号和课程名。TNAMEADDR

2、ESSCNOCNAMEt1a1c1n1t1a1c2n2t1a1c3n3t2a2c4n4t2a2c5n2t3a3c6n4在数据库设计中,如果一个关系模式设计得不好,就会出现像文件系统一样的数据冗余、异常、不一致等问题。图11.12该模式出现的问题有:(1)数据冗余:如果一个教师教几门课程,那么这个教师的地址就要重复几次存储。(2)操作异常:由于数据的冗余,在对数据操作时会引起各种异常:①修改异常。例如教师t1教三门课程,在关系中就会有三个元组。如果他的地址变了,这三个元组中的地址都要改变。若有一个元组中的地址未更改,就会造成这个教师的地址不惟一,

3、产生不一致现象。3②插入异常。如果一个教师刚调来,尚未分派教学任务,那么要将教师的姓名和地址存储到关系中去时,在属性CNO和CNAME上就没有值(空值)。在数据库技术中空值的语义是非常复杂的,对带空值元组的检索和操作也十分麻烦。③删除异常。如果在是上图11.1中要取消教师t3的教学任务,那么就要把这个教师的元组删去,同时也把t3的地址信息从表中删去了。这是一种不合适的现象。4TNAMEADDRESSTNAMECNOCNAMEt1a1t1c1n1t2a2t1c2n2t3a3t1c3n3t2c4n4t2c5n2t3c6n4图11.2关系模式分解的实

4、例(a)关系模式R1的实例(b)关系模式R2的实例可以说,关系模式R不是一个好的模式。一个“好”的模式应当不会发生插入异常、删除异常、更新异常,数据冗余应尽量少。规范化原则:“关系模式有操作异常或冗余问题,就分解它。”是否算最佳分解?那末,什么样的关系模式是最优的?标准是什么?如何实现?5如何构造合适的关系模式? 应构造几个关模式? 每个关系模式由哪些属性组成?…这就关系到数据库的逻辑设计问题6X函数决定Y,或Y函数依赖于X可表示为:X→Y如果有一个关系模式R(A1,A2,…,An),X和Y为{A1,A2,…,An}的子集,那么对于关系R中的任

5、意一个x值,都只有一个y值与之对应,则称X函数决定Y,或Y函数依赖于X11.1.1函数依赖的基本概念11.1函数依赖P2487函数依赖是属性间基本的一种依赖,它是关键码概念的推广。定义1设有关系模式R(U),X和Y是属性集U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖(FunctionalDependency,简记为FD)于X,记作X→Y。FD是对关系模式R的一切可能的关系r定义的。对于r的任意两个元组,如果X值相同,则要求Y值也相同,即对一个X值有唯

6、一个Y值与之对应。该定义类似于数学中的单值函数定义。8例11-2:有一个关于学生选课、教师任课的关系模式:R(SNO,SNAME,CNO,GRADE,CNAME,TNAME,TAGE)属性分别表示学生学号、姓名、选修课程的课程号、成绩、课程名、任课教师姓名和年龄等意义。如果规定,每个学号只能有一个学生姓名,每个课程号只能决定一门课程,那么可写成下列FD形式:SNO→SNAMECNO→CNAME每个学生每学一门课程,有一个成绩,那么可写出下列FD:(SNO,CNO)→GRADE还可以写出其他一些FD:CNO→CNAME,TNAME,TAGE)TN

7、AME→TAGE注意:函数依赖不是指关系R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。9对于函数依赖的定义注意以下三点:⑴函数依赖是一个基于关系模式(不是一个关系模式的特定实例)的函数概念,即如果一个关系模式R中存在函数依赖X→Y,则要求该模式的所有具体关系都满足X→Y。⑵函数依赖不取决于属性构成关系的方式(即关系结构),而是关系所表达的信息本身的语义特性,我们只能根据这种语义信息确定函数依赖,没有其他途径。⑶函数依赖是数据库设计者对于关系模式的一种断言或决策,即在设计关系型数据库时不仅要设计关系结构,而且要定义数据依

8、赖的条件,限制进入关系的所有元组都必须符合所定义的条件,否则拒绝接受输入。1011.1.2一些术语和符号P249设有关系模式R(A1,A2,…,An)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。