SQLServer第3章关系数据库的规范化设计.ppt

SQLServer第3章关系数据库的规范化设计.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 关系模式的规范化设计 本章重要概念 (1) 关系模式的冗余和异常问题。 (2) FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系;平凡 的FD;属性集的闭包;推理规则的正确性和完备性;FD集的等价;最小依 赖集。 (3) 无损分解的定义、性质、测试;保持依赖集的分解。 (4) 关系模式的范式:1NF,2NF,3NF,BCNF。分解成2NF、3NF模 式集的算法。 前 言 关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好 的关系模式集合,即应该构造几个关系模式,每个关系由哪些属性组成。 规范化设计理论主要包括三个方面的内容:数据依赖、范式和模式设计方法。其中数据依赖起着核心的作用。数据依赖研究数据之间的联系,范式是关系模式的标准,模式设计方法是自动化设计的基础。规范化设计理论对关系数据库结构的设计起着重要的作用。 关系模式的冗余和异常问题(1) 例4.1 设有一个关系模式R(TNAME,ADDRESS,CNO,CNAME),其属性分别表示教师姓名、教师地址、任教课程的编号和课程名。 关系模式的冗余和异常问题(2) 该模式出现的问题有: (1) 数据冗余: 如果一个教师教几门课程,那么这个教师的地址就要重复几次存储。 (2) 操作异常: 由于数据的冗余,在对数据操作时会引起各种异常: ① 修改异常。例如教师t1教三门课程,在关系中就会有三个元组。如果他的地址变了,这三个元组中的地址都要改变。若有一个元组中的地址未更改,就会造成这个教师的地址不惟一,产生不一致现象。 ② 插入异常。如果一个教师刚调来,尚未分派教学任务,那么要将教师的姓名和地址存储到关系中去时,在属性CNO和CNAME上就没有值(空值)。在数据库技术中空值的语义是非常复杂的,对带空值元组的检索和操作也十分麻烦。 ③删除异常。如果在图4.1中要取消教师t3的教学任务,那么就要把这个教师的元组删去,同时也把t3的地址信息从表中删去了。这是一种不合适的现象。 关系模式的冗余和异常问题(3) 本章的符号约定 英文字母表首部的大写字母“A,B,C,D,…”表示单个属性。 英文字母表尾部的大写字母“…,U,V,W,X,Y,Z”表示属性集。 大写字母R表示关系模式,小写字母r表示其关系。 属性集{A1,A2, …,An}简记为A1A2 …An 。 属性集X和Y的并集X∪Y简记为XY。 X∪{A}简写为XA或AX。 5.2 函数依赖 主要内容 函数依赖的定义 FD的逻辑蕴含 FD的推理规则 FD和关键码的联系 属性集的闭包 FD集的最小依赖集 函数依赖的定义(1) 函数依赖是属性间基本的一种依赖,它是关键码概念的推广。 定义5.1 设有关系模式R(U),X和Y是属性集U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖(Functional Dependency,简记为FD)于X,记作X→Y。 FD是对关系模式R的一切可能的关系r定义的。对于r的任意两个元组,如果X值相同,则要求Y值也相同,即对一个X值有唯一个Y值与之对应。该定义类似于数学中的单值函数定义。 函数依赖的定义(2) 例5.2 有一个关于学生选课、教师任课的关系模式: R(SNO,SNAME,CNO,GRADE,CNAME,TNAME,TAGE) 属性分别表示学生学号、姓名、选修课程的课程号、成绩、课程名、任课教师姓名和年龄等意义。 如果规定,每个学号只能有一个学生姓名,每个课程号只能决定一门课程,那么可写成下列FD形式: SNO→SNAME CNO→CNAME 每个学生每学一门课程,有一个成绩,那么可写出下列FD: (SNO,CNO)→GRADE 还可以写出其他一些FD: CNO→CNAME,TNAME,TAGE) TNAME→TAGE 函数依赖的定义(3) 对于函数依赖的定义注意以下三点: ⑴ 函数依赖是一个基于关系模式(不是一个关系模式的特定实例)的函数概念,即如果一个关系模式R中存在函数依赖X→Y,则要求该模式的所有具体关系都满足X→Y。 ⑵ 函数依赖不取决于属性构成关系的方式(即关系结构),而是关系所表达的信息本身的语义特性,我们只能根据这种语义信息确定函数依赖,没有其他途径。 ⑶ 函数依赖是数据库设计者对于关系模式的一种断言或决策,即在设计关系型数据库时不仅要设计关系结构,而且要定义数据依赖的条件,限制进

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档