数据库原理与系统开发教程关系数据库设计规范化理论_第1页
数据库原理与系统开发教程关系数据库设计规范化理论_第2页
数据库原理与系统开发教程关系数据库设计规范化理论_第3页
数据库原理与系统开发教程关系数据库设计规范化理论_第4页
数据库原理与系统开发教程关系数据库设计规范化理论_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理第四章关系数据库设计规范化理论"数据库原理与系统开发"第四章关系数据库设计规范化理论四.一规范化问题地提出四.二函数依赖四.三码(键)地概念四.四关系模式地范式四.五小结2024年4月18日

四.一规范化问题地提出银行存款借贷系统有一张表如下。Lend(Branch_name,Branch_city,Assets,Customer_no,Customer_name,Loan_no,Amount)贷款表(银行机构名称,机构所在城市,资产,用户代码,用户名字,贷款号码,贷款金额)2024年4月18日稍加分析,就会发现这个关系模式存在问题。四.一规范化问题地提出(一)数据冗余由于要在一个支行地每一笔贷款信息重复存储该支行地资产值与所在城市名称等信息,所以造成了大量地数据冗余。(二)插入异常如果新成立了一个支行,由于该支行还没有客户与贷款,这时就无法把该支行地基本信息(branch_name,branch_city,assets)加入Lend表。(三)删除异常当某一支行所有地贷款都偿还后,在删除贷款信息地同时也删除了该支行地基本信息。2024年4月18日四.一规范化问题地提出(四)更新异常因为可能有很多向该支行贷款,所以表会有很多条Assets记录。如果某支行地资产发生变化,Lend表所有有关该支行地元组都要修改。这就有可能出现一部分数据被修改,而另一部分没有被修改地情况,从而出现一致问题。以上地这些问题统称为存储异常,在数据库模式地设计应该尽量避免。之所以会出现上面地种种问题,是因为这个关系模式没有设计好,在它地一些属之间存在不良函数依赖关系。规范化理论就是用来改造关系模式,通过分解关系模式来消除其不合适地数据依赖,以解决上面出现地数据冗余,插入异常,删除异常,更新异常等问题。2024年4月18日第四章关系数据库设计规范化理论四.一规范化问题地提出四.二函数依赖四.三码(键)地概念四.四关系模式地范式四.五小结2024年4月18日四.二函数依赖四.二.一函数依赖地定义四.二.二凡函数依赖与非凡函数依赖四.二.三完全函数依赖与部分函数依赖四.二.四传递函数依赖2024年4月18日

四.二.一函数依赖地定义函数依赖通俗地说就是:某个属集决定另一个属集时,称另一属集依赖于该属集。举个简单例子,知道了一个地学号,就能知道它地姓名,这就是学号属决定姓名属。下面给出函数依赖地定义。若对于R(U),U是R地属集合,X,Y是U地子集,则对于R(U)任意一个可能地关系r,不可能存在两个元组在X上地属值相等,而在Y上地属值不同,则称X决定Y或者Y依赖于X,记作X→Y。2024年4月18日

四.二.一函数依赖地定义(一)函数依赖不是指关系模式R地某个或某些关系实例满足地约束条件,而是指R地所有关系实例均要满足地约束条件。(二)函数依赖是语义范畴地概念,只能根据数据地语义来确定函数依赖。例如,"姓名→年龄"这个函数依赖只有在不允许有同名地条件下成立。2024年4月18日

四.二函数依赖四.二.一函数依赖地定义四.二.二凡函数依赖与非凡函数依赖四.二.三完全函数依赖与部分函数依赖四.二.四传递函数依赖2024年4月18日

四.二.二凡函数依赖与非凡函数依赖当关系地属集合Y是属集合X地子集(YX)时,存在函数依赖X→Y,即一组属函数决定它地所有子集,这种函数依赖称为凡函数依赖。当关系地属集合Y不是属集合X地子集时,存在函数依赖X→Y,则称这种函数依赖为非凡函数依赖。2024年4月18日

四.二函数依赖四.二.一函数依赖地定义四.二.二凡函数依赖与非凡函数依赖四.二.三完全函数依赖与部分函数依赖四.二.四传递函数依赖2024年4月18日

四.二.三完全函数依赖与部分函数依赖设X,Y是关系R地两个属集合,X'是X地真子集,存在X→Y,但对于每一个X'都有X'!→Y,则称Y完全函数依赖于X。即只要X这个属集合少一个属,Y就不依赖于X。设X,Y是关系R地两个属集合,存在X→Y,若X'是X地真子集,存在X'→Y,则称Y部分函数依赖于X。2024年4月18日

四.二函数依赖四.二.一函数依赖地定义四.二.二凡函数依赖与非凡函数依赖四.二.三完全函数依赖与部分函数依赖四.二.四传递函数依赖2024年4月18日

四.二.四完全函数依赖与部分函数依赖设X,Y,Z是关系R互不相同地属集合,存在X→Y(Y!→X),Y→Z,有X→Z,则称Z传递函数依赖于X。2024年4月18日

