关系数据库基本原理规范化理论市公开课一等奖省赛课获奖课件_第1页
关系数据库基本原理规范化理论市公开课一等奖省赛课获奖课件_第2页
关系数据库基本原理规范化理论市公开课一等奖省赛课获奖课件_第3页
关系数据库基本原理规范化理论市公开课一等奖省赛课获奖课件_第4页
关系数据库基本原理规范化理论市公开课一等奖省赛课获奖课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

关系数据库基本原理

(3)规范化理论王传栋南京邮电大学计算机学院关系数据库基本原理规范化理论第1页2引言关系DB规范化设计是指面对一个现实问题(问题域),怎样选择一个比很好关系模式集合(求解域:DB实现方案,也称数据库模式)规范化设计理论,对关系数据库结构设计起着主要作用,包括3个方面内容:数据依赖起着关键作用,研究数据之间联络范式(NF)关系模式标准模式设计方法自动化设计基础关系数据库基本原理规范化理论第2页3关系模式设计问题外延和内涵外延,与时间相关,随时间推移不停改变通常指关系、表或当前值内涵,与时间是独立,通常指关系模式,包含2个方面数据定义:关系、属性、域定义和说明数据完整性约束定义静态约束,包括到数据之间联络(称为数据依赖,datadependences)、主键和值域设计动态约束,定义各种操作(插入、删除、修改)对关系值影响关系数据库基本原理规范化理论第3页4关系模式设计问题冗余和异常问题域:学生选修课程泛关系模式R(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit, CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)泛关系关系数据库基本原理规范化理论第4页5关系模式设计问题冗余和异常数据冗余是指同一个数据在系统中屡次重复出现数据冗余引发操作异常修改异常插入异常删除异常消除冗余主要方式:分解问题什么是最优关系模式?标准是什么?怎样实现?关系数据库基本原理规范化理论第5页6关系模式设计问题冗余和异常求解域数据库模式数据库实例:关系集合关系数据库基本原理规范化理论第6页7关系模式设计问题非形式化设计准则准则1:一事一地设计标准关系模式设计应尽可能只包含有直接联络属性,不要包含有间接联络属性也就是:每个关系模式应只对应于一个实体类型或一个联络类型准则2关系模式设计应尽可能使对应关系中不出现插入、删除和修改等操作异常现象假如出现任何异常,则要清楚地加以说明,并确保更新数据库程序正确操作关系数据库基本原理规范化理论第7页8关系模式设计问题非形式化设计准则准则3关系模式设计应尽可能使对应关系中防止放置经常为空值属性(允许为NULL属性尽可能少)准则4关系模式设计应尽可能使关系等值连接在主键和外键属性上进行,而且确保连接后不会生成额外元组关系数据库基本原理规范化理论第8页9关系模式设计问题符号要求大写字母“A,B,C,…”表示单个属性大写字母“…,U,V,W,X,Y,Z”表示属性集大写字母R表示关系模式,小写字母r表示其关系有时也用属性名组合写法表示关系模式若模式有A、B、C有三个属性,就用ABC表示关系模式属性集{A1,…,An}简写为A1…AnX∪Y简写为XYX∪{A}简写为XA或AX关系数据库基本原理规范化理论第9页10函数依赖(functionaldependency,简记为FD)定义关系模式R(U),XU,YU,r是R当前关系,函数依赖FD是形为X→Y一个命题:r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],则称FDX→Y在关系模式R(U)中成立若X→Y,且Y→X,记作XY,X与Y一一对应(一对一)了解函数依赖是指:一个或一组属性值能够决定其它属性值属性值之间联络(本质:实体完整性)是基于整个关系模式,而不是关系模式特定实例(或值)X→Y,读“X函数决定Y”或“Y函数依赖于X”,称X为决定子Y不依赖于X,记作X→Y/

关系数据库基本原理规范化理论第10页11函数依赖(functionaldependency,简记为FD)示例1)关系R中FDA→B关系S中FDA→B2)关系模式R(ABCD),属性值间含有联络:A值与B值有一对多联络FDB→A;A→BC值与D值有一对一联络FD

C→D,D→C;DC/

/

关系数据库基本原理规范化理论第11页12函数依赖(functionaldependency,简记为FD)示例3)R(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit, CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)SNO→SNAME,SNO→(AGE,SEX)CNO→CNAME(SNO,CNO)→GRADE,(SNO,CNO)→UCNO→TNO,TNO→CNOAGE→SNO,SEX→AGE等/

/

/

关系数据库基本原理规范化理论第12页13FD和关键码联络定义关系模式R(U),假设X1

X,XU若X→U在R上成立,则称X是R一个超键若X→U在R上成立, 但对于X1→U不成立(X1→U),则称X是R上一个候选键/

