第7章 关系数据库规范化理论---12.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 关系数据库规范化理论---12

第7章 关系数据库规范化理论 数据库设计是数据库应用领域的主要研究课题。 数据库设计的任务是在给定的应用环境下,创建满足用户需求且性能良好的数据库模式,建立数据库及其应用系统,使之能有效地存储和管理数据,满足用户需求。 数据库设计需要理论指导,这个理论就是关系数据库规范化理论。 关系数据库规范化理论研究:关系模式中各属性的依赖关系以及对关系模式性能的影响。------探讨好的关系模式的标准 第7章 关系数据库规范化理论 7.1 函数依赖 7.2 关系规范化 7.3 关系模式的分解准则 7.1 函数依赖 直观的函数依赖定义:如果有一个关系模式R(A1,A2,…,An),X 和Y为{A1,A2,…,An}的子集,那么对于关系R中的任意一个X值,都只有一个Y 值与之对应,则称X函数决定Y,或Y函数依赖于X。 记着:X→Y 例:Student(Sno, SName, Sdept, Sage) Sno→SName, Sno→Sdept, Sno→Sage (Sno决定Sname , Sname依赖Sno ) 例: SC(Sno, Cno, Grade) (Sno, Cno)→Grade 7.1 函数依赖 定义:设有关系模式R(A1,A2,…,An),X 和Y为{A1,A2,…,An}的子集,r 是R的任一具体关系,t1 t2 是r 中的任意2个元组。如果t1[X]=t2[X]可以推导出 t1[Y]=t2[Y] ,则称X函数决定Y,或Y函数依赖于X。记为 X→Y 一些术语和符号 1. 如果X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。如不作特别说明,我们总是讨论非平凡函数依赖。 2. 如果Y不函数依赖于X,则记作X—/→Y。 3. 如果X→Y,则称X为决定因子。 4. 如果X→Y,并且Y→X,则记作X←→Y。 一些术语和符号 5. 如果X→Y,并且对于X的一个任意真子集X’ 都有X’ —/→Y,则称Y完全函数依赖于X,记作: 示例 例1:有关系模式:SC(Sno,Sname,Cno,Grade) 主码为(sno,cno) 则函数依赖关系有: Sno→Sname( Sno决定Sname , Sname依赖Sno ) (Sno, Cno)→ Sname姓名部分依赖学号和课程号 (Sno, Cno)→ Grade成绩完全依赖学号和课程好 示例 例2:有关系模式:S(Sno,Sname,Dept, Dept_master)学号、姓名、系、系主任,主码为sno 函数依赖关系有: Sno ( Sno完全决定Sname ,Sname完全依赖Sno ) 7.1.3 为什么讨论依赖关系 讨论属性依赖关系的意义,先看一个例子: S-L-C( sno,sdept,sloc,cno,grade)学号、系、宿舍楼、课程号、成绩,假设每个系的学生都住一个宿舍楼,主码为(sno,cno) 存在问题 从上面的表中可以看出如下问题: 数据冗余问题:在这个关系中,有关每个学生的系和其所住的宿舍楼的信息有冗余,因为每个系有多少个学生,这个系所对应的宿舍楼的信息就要重复存储过少遍。 数据更新问题 :如果有一个学生转系了,那么不但要修改sdept列还要修改sloc列,使修改复杂化 存在问题 从上面的表中可以看出如下问题: 数据插入问题 : 如果某个学生还没有选课,但已经知道sdept,sloc的信息,我们不能将此学生的信息登记。因为cno为空,而cno 是主码,不能为空,因此,也就丢掉了该学生的其他信息 数据删除问题:如果一个同学只选了一门课,而后来又不选了,则应该删除该同学的选此门课记录。但该同学只选了一门课,那么删掉该同学选课记录的同时也删掉了该1同学的其他信息 存在问题 上面的问题我们统称----操作异常 为什么出现这些问题?----这是因为关系模式没有设计好,某些属性之间存在着不良的函数依赖 解决这些问题----进行模式分解,即把一个关系模式分解成2个或者多个关系模式,在分解的过程中,消化那些不良的函数依赖 7.2 关系规范化 7.2.1 关系模式中的码 7.2.2 范式 7.2.1 关系模式中的码 候选码:能够惟一标识关系中的一个元组的一个属性或最小属性组。(能够唯一标示一条记录的字段,或者字段的组合) 主码(主键、KEY):指定候选码中的一个作为主码。 全码:候选码为整个属性组。 7.2.1 关系模式中的码 主属性与非主属性: 主属性:在R (U,F)中,包含在任一候选码中的属性称为主属性; 非主属性:不包含在任一候选码中的属性称为非主属性; 7.2.1 关系模式中的码 1.候选码:设K为R (U,F)中的属性或属性组,若K f→U,则K为R候

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档