欢迎来到天天文库
浏览记录
ID:58700787
大小:286.00 KB
页数:95页
时间:2020-10-04
《第4章关系数据库规范化理论ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、安庆师范学院计算机与信息学院数据库系统概论AnIntroductiontoDatabaseSystem第四章关系数据理论AnIntroductiontoDatabaseSystem第四章关系数据理论4.1规范化问题的提出4.2函数依赖4.3范式4.4关系模式的规范化AnIntroductiontoDatabaseSystem例:描述教学管理的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname)成绩(Grade)单一的关系模式SCD:U={Sno,Sdept,Mname,Cna
2、me,Grade}4.1规范化问题的提出AnIntroductiontoDatabaseSystem数据依赖对关系模式的影响(续)语义:⒈一个系有若干学生,一个学生只属于一个系;⒉一个系只有一名主任;⒊一个学生可以选修多门课程,每门课程有若干学生选修;⒋每个学生所学的每门课程都有一个成绩。AnIntroductiontoDatabaseSystemSnoSdeptMnameCnameGradeS1计算机刘伟数据库90S1计算机刘伟离散数学85S2信息王平数据结构57S2信息王平信息系统80S2信息王平VB70S3信息王
3、平数据结构70S3信息王平数据库80S3信息王平离散数学70S3信息王平操作系统85S4自动化李明数据库93AnIntroductiontoDatabaseSystem根据上述的语义规定,并分析以上关系中的数据,我们可以看出:(Sno,Cname)属性的组合能唯一标识一个元组,所以(Sno,Cname)是该关系模式的主码。在进行数据库的操作时,会出现以下几方面的问题:AnIntroductiontoDatabaseSystem关系模式Student中存在的问题1数据冗余太大浪费大量的存储空间例:每一个系主任的姓名重复出
4、现2插入异常(InsertionAnomalies)该插的数据插不进去例,如果一个系刚成立,尚无学生,或有了学生但未选修课程,我们就无法把这个系及其系主任的信息存入数据库。AnIntroductiontoDatabaseSystem3修改异常(UpdateAnomalies)修改数据时,维护数据完整性代价大。例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组4删除异常(DeletionAnomalies)不该删除的数据不得不删例,如果某个系的学生全部毕业了,我们在删除该系学生信息的同时,把这个系及其系主任的信
5、息也丢掉了。AnIntroductiontoDatabaseSystem将单一的关系模式分解成三个关系模式:S(Sno,Sdept)SC(Sno,Cname,Grade)D(Sdept,Mname)AnIntroductiontoDatabaseSystem在以上三个关系模式中,实现了信息的某种程度的分离,S中存储学生基本信息,与所选课程及系主任无关;D中存储系的有关信息,与学生无关;SC中存储学生选课的信息,而与系的有关信息无关。AnIntroductiontoDatabaseSystem与单一的Student关系模
6、式相比:数据的冗余度明显降低避免了插入异常不会引起删除异常不会引起更新异常AnIntroductiontoDatabaseSystem规范化理论正是用来改造关系模式,通过分解关系模式将“不好”的关系模式转化为“好”的关系模式,以解决插入异常、删除异常、更新异常和数据冗余问题。AnIntroductiontoDatabaseSystem关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系集合4.2
7、函数依赖AnIntroductiontoDatabaseSystem4.2.1函数依赖一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖AnIntroductiontoDatabaseSystem关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖。数据依赖一般分为函数依赖、多值依赖和连接依赖。其中,函数依赖是最重要的数据依赖。AnIntroductiontoDatabaseSystem一、函数依赖比如描述一个学生的关系,可以有学号(Sno),姓名(Sname),系名(Sd
8、ept)等几个属性。由于一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值确定之后,姓名和该生所在系的值也就被唯一地确定了。就象自变量x确定之后,函数值f(x)也就唯一地确定一样,称Sno函数决定Sname和Sdept或者说Sname,Sdept函数依赖于Sno,记为:Sno→Sname,Sno→SdeptAnInt
此文档下载收益归作者所有