关系数据库基本原理规范化理论第13页14FD和关键码联络示例R(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit, CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)(SNO,CNO)是唯一候选键,因为(SNO,CNO)→U怎样确定关系候选键?包含(SNO,CNO)属性组合就是超键,但不是候选键,如(SNO,CNO,AGE)(SNO,SNAME,CNO,CNAME)∵能→U,但……关系数据库基本原理规范化理论第14页15FD和关键码联络逻辑蕴含设F是在关系模式R上成立FD集合,X→Y是一个FD。假如对于R每个满足F关系r也满足X→Y,那么称F逻辑蕴涵X→Y,记为F⊨X→Y。示例:F={A→B,B→C}⊨

A→CFD闭包设F是FD集,被F逻辑蕴涵全部FD集合,称为FD集F闭包,记为F+,即F+={X→Y|记为F⊨X→Y}属性集闭包设R(U,F),XU,则属性集X相对于F闭包: X

={属性A|F+

⊨X→A},是一个使用规则从F推出,全部形如满足X→A属性A集合+F关系数据库基本原理规范化理论第15页16FD和关键码联络属性集闭包算法,R(U,F),XU,求X+F关系数据库基本原理规范化理论第16页17FD和关键码联络示例:R(A,B,C,D,E),F={AB→C,B→D,C→E,EC→B,AC→B

} 求(AB)1)X(0)=X=AB;搜索F,得到AB→C,B→D; X(1)=AB∪C∪D=ABCD2)X(1)X(0);搜索F,得到C→E,AC→B; X(2)=ABCD∪E∪B=ABCDE3)X(2)X(1);搜索F,得到EC→B; X(3)=ABCDE∪B=ABCDE4)X(3)=X(2);结束,(AB)=ABCDE+F+F关系数据库基本原理规范化理论第17页18FD和关键码联络应用AB→E能否从F中推出? ∵(AB)=ABCDE,∴YESR(A,B,C,D,E),(AB)是候选键吗? ∵(AB)=ABCDE,∴YESR(U,F),求候选键方法:若属性A仅在FD右部,则它一定不包含在任何候选键中若属性A仅在FD左部,则它一定包含在某个候选键中若属性A既在FD右部又在FD左部,则它可能包含在某个候选键中在上述基础上求属性闭包+F+F关系数据库基本原理规范化理论第18页19FD和关键码联络应用R(C,T,H,R,S,G) F={C→T,HR→C,HT→R,CS→G,HS→R} 求其候选键求解<HS|H|S>+{C|T|R}∵(HS)=CTHRSG,∴HS是候选键H,S不是候选键HSC,HSR,HST,HSCT,HSCR,HSTR,HSCTR不是候选键+F关系数据库基本原理规范化理论第19页20关系模式范式引子1)规范化←使关系模式满足某种条件处理过程2)范式NF(NormalForm)←关系模式满足条件3)有6级范式,级别越高,条件越严格1NF2NF3NF√→BCNF√4NF5NF在模式设计中,处理数据之间函数依赖问题多值依赖连接依赖,理论研究关系数据库基本原理规范化理论第20页21关系模式范式第一范式(1NF)定义假如关系模式R每个关系r属性值都是不可分原子值,则称R是第一范式(firstnormalform,简记为1NF)模式备注满足1NF关系称为规范化关系,不然称为非规范化关系关系数据库研究关系都是规范化关系1NF是关系模式应具备最起码条件若关系模式有多值属性,须转化为多个单值属性或弱实体关系数据库基本原理规范化理论第21页22关系模式范式第一范式(1NF)示例泛关系模式R(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit, CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)问题分析数据冗余、更新异常?一事一地标准?(SNO,CNO)是候选键,(SNO,CNO)→U(SNO,CNO)→Grade;(SNO,CNO)→{U–Grade}关系数据库基本原理规范化理论第22页23关系模式范式第一范式(1NF)示例泛关系模式R(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit, CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)问题简化:S(SNO,SNAME,AGE,SEX,NativePlace)C(CNO,CNAME,Credit,CreditHours,CPNO)T(TNO,TNAME,TITLE,SEX)D(DNO,DNAME)SCTD(SNO,CNO,TNO,DNO,Grade)//问题依旧关系数据库基本原理规范化理论第23页24关系模式范式第一范式(1NF)示例泛关系模式R(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit, CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)问题简化:SCTD(SNO,CNO,TNO,DNO,Grade)//问题依旧(SNO,CNO)是候选键,(SNO,CNO)→{TNO,DNO,Grade}(SNO,CNO)→Grade;语义上是完整、正确(SNO,CNO)→{TNO,DNO}CNO→{TNO,DNO}是问题所在非主属性对候选键局部函数依赖关系数据库基本原理规范化理论第24页25关系模式范式第二范式(2NF)定义对于FDW→A,若存在X⊂W,有X→A成立则称W→A是局部依赖(A局部依赖于W)不然称W→A是完全依赖完全依赖也称为“左部不可约依赖”定义:主属性与非主属性若A是关系模式R候选键中属性则称A是R主属性不然称A是R非主属性关系数据库基本原理规范化理论第25页26关系模式范式第二范式(2NF)定义若关系模式R是1NF,且每个非主属性都完全函数依赖于候选键,那么称R是第二范式(2NF)模式假如数据库模式中每个关系模式都是2NF,则称数据库模式为2NF数据库模式了解满足1NF关系模式,消除了“非主属性对候选键局部依赖”,则会满足2NF消除方法:关系模式分解关系数据库基本原理规范化理论第26页27关系模式范式第二范式(2NF)分解成2NF模式集算法设关系模式R(U),主键是W,X⊂W;Z是非主属性集若存在FDX→Z,则W→Z是一个局部依赖;此时应把R分解成两个模式R1(XZ),主键是XR2(Y)其中Y=U–Z主键是W,外键是X(参考R1)若R1和R2仍不是2NF,则重复上述过程,直到分解后每一个关系模式都是2NF为止关系数据库基本原理规范化理论第27页28关系模式范式第二范式(2NF)示例SCTD(SNO,CNO,TNO,DNO,Grade)(SNO,CNO)是候选键(SNO,CNO)→{TNO,DNO},∵CNO→{TNO,DNO}∴是非主属性对候选键局部依赖分解关系模式,得到SC(SNO,CNO,Grade),满足2NFCTD(CNO,TNO,DNO),满足2NF 但仍有问题:CNO→DNO CNO→DNO是非主属性对候选键传递函数依赖关系数据库基本原理规范化理论第28页29关系模式范式第二范式(2NF)举一反三1)关系模式满足1NF,但不一定满足2NF2)关系模式满足2NF,则一定满足1NF3)关系模式不满足2NF,则一定存在“非主属性对候选键局部依赖”4)关系模式满足2NF,属性一定是原子,不可再分关系数据库基本原理规范化理论第29页30关系模式范式第三范式(3NF)定义假如X→Y,Y→A, 且Y→X和A∈Y, 那么称X→A是传递依赖(A传递依赖于X)定义假如关系模式R是1NF,且每个非主属性都不传递依赖于R候选键,那么称R是第三范式(3NF)模式假如数据库模式中每个关系模式都是3NF,则称其为3NF数据库模式/

