SQL_Server_2005数据库原理及应用教程第5章关系数据库规范化理论解读.ppt

SQL_Server_2005数据库原理及应用教程第5章关系数据库规范化理论解读.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL_Server_2005数据库原理及应用教程第5章关系数据库规范化理论解读

第5章 关系数据库规范化理论 5.1规范化问题的提出 “教师”关系模式 teacher(tnum,tname,dept,manager,address,cnum,cname,score) 其属性分别表示教师号、姓名、所在系、系主任、办公地点、课程号、课程名、教学评分。此关系模式的一个具体实例,如表5.1所示。 tnum tname dept manager address cnum cname score 200101 王放 计算机 张文 教六214 001 数据结构 85 200101 王放 计算机 张文 教六214 003 文化基础 90 200101 王放 计算机 张文 教六214 012 数据库原理 80 199321 刘璐 信息 董灵 教二108 003 文化基础 95 199321 刘璐 信息 董灵 教二108 014 信息系统 85 表5.1 从以上的关系中可以清楚地看到,教师号tnum和课程号cnum构成了该关系模式的主码。下面来分析这个关系模式存在的问题。 1.存储冗余 一个教师可以教授几门课,那么该教师的姓名、所在系、系主任、办公地点等信息就要重复存储,其存储冗余问题是相当严重的。 2.不一致性 如果某个教师的办公地点发生变化,那么该教师所有对应的元组信息都要修改,修改量很大,潜在地存在着数据不一致问题,有可能会出现同一个教师有不同办公地点的情况。这种不一致是由于数据的存储冗余产生的。 3.插入异常 对于刚来的教师,当然应该登记入册,但此时可能还没有分配教学任务,由于cnum是主属性,不能为空值,因此该教师就无法加入到该关系中,这是极不合理的,即存在插入异常问题。 4.删除异常 若因某种原因(如出国进修)取消某教师的教学任务,则需删除该教师对应的所有元组,结果该教师的教师号、姓名、所在系、系主任、办公地点等信息也同时删去了,即删去了一些不该删去的信息。这样在该关系中就找不到该教师的姓名、所在系等信息,这也是极不合理的,即存在删除异常。 由于存在以上4个问题,该关系模式不是一个“好”的关系模式,会带来无穷的后患。 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。其中最重要的是函数依赖(Functional Dependency,简称FD)和多值依赖(Multivalued Dependency,简称MVD)。 如图5.1所示的教师关系,一个教师号决定一个教师的姓名、所在系、办公地点,当教师号确定之后,教师的姓名、所在系、办公地点也就唯一确定了。就好像存在着一函数关系y=f(x),自变量x给定之后,函数值y也就唯一的确定了,称tnum函数决定tname、dept和address,或者说tname、dept和address函数依赖tnum,记作:tnum?tname,tnum?dept,tnum?address。 从图5.1可以看出,该关系模式中的函数依赖中存在着一些不好的性质,例如score函数依赖于(tnum,cnum),但tname、dept和address只函数依赖于tnum,而cname只函数依赖于cnum,他们都只是部分依赖于(tnum,cnum)。另外,manager函数依赖于dept,对tnum存在着一种传递性质的函数依赖,不直接函数依赖于tnum。正是这些不好的性质导致了上述异常的产生。 解决以上问题的方法是模式分解,即进行所谓的关系规范化,消除函数依赖中存在的异常问题。例如,可以把teacher关系模式分解成以下4个关系子模式: T(tnum,tname,dept,address) D(dept,manager) C(cnum,cname) TC(tnum,cnum,score) 但是,模式分解并不都是好的,分解不当也可能导致另一种不好的设计。 函数依赖(FD)是规范化理论中的一个重要概念。规范化理论是在1971年由E.F.Code提出的,该理论主要包括:数据依赖、范式、模式设计方法等,其中数据依赖是该理论的核心,而函数依赖是数据依赖中最基本的一种依赖。函数依赖这一概念是码概念的推广,是合法关系集上的一种特殊约束。函数依赖在数据库设计中具有重要作用。 5.2 函数依赖 定义5.1 设R(U)是属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或 “Y函数依赖于X”,记作X→Y。 由于函数依赖类似于数学中上的单值函数关系,也可以做如下定义。 定义5.2 设R(U)是属性集U上的关系模式,X和Y是U的子集。若R的任意具体关系r都存在:对于X的每一个属性值,Y有唯一的属性值与之对应

文档评论(0)

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

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

1亿VIP精品文档

相关文档