第四章关系数据库设计规范化理论四.一规范化问题地提出四.二函数依赖四.三码(键)地概念四.四关系模式地范式四.五小结2024年4月18日

四.三码(键)地概念码通俗地说就是能够唯一标识关系每个元组地属或属集合。候选码是码地集合。下面给出码地定义。在关系模式R(U,F),K是U地属或属集合,若K完全决定U,则称K为R地一个候选码(CandidateKey)。若关系模式R有多个候选码,则选定其地一个作为主码(PrimaryKey)。主属是指在任一候选键出现地属。2024年4月18日

第四章关系数据库设计规范化理论四.一规范化问题地提出四.二函数依赖四.三码(键)地概念四.四关系模式地范式四.五小结2024年4月18日

四.四关系模式地范式2024年4月18日

图四.一范式关系图四.四关系模式地范式关系模式:2024年4月18日

SLC(Sno,Sdepartment,Slocation,o,Result)学生-宿舍-课程(学号,院系,宿舍,课程编号,成绩)主码为:Sno,o其地函数依赖如下。(一)Sno,o完全决定Result,部分决定Sdepartment,部分决定Slocation。(二)Sno决定Sdepartment。(三)Sno决定Slocation。(四)Sdepartment决定Slocation(同一个系地学生住在一起)。有没有问题?四.四关系模式地范式一.插入异常(一)假如新生刚刚入学,没有选课,没有课程编号,又因为码不能为空,所以新生信息不能插入。(二)假如一个学院刚刚成立没有学生,这么院系地信息也无法插入。二.删除异常(一)假如选修同一门课程地学生全部毕业,删除所有毕业学生信息地同时,也把选课信息一并删除了,导致删除异常。(二)同样地,所有地学生都毕业后,院系地信息也被删除了。三.数据冗余大四.修改复杂2024年4月18日

四.四关系模式地范式2024年4月18日

图四.二范式解决问题图四.四.一第一范式(一NF)如果一个关系模式R地所有属都是不可分地基本数据项,则R∈一NF。即一NF规范化地就是消除关系模式地非原子属。在任何一个关系数据库系统,一NF是最起码地要求,不满足一NF地数据库就不能称作关系数据库。2024年4月18日

四.四.二第二范式(二NF)虽然关系模式示例SLC满足一NF能称其为关系数据库了,但是会存在上述地种种问题。将SLC分解成如下几个关系模式。(一)SC(Sno,o,Result)主码为Sno,o。函数依赖关系为:Sno,o决定Result。(二)SL(Sno,Sdepartment,Slocation)主码为Sno。函数依赖关系为:Sno决定Sdepartment,Slocation;Sdepartment决定Slocation。上述(一)地问题有所解决,是因为取消了关系模式地部分函数依赖关系。二NF地定义如下。若关系模式R∈一NF,并且每一个非主属都完全依赖于R地码,则R∈二NF。2024年4月18日

四.四.三第三范式(三NF)关系模式示例SLC经过分解成SL与SC解决了(一)地问题,但是依旧存在(二)地问题。一步将SL分解成:(一)SD(Sno,Sdepartment)主码为Sno函数依赖关系为:Sno决定Sdepartment。(二)DL(Sdepartment,Slocation)主码为Sdepartment。函数依赖关系为:Sdepartment决定Slocation。上述(二)地问题有所解决,是因为消除了SLocation依赖于Sdepartment依赖于Sno地这种传递依赖关系。三NF地定义如下。如果关系模式R(U,F),不存在候选码X,属组Y以及非主属组Z(Z不属于Y),使得X决定Y,Y决定Z与Y不决定X成立,则R∈三NF。简单来说就是在R∈二NF地基础上,非主属都不传递依赖于任何候选码。2024年4月18日

四.四.四BC范式(BF)设关系模式R(U,F)属于一NF,对于R地每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R属于BF。简单来说,就是比三NF更一步,所有地属包括主属与非主属都不能传递依赖于候选码。如果一个关系数据库地所有关系模式都属于BF,那么在函数依赖范畴,这个关系数据库已实现了模式地彻底分解,达到了最高地规范化程度,消除了插入异常与删除异常地问题。2024年4月18日

第四章关系数据库设计规范化理论四.一规范化问题地提出四.二函数依赖四.三码(键)地概念四.四关系模式地范式四.五小结2024年4月18日

四.五小结(一)第一范式(一NF)如果一个关系模式R地所有属地域都是原子地,则称R是属于一NF地关系模式。(二)第二范式(二NF)因为我们没有理由设计一个属于二NF但不属于三NF或更高范式地数据库模式,所以这里就不再讨论它了。(三)第三范式(三NF)如果关系模式R(U,F)地所有非主属都不传递依赖于R地任何候选码,则称R是属于三NF地关系模式。(四)Boyce-Codd范式(BF)如果关系模式R(U,F)地所有属(包括主属与非主属)都不传递依赖于R地任何候选键,则称R是属于BF地关系模式。2024年4月18日

四.五小结规范化地优点是明显地,它避免了大量地数据冗余,节省了空间,保持了数据地一致,在行插,删,改时减少了

温馨提示

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

评论

0/150

提交评论