/

关系数据库基本原理规范化理论第30页31关系模式范式第三范式(3NF)定义设F是关系模式RFD集,若对F中每个非平凡FDX→Y,都有X是R超键或者,Y每个属性都是主属性则称R是3NF模式了解若非平凡FDX→Y中Y是主属性,则X→Y不违反3NF条件若Y是非主属性,且X不包含超键,则必存在着关键码W使W→X,则W→Y是一个传递依赖,即R不是3NF模式满足2NF关系模式,消除了“非主属性对候选键传递依赖”,则会满足3NF;消除方法:关系模式分解关系数据库基本原理规范化理论第31页32关系模式范式第三范式(3NF)分解成3NF模式集算法设关系模式R(U),主键是W;Z是非主属性,ZX,X不是候选键若存在FDX→Z,则W→Z是一个传递依赖;此时应把R分解成两个模式R1(XZ),主键是XR2(Y)其中Y=U–Z主键是W,外键是X(参考R1)若R1和R2仍不是3NF,重复分解过程,直到每一个关系模式都是3NF为止/

关系数据库基本原理规范化理论第32页33关系模式范式第三范式(3NF)示例SCTD(SNO,CNO,TNO,DNO,Grade)分解关系模式,得到SC(SNO,CNO,Grade)CTD(CNO,TNO,DNO)CTD(CNO,TNO,DNO)CNO是候选键,CNO→DNO非主属性传递依赖于候选键分解关系关系模式,得到CT(CNO,TNO)TD(TNO,DNO)关系数据库基本原理规范化理论第33页34关系模式范式第三范式(3NF)定理假如R是3NF模式,那么R也是2NF模式了解满足3NF,一定满足2NF,也一定满足1NF1NF→2NF:消除了“非主属性对候选键局部依赖”2NF→3NF:消除了“非主属性对候选键传递依赖”若关系模式R中没有非主属性,则满足3NF局部依赖和传递依赖是模式产生冗余和异常主要原因因为3NF模式中不存在非主属性对候选键局部依赖和传递依赖,所以消除了很大一部分存放异常,含有很好性能关系数据库基本原理规范化理论第34页35关系模式范式BC范式(BCNF)问题满足3NF数据库模式,消除了非主属性对候选键局部依赖和传递依赖但,并未排除主属性对候选 键依赖问题定义假如关系模式R是1NF, 且每

温馨提示

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

评论

0/150

提交评论