数据库系统概论(六)_第1页
数据库系统概论(六)_第2页
数据库系统概论(六)_第3页
数据库系统概论(六)_第4页
数据库系统概论(六)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章 关系数据理论问题:给出一组数据,如何构造一个适合于 它们的数据模型? 6.1 数据依赖(理论核心) 6.2 规范化 6.3 关系框架的分解 8/13/202216.1 数据依赖关系模型的形式化定义(规范化理论的背景)数据依赖 函数依赖(FD)8/13/20222关系模型的形式化定义1、关系模型的五元组定义:R R 关系名,U 属性组,D 域,DOM 映射(属性与域之间的联系),F 数据依赖(属性与属性之间的联系)2、关系模型的三元组定义:R 当且仅当 U 上的一个关系 r 满足 F 时,r 称为关系模式R的一个关系。8/13/20223数据依赖1、定义 数据依赖是通过一个关系中属性间值

2、的相等与否体现出来的数据间的相互关系,它是现实世界属性间相互联系的抽象。2、种类 函数依赖 数据依赖 多值依赖 连接依赖8/13/20224函数依赖的定义 设R(U)是属性集U上的关系模式。X,Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。 X称为这个函数依赖的决定属性集。学号姓名学号年龄学号性别学号籍贯具体关系的函数依赖关系框架的函数依赖8/13/20225完全依赖 在R(U)中,如果XY,并且对于X的任何一个真子集X都有XY,则称Y对X完全依赖,记作X Y。 部分依

