- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库规范化理论教学探讨和实践
数据库规范化理论教学探讨和实践
【摘要】数据库规范化理论是数据库技术中的一个重要的理论基础,对应用系统的数据库设计起着重要作用。针对其在教学中存在的一些问题,提出了具体的教学方案,并结合具体教学案例加以说明。这种教学方法有利于提高课程的教学质量,有利于提高学生对数据库规范化理论知识的掌握能力。
【关键词】数据库 规范化理论 函数依赖 范式
对于数据库课程的学习,除了掌握应用型技术外,还应加强其基础理论的学习,如关系模型、关系运算理论、关系数据库语言SQL、数据库的规范化理论、数据库设计及数据库实现等知识点。数据库设计的好坏直接影响着实际的应用,数据库的规范化理论正是用来指导应用系统中数据模式的构建,即数据库逻辑结构的问题;对于初步的关系模式,可能存在这样或那样的问题(如数据冗余、插入异常、删除异常等),需要利用数据库规范化理论进行规范化,以逐步消除存在的问题,从而得到一定规范程度的关系模式。然而对于在目前的教材中及课堂讲授中,对这部分内容的介绍更多的停留在理论部分的讲述,大部分学生并没有真正的理解掌握并应用到数据库实践操作中。因此,如何有效学习数据库规范化理论知识,并将其应用到数据库技术实践体系中,构建科学的教学模式,是当前数据库课程教学改革的重要任务。
一、数据库规范化理论
关系数据库规范化理论的目标是得到一组满足用户需求的关系模式,旨在设计出一个“好”的关系模式,这里的“好”指的是数据拥有较少的数据冗余度和操作异常,以便我们对数据进行高效的管理。
例如,需要建立一个描述学校教务的数据库,有学生表student的属性集合U={Sno,Sname,Sdept,Mname,Cname,Grade},其中Sno表示学号、Sname表示学生姓名、Sdept表示所在系、Mname表示系主任姓名、Cno表示课程号、Grade表示成绩;现实世界已知事实的语义:一个院系有若干学生,一名学生只属于一个院系;一个院系只有一名系主任;一名学生可以选修多门课程,每门课程有多名学生选修;每个学生所学的每门课程都有一个成绩。如何判断student是不是一个“好”的关系模式呢?经分析,关系模式student有如下问题:
1.数据冗余
如果一个院系有1000名学生,而且每名学生大约选修了20门课程,则院系名称和系主任姓名就要重复出现20000次,造成了巨大的数据冗余。
2.插入异常
如果一个院系刚成立,暂无招生,或者虽然有学生但尚未安排课程,按照实体完整性的原则,就无法把这个院系及系主任的信息录入到数据库。
3.删除异常
如果某院系的学生全部毕业且无新生的情况下,我们在删除该院系学生信息的同时,把这个院系及其系主任的信息也一并删除了。
4.更新异常
如果某系更换系主任或更换院系名称后,系统必须修改与该院系相关的每一条记录;若有一条记录中的数据未实时更新,就会造成数据不一致现象。因此,student不是一个“好”的关系模式。事实上,数据冗余和操作异常现象产生的根源,就是由于关系模式中属性间存在着复杂的依赖关系,这种依赖都称为数据依赖。对于关系模式student={Sno,Sname,Sdept,Mname,Cname,Grade},其属性关系如图1所示,由图1可看出,关系模式student中存在一定的数据依赖,如学生学号和学生姓名、学生学号和院系名称、院系名称和系主任之间都存在着依赖关系。
关系规范化理论正是用来改造关系模式,对于“不好”的关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题;对于关系模式student,依据规范化理论的指导原则,若消除数据冗余、异常等问题,可将关系模式Student分解为三个关系模式:S(Sno,Sname,Sdept)、SC(Sno,Cname,Grade)、Dept(Sdept, Mname),可基本解决以上问题。
二、确定理论教学的关键点
数据库规范化理论中,通常是通过一个关系模式是否属于某一范式(Normal Forms,简记为NF)来确定其是否解决了数据冗余、操作异常等问题,是否为一个“好”的模式。范式的种类与数据依赖有着直接的联系,主要有1NF、2NF、3NF、BCNF等多种。一个低一级范式的关系模式,通过模式分解(投影运算)可以转化为若干个高一级范式的关系模式的集合,这个过程叫做规范化,关系模式规范化的基本步骤如图2所示。
由图2可知,在范式的判断中,主要是对模式中主属性、非主属性、部分函数依赖、完全函数依赖、传递函数依赖、多值依赖的判别。关系模式中,属于候选键的属性称之为主属性,反之则为非主属性,则候选键则成为主属性和非主属性的判断标准,故候选键的判定
原创力文档


文档评论(0)