1 / 32

数据库原理与应用

数据库原理与应用. 16 关系数据理论 - 范式 ② 郑捷. 关系数据理论. 问题的提出 规范化 公理系统 模式的分解. 数据库原理与应用. 郑捷 lzj@fjnu.edu.cn www.lzj.name. 2. 关系模式. 关系模式的形式化描述 一个五元组 R ( U , D , DOM, F ) 在本章中, D 和 DOM 关系不大 我们关注的是其中的三元组: R < U , F >. 数据库原理与应用. 郑捷 lzj@fjnu.edu.cn www.lzj.name. 3. 数据依赖. 一个关系内部属性与属性之间的一种约束关系

jarvis
Download Presentation

数据库原理与应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库原理与应用 16 关系数据理论 - 范式 ② 郑捷

  2. 关系数据理论 问题的提出 规范化 公理系统 模式的分解 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 2

  3. 关系模式 关系模式的形式化描述 一个五元组 R(U, D, DOM, F) 在本章中,D和DOM关系不大 我们关注的是其中的三元组: R<U, F> 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 3

  4. 数据依赖 一个关系内部属性与属性之间的一种约束关系 现实世界属性间相互联系的抽象 数据内在的性质,语义的体现 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 4

  5. 上述模式存在的问题 数据冗余太大 更新异常(Update Anomalies) 插入异常(Insertion Anomalies) 删除异常(Deletion Anomalies) 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 5

  6. 规范化 规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 6

  7. 函数依赖 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 7

  8. 平凡与非平凡依赖 在关系模式R(U)中,对于U的子集X和Y, 若X→Y,但Y≮X,则称X→Y是非平凡的函数依赖 若X→Y,但Y<X, 则称X→Y是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno 以下用小于号代替集合的包含符号 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 8

  9. 决定因素 若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。 若X→Y,Y→X,则记作X←→Y。 若Y不函数依赖于X,则记作X\→Y。 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 9

  10. 完全和部分函数依赖 在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'\ → Y, 则称Y对X完全函数依赖,记作 X →FY。 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖, 记作X → PY。 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 10

  11. 传递函数依赖 在R(U)中,如果X→Y,(Y≮X) ,Y\→X Y→Z,则称Z对X传递函数依赖。 记为:X →传递Z 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 11

  12. 码、候选码,主码 设K为R<U,F>中的属性或属性组合。若K→FU, 则K称为R的侯选码(Candidate Key)。 若候选码多于一个,则选定其中的一个做为主码(Primary Key)。 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 12

  13. 码中的属性 主属性与非主属性 包含在任何一个候选码中的属性 ,称为主属性(Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) 全码 整个属性组是码,称为全码(All-key) 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 13

  14. 范式 范式(Normal Formal)是符合某一种级别的关系模式的集合 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式 范式的种类 1NF, 2NF, 3NF, BCNF, 4NF, 5NF 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 14

  15. 关系数据理论 问题的提出 规范化 公理系统 模式的分解 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 15

  16. 第一范式 1NF

  17. 第二范式 2NF • 定义:若R∈1NF,且每个非主属性完全函数依赖于码,则R∈2NF • 即:在1NF基础上消除部分依赖,得到2NF • 消除方式:;利用投影分解,将一个关系分解成若干个关系

  18. 案例 • 例:关系模式SLC(Sno, Sdept, Sloc, Cno, Grade) • 根据依赖分析,Sdept、Sloc和Cno不存在依赖关系 • 分解方式:本模式中存在两种完全依赖,那么就根据这两种完全依赖为依据,将其分解

  19. 第三范式 3NF • 定义:关系模式R<U, F>中不存在这样的码X,属性组Y和非主属性Z(Z不包含于Y),使得X→Y, Y→Z成立,Y\→X,则称R∈3NF • 即:在2NF基础上消除了对码的传递依赖 • 但是,多组候选码的情况除外 • 消除方式:还是通过投影分解关系

  20. BC范式 BCNF • 定义:关系模式R<U, F>∈1NF。若X→Y且Y不包含于X时,X必含有码,则R∈BCNF • 即:每一个决定因素都包含码的1NF属于BCNF • 可以证明,BCNF比3NF更严格

  21. 案例 • 例:C(Cno, Cname, Pcno) • 例:SC(Sno, Cno, Grade) • 例:S(Sno, Sname, Sdept, Sage) • 例:SJP(S, J, P) • 反例:STJ(S, T, J)

  22. 3NF的漏洞 • 3NF中可能在主属性中存在对码的部分依赖和传递依赖

  23. 模式分解的彻底程度 • 当一个模式已经满足BCNF时,在函数依赖的范围内已经实现了彻底的分离 • 彻底消除了插入和删除的异常 • 但是除了函数依赖,还有一些其他形式的依赖

  24. 多值依赖 MVD • 定义:R(U)是属性集U上的一个关系模式,X、Y、Z是U的子集,并且Z=U-X-Y。关系模式R中多值依赖X→→Y成立,当且仅当对R的任意关系r,给定的一堆(x, z),有一组的Y的值,这组值仅仅决定于x而与z无关 • 在R(U)的任一关系r中,若存在元组t、s,使得t[X]=s[X],那么就必然存在元组w、v∈r,使得w[X]=v[X]=t[X],而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z],则Y多值依赖于X,记为X→→Y。这里X、Y是U的子集,Z=U-X-Y。 • 若X→→Y,而Z=空集,则成为平凡的多值依赖

  25. 案例 • 例:178页的授课Teaching关系 • 对于一个课程和课本,有一组授课教师的值,但是这组教师的值取决于课程,更换成该课程的另外一组课程和课本,授课教师还是这些人 • 例:179页的仓库模型

  26. 多值依赖的特点 • 对称性 • 传递性 • 函数依赖可以看作多值依赖的特殊情况 • X→→Y,X→→ZX→→YZ • X→→Y,X→→ZX→→Y∩Z • X→→Y,X→→ZX→→Y-Z,X→→Z-Y

  27. 多值依赖的特点 • 多值依赖的有效性 与属性集的范围有关 • 函数依赖若成立,则对子集也成立,但是多值依赖不能断言对子集成立

  28. 第四范式 4NF • 定义:关系模式R<U, F>∈1NF,如果对于R的每个非平方多值依赖X→→Y(Y不包含于X),X都含有码,则R∈4NF • 4NF限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖 • 4NF允许的非平凡的多值依赖实际上是函数依赖 • 如果一个关系模式是4NF,则必定是BCNF • 用分解模式的方式消除非平凡的多值依赖

  29. 其它依赖和范式 • 除了函数依赖和多值依赖,还有很多依赖,比如连接依赖。 • 除了1NF到4NF,还有5NF等范式

  30. 规范化小结 • 规范化的基本思想是逐步消除数据依赖中的不合适的部分 • 基本手段就是分解关系

  31. 关系数据理论 问题的提出 规范化 公理系统 模式的分解 数据库原理与应用 郑捷 lzj@fjnu.edu.cn www.lzj.name 31

  32. 练习 • 195页,1、2题

More Related