3、赖 若XY但Y不完全依赖于X,则称Y对X部分函数依赖,记作X Y。 传递依赖 在R(U)中,如果XY,YZ,且YX,ZY,YX,则称Z对X传递依赖。记作X Z。 fp函数依赖的种类传递SC ( SNO , CNO , SD , Grade )8/13/20226课堂练习已知关系模式SLC(S#,SD,SL,C#,G), 学号 系 住址 课程号 成绩规定每个系的学生只住一个地方,写出关系模式中的所有函数依赖。S#SD, SDSL, S# SL,(S#,C#)G,(S#,C#)SD,(S#,C#)SLfpp传递8/13/20227公理F1(自反性):若XY,则 XY 或 XX。F2(增广性):若X

4、Y,则 XZYZ 或 XZY。F3(传递性):若XY,YZ,则 XZ。推理规则F4(伪增性):若XY,WZ,则 XWYZ。F5(伪传性):若 XY,YWZ,则 XWZ。F6(合成性):若 XY,XZ,则 XYZ。F7(分解性):若 XYZ,则 XY,XZ。 FD公理及推理规则8/13/20228课堂练习1、已知关系框架R(A,B,C,D,E,P)及其上的函数依赖集合F= AB,CP,EA,CED ,则R的候选码是( )。AC BC CE CD2、给定关系框架R(A,B,C,D ,E)及其上的函数依赖集合F= CDA,BC,DE ,则R的候选码是( )。CD BC BD AE3、设关系框架R上的

5、函数依赖集合F= BD,CAE ,则利用FD公理和规则可推出( )。CBB EAD DAB ABAD4、已知关系模式r(a,b,c,d,e)及其上的函数相关性集合fad,bc ,ea ,该关系模式的候选关键字是( ) 。 A.ab B. be C.cd D. de8/13/202296.2 规范化 【目的】通过研究关系之间的等价问题,找出一些方法来指导我们定义数据库的逻辑结构,使其具有好的性能(冗余小、数据完整性好、操作方便)。 关系模型评价 范式 规范化小结8/13/202210关系模型评价存在的问题(1) 冗余度高(2) 修改困难(3) 插入异常(4) 删除异常问题的原因 关系中存在多余

6、的数据依赖, 不规范。OF240ZHOU90C1S4OF347WANG56C4S3OF235LIU70C2S3OF240ZHOU75C1S3OF240ZHOU90C1S2OF347WANG87C4S1OF235LIU85C3S1OF235LIU90C2S1OF240ZHOU90C1S1OFFICETAGETNAMEGRADEC-NOS-NOSCT关系8/13/202211解决问题的办法将关系规范化关系规范化定义通常将结构较简单的关系取代结构较复杂的关系的过程称为关系的规范化。8/13/202212范式范式表示符合某一种级别的关系模式的集合。 R为第几范式写成RxNF。范式的概念是由Codd给出

7、的,并在19711972年提出了1NF、2NF、3NF的概念,1974年Codd和Boyce又共同提出了BCNF的概念,1976年Fagin又提出了4NF,后来又有人提出了5NF。对于各种范式之间的联系是: 5NF 4NF BCNF 3NF 2NF 1NF。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。8/13/202213关系的属性是原子的(不可分的),这样的关系模式就属于1NF。 1NF示例: R(S_NO,C_NO,GRADE,TNAME,TAGE,OFFICE); F = (S_NO,C_NO)GRADE, C_NOTNAME,T

8、NAMETAGE,TNAMEOFFICE ;则R1NF8/13/2022148/13/2022152NF若R1NF,且每个非主属性完全函数依赖于关键字,则R2NF。示例: R(S_NO,C_NO,GRADE,TNAME,TAGE,OFFICE); F = (S_NO,C_NO)GRADE, C_NOTNAME, TNAMETAGE, TNAMEOFFICE ;请问R2NF?分解: SC(S_NO,C_NO,GRADE) CTO(C_NO,TNAME,TAGE,OFFICE) FSC = (S_NO,C_NO)GRADE FCTO = C_NOTNAME, TNAMETAGE, TNAMEOFF

9、ICE ;8/13/2022163NF若R2NF,且R的每个非主属性都不传递依赖于关键字,则R3NF。示例: SC(S_NO,C_NO,GRADE) CTO(C_NO,TNAME,TAGE,OFFICE) FSC = (S_NO,C_NO)GRADE FCTO = C_NOTNAME, TNAMETAGE, TNAMEOFFICE 请问SC3NF?CTO3NF?分解: SC(S_NO,C_NO,GRADE)FSC = (S_NO,C_NO)GRADE CT(C_NO,TNAME)FCT = C_NOTNAME TO(TNAME,TAGE,OFFICE)FTO=TNAMETAGE,TNAMEOF

10、FICE8/13/202217BCNFR1NF,若XY且YX时X必含有关键字,则RBCNF。一个满足BCNF的关系框架R:所有非主属性对每一候选关键字都是完全依赖;所有主属性对每一不包含它的候选关键字也是完全依赖;没有任何属性完全依赖于非候选关键字的任何一组属性。消除了主属性对候选关键字的部分依赖和传递依赖。 S-NONAMEC-NOGRADES1WANGC190S1WANGC290S1WANGC385S2LIC190S3CHENC175S3CHENC270分析:此关系有两个候选关键字(S-NO,C-NO)(NAME,C-NO)而S-NONAME因此RBCNF8/13/202218规范化小结1

11、、规范化的基本思想 逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它分离出去。 所谓规范化实质上是概念的单一化。2、规范化的过程 关系模式的规范化的过程是通过对关系模式的分解来实现的。 8/13/202219非规范化关系 消除所有非平坦的数据结构 消除非主属性对关键字的部分函数依赖 消除非主属性对关键字的传递函数依赖 消除主属性对关键字的部分和传递函数依赖 1NF 2NF 3NF BCNF 8/13/202220课堂练习1、给定关系r如图所示, r 最高是( )的

12、。 1NF 2NF 3NF BCNF 2、设有关系框架R(A,B,C,D)及其上的函数依赖集合F=AB,AC,DA,那么该关系框架R最高是( )的。1NF 2NF 3NF BCNFABCb5bd5ba4ce2c8/13/202221课堂练习3、设学生关系s(sno,sname,ssex,sage,sdpart)的主键为sno,学生选课关系sc(sno,cno,score)的主键为sno和cno,则关系r(sno,cno,ssex,sage,sdpart,score)的主键为sno和cno,其满足( )。 a. 1nf b.2nf c. 3nf d. bcnf 8/13/2022226.3 关系

13、框架的分解 R(S_NO,C_NO,GRADE,TNAME,TAGE,OFFICE)F = (S_NO,C_NO)GRADE, C_NOTNAME, TNAMETAGE, TNAMEOFFICE 1=SC, CT, TO SC(S_NO,C_NO,GRADE), CT(C_NO,TNAME), TO(TNAME,TAGE,OFFICE)2=SC,GT,CO; SC(S_NO,C_NO,GRADE), GT(GRADE, TNAME), CO(C_NO,TAGE,OFFICE)3=SC,GTO; SC(S_NO,C_NO,GRADE), GTO(GRADE, TNAME,TAGE,OFFICE)

14、 无损分解的定义 关系框架分解准则 无损分解的判别算法8/13/202223一、无损分解的定义=R1,Rk是R的一个分解,若对R的任何一个关系r均有r = Ri(r)成立,则称分解具有无损连接性。简称为无损分解。i=1k8/13/202224二、关系框架分解准则分解既要“保持函数依赖”,又要是“无损分解”。已知关系 R 分解一:1= R1 , R2, R3 R1 R2 R3后元组增加了,有损;丢失函数依赖。分解二:2= R1 , R2 R1 R2无损,但丢失了函数依赖,存在插入、删除异常。分解三:3= R1 , R2 R1 R2无损且保持函数依赖。8/13/202225三、无损分解的判别算法输

15、入: 关系框架R(A1,A2,Ak), 函数依赖集合F, R的一个分解 = R1 ,Rn。输出:是否为无损分解。示例: R(S_NO,C_NO,GRADE,TNAME,TAGE,OFFICE); F = (S_NO,C_NO)GRADE, C_NOTNAME, TNAMETAGE, TNAMEOFFICE ; 1= SC, CT, TO; SC(S_NO,C_NO,GRADE), CT(C_NO,TNAME), TO(TNAME,TAGE,OFFICE)。8/13/202226构造一个n行k列的表,其中第i行对应于子框架Ri,第j列对应于R的属性Aj,这种表称为R表,表中的第i行第j列处的元素

16、应这样填入:如果Aj是子框架Ri的属性,则在第i行第j列处填上符号aj,否则填上符号bij。RnTijRiR1AkAjA1RS_NO C_NO GRADE TNAME TAGE OFFIGE SC CT TO 1的初始R表 a1 a2 a3 b14 b15 b16 b21 a2 b23a4 b25 b26 b31 b32 b33a4 a5 a68/13/202227填好R表后,根据F中的函数依赖对它进行修改:取F中的某一函数依赖XY,在表中寻找对应于X中所有属性的分量相同的行,然后将这些行对应于Y中所有属性的分量也都改为一致。对F中的所有函数依赖重复执行第二步,直至无新的修改为止。修改1的初始

17、R表S_NO C_NO GRADE TNAME TAGE OFFIGE SC a1 a2 a3 b14 b15 b16 CT b21 a2 b23a4 b25 b26 TO b31 b32 b33a4 a5 a6F = (S_NO,C_NO)GRADE, C_NOTNAME, TNAMETAGE, TNAMEOFFICE ; a4 a5 a5 a6 a68/13/202228若R表中某一行的结果为a1a2 ak,则分解是无损分解;否则不是无损分解。S_NO C_NO GRADE TNAME TAGE OFFIGE SC a1 a2 a3 a4 a5 a6 CT b21 a2 b23a4 a5

18、a6 TO b31 b32 b33a4 a5 a6判断:修改后第一行是全a, 因此1是无损分解。8/13/202229课堂练习R(S_NO,C_NO,GRADE,TNAME,TAGE,OFFICE);F = (S_NO,C_NO)GRADE, C_NOTNAME, TNAMETAGE, TNAMEOFFICE ;2=SC,GT,CO;SC(S_NO,C_NO,GRADE), GT(GRADE, TNAME),CO(C_NO,TAGE,OFFICE)S_NO C_NO GRADE TNAME TAGE OFFIGE SC a1 a2 a3 b14 b15 b16 GT b21 b22 a3 a4

19、 b25 b26 CO b31 a2 b33 b34 a5 a6 2的初始R表8/13/202230思考题1、设有关系模式w(c,p,s,g,t,r),其数据依赖集:d= cp,(s,c)g,(t,r)c,(t,p)r,(t,s)r ,若将关系模式w分解为三个关系模式w1(c,p),w2(s,c,g),w2(s,t,r,c),则w1的规范化程序最高达到( ) 。 A. 1NF B.2NF C. 3NF D. BCNF 8/13/202231思考题1、举例说明关系框架上的函数依赖与具体关系的函数依赖的区别。2、试述如何将一个非规范化的关系转换成一组符合BCNF的关系的集合。 3、现有如下关系模式:R( A,

温馨提示

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

评论

0/150

提交评论