数据库第五章关系数据库设计理论简.ppt_第1页
数据库第五章关系数据库设计理论简.ppt_第2页
数据库第五章关系数据库设计理论简.ppt_第3页
数据库第五章关系数据库设计理论简.ppt_第4页
数据库第五章关系数据库设计理论简.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章关系数据理论及数据库设计,关系数据库设计中存在的问题(),示例:考虑为管理职工的工资信息而设计一个关系模式。,关系数据库设计中存在的问题(),问题:麻烦!麻烦!好麻烦!唉,剪不断,理还乱插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入。删除异常:如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了。数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次。更新异常:如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改。,关系数据库设计中存在的问题(),解决之道:分解!分解!再分解!哇,原来生活可以如此简单,关系数据库设计中存在的问题(),有关学生的关系模式S(S#,SN,SD,DEAN,C#,G),快速热身1:它有哪些数据冗余?望闻问切:不良的数据依赖,函数依赖(),定义函数依赖:设R(U)是属性集U上的关系模式,X,YU,r是R(U)上的任意一个关系,如果成立对t,sr,若tX=sX,则tY=sY,那么称“X函数决定Y”,或“Y函数依赖于X”,记作XY。称X为决定因素。如S#SN,(S#,C#)G平凡函数依赖:如果XY,但YX,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。如(S#,SN)SN是平凡的函数依赖,函数依赖(),部分函数依赖:在R(U)中,如果XY,且对于任意X的真子集X,都有XY,则称Y对X完全函数依赖,记作XY,否则称为Y对X部分函数依赖,记作XY。(S#,C#)G,(S#,C#)SN快速热身2:找出S中的另一部分函数依赖。传递函数依赖:在R(U)中,如果XY,YZ,且YX,YX,则称Z对X传递函数依赖。S#SD,SDDEAN快速热身3:找出职工工资表中的传递函数依赖。,函数依赖(),检验:AC?CA?ABD?辨识:满足依赖的关系:依赖在模式的某个关系实例上成立。模式上成立的依赖:依赖在模式的所有关系实例上都成立。,练习,找出可能的函数依赖。,码,定义超码:设K为R的属性或属性组,若KU,则称K为R的超码。候选码:设K为R的超码,若KU,则称K为R的候选码。主码:若R(U,F)有多个候选码,则可以从中选定一个作为R的主码。主属性:包含在每一个候选码中的属性,称作主属性。全码:关系模式的码由整个属性组构成。如(S#,C#,P#),范例,关系模式S(S#,SN,SD,DEAN,C#,G)主码:(S#,C#)函数依赖:(S#,C#)GS#SN,(S#,C#)SNS#SD,(S#,C#)SDSDDEAN,范式,定义范式是对关系的不同数据依赖程度的要求。通过模式分解将一个低级范式转换为若干个高级范式的过程称作规范化(概念的纯粹化)。,1NF,2NF,3NF,4NF,BCNF,5NF,1NF(),定义关系中每一分量不可再分。即不能以集合、序列等作为属性值。,1NF(),分量是否需要再分,与具体应用有关。如果用到值的一部分,则需要进一步分割。如果只是查询出生日期,则它满足1NF。如果查询两人生日是否相同,则只比较月、日,需要将生日分解,就不满足1NF。如果比较两人的生肖呢?,2NF(),关系模式S(S#,SN,SD,DEAN,C#,G)不良特性插入异常:如果学生没有选课,关于他的个人信息及所在系的信息就无法插入。删除异常:如果删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了。更新异常:如果学生转系,若他选修了k门课,则需要修改k次。数据冗余:如果一个学生选修了k门课,则有关他的所在系的信息重复,2NF(),定义若R1NF,且每个非主属性完全依赖于码,则称R2NF(消除非主属性对码的部分依赖)。如S2NF,因为(S#,C#)SN,(S#,C#)SD改造非主属性有两种,一种完全依赖于码,一种部分依赖于码。将S分解为:SC(S#,C#,G)S_SD(S#,SN,SD,DEAN),2NF(),快速热身关系模式R(A,B,C,D),码为AB,给出它的一个函数依赖集,使得R属于1NF而不属于2NF。,3NF(),S_SD(S#,SN,SD,DEAN)不良特性插入异常:如果系中没有学生,则有关系的信息就无法插入。删除异常:如果学生全部毕业了,则在删除学生信息的同时有关系的信息也随之删除了。更新异常:如果学生转系,不但要修改SD,还要修改DEAN,如果换系主任,则该系每个学生元组都要做相应修改。数据冗余:每个学生都存储了所在系的系主任的信息。,3NF(),定义关系模式R中,若不存在这样的码X,属性组Y及非主属性Z(ZY),使得下式成立,XY,YZ,YX则称R3NF(消除非主属性对码的传递依赖)。如S_SD3NF,因为有S#SD,SDDEAN改造将S分解为:STUDENT(S#,SN,SD)DEPT(SD,DEAN),3NF(),快速热身关系模式R(A,B,C,D),码为AB,给出它的一个函数依赖集,使得R属于2NF而不属于3NF。,模式分解中的问题,实例1表(职工,级别,工资)可以有两种分解途径,分解一:(职工,工资),(工资,级别)分解二:(职工,级别),(工资,级别)不同行业机构的不同工资级别会有相同工资数额,因此按分解一,有可能导致同一职工对应不同的工资级别,从而丢失了有关职工工资级别的信息(丢失了函数依赖:职工级别)。,丢失函数依赖,模式分解中存在的问题,R(A,B,C),AB(R),BC(R),AB(R),BC(R),R(A,B,C),AB(R),BC(R),AB(R),BC(R),有损分解,无损分解,关系模式的分解算法,分解的基本代数运算投影自然连接分解的目标无损连接分解保持函数依赖达到更高级范式,关系模式的分解算法,保持无损的模式分解有损分解的例子,R(A,B,C),AB(R),BC(R),AB(R),BC(R),关系模式的分解算法,无损连接分解定义(分解为两个关系模式)关系模式R(U),U1,U2U,U1U2=U,r是R上的一个关系,r1=U1(r),r2=U2(r),若r=r1r2,则称(r1,r2)是r的一个无损连接分解。注:rU1(r)U2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论