版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章数据依赖与关系规范化10.1函数依赖10.2基于主键的范式和BC范式10.3多值依赖和第四范式10.4关系规范化的过程与原则一个数据库模式有多个关系模式构成,一个关系模式又由多个属性构成。需要有专门的设计方法来设计关系模式,并将属性合理分组。一种方法是使用E-R图进行概要设计,然后转换为关系模式;另一种方法是基于关系规范化理论10.1函数依赖1.函数依赖的概念设R(A1,A2,...,An)是一个关系模式,X、Y是{A1,A2,...,An}的两个子集。若对于R的任意一个可能的关系r来说,r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,则称X函数确定Y,或Y函数依赖于X,记作X→Y。相应地,若Y函数不依赖于X,则记作XY。例如,对于教学关系模式:教学〈U,F〉U={学号,姓名,年龄,性别,系名,系主任,课程名,成绩};F={学号→姓名,学号→年龄,学号→性别,学号→系名,系名→系主任,(学号,课程名)→成绩}.X→Y,但YX,则称X→Y是非平凡的函数依赖。X→Y,但YX,则称X→Y是平凡的函数依赖。例:在关系SC(Sno,Cno,Grade)中,(Sno,Cno)→
Grade是非平凡函数依赖,(Sno,Cno)→
Sno、(Sno,Cno)→Cno是平凡函数依赖。对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,总是讨论非平凡函数依赖。在R〈U〉中,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖,记作:X→Y;若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:X→Y。例如,在教学关系模式:(学号,课程名)→成绩,(学号,课程名)→姓名PFPF在R〈U〉中,如果X→Y,(YX),YX,Y→Z,则称Z对X传递函数依赖。传递函数依赖记作X→Z。
例如,在教学模式中,因为:学号→系名,系名→系主任;所以:学号→系主任。
传递传递2.函数依赖和关系的优劣二者密切相关。“不良”函数依赖带来的问题:数据冗余太大:浪费大量的存储空间,如每个系主任姓名与该系每个学生的每门选修课程的成绩出现次数一样。插入异常(InsertionAnomalies):该插的数据插不了。如一个系刚成立,尚无学生,就无法把这个系及其系主任的信息存入数据库。删除异常(DeletionAnomalies):不该删除的数据被删了。如某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系及其系主任的信息也删了。更新异常(UpdateAnomalies):数据冗余,更新数据时维护数据完整性代价大。如某系更换系主任后,必须修改与该系学生有关的每一个元组。10.2基于主键的范式和BC范式设计关系数据库时,关系模式不能随便建立,必须满足一定的规范化要求。如果一个关系模式满足某种指定的约束,称其为特定范式的关系模式。满足不同程度的要求构成不同的范式级别。关系模式应满足的基本要求
1)元组的每个分量必须是不可分的数据项。
2)数据库中的数据冗余应尽可能少。
3)关系数据库不能因为数据更新操作而引起数据不一致问题。
4)当执行数据插入操作时,数据库中的数据不能产生插入异常现象。
5)数据库中的数据不能在执行删除操作时产生删除异常问题。
6)数据库设计应考虑查询要求,数据组织应合理。如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,记作R1NF。在此基础上满足更高要求的称为第二范式其余以此类推。一个低一级的范式的关系,通过投影运算可以转换为若干高一级范式的关系的集合,这种过程叫做关系的规范化。1.2NF(第二范式)若R1NF,且每一个非主属性完全依赖于码,则R2NF。
在教学模式中:属性集U={学号,姓名,年龄,系名,系主任,课程名,成绩}.
函数依赖集F={学号→姓名,学号→年龄,学号→性别,学号→系名,系名→系主任,(学号,课程名)→成绩}.主码=(学号,课程名).
非主属性=(姓名,年龄,系名,系主任,成绩)。
非主属性对码的函数依赖:
{(学号,课程名)→姓名,(学号,课程名)→年龄,(学号,课程号)→性别,(学号,课程名)→系名,(学号,课程名)→系主任;(学号,课程名)→成绩}.
显然,教学模式不服从2NF,即:教学2NF。PPPPPF如果将教学模式分解为:
学生_系(学号,姓名,年龄,性别,系名,系主任);
选课(学号,课程号,成绩).显然分解后的各子模式均属于2NF。2.3NF(第三范式)关系模式R〈U,F〉中若不存在这样的码X、属性组Y及非主属性Z(ZY)使得X→Y、YX、Y→Z成立,则称R〈U,F〉3NF。可以证明,若R3NF,则每一个非主属性既不部分函数依赖于码,也不传递函数依赖于码。3NF是一个可用的关系模式所应满足的最低范式。考查学生_系关系,由于存在:学号→系名,系名→系主任。则:学号→系主任。所以学生_系3NF。如果分解为:
学生(学号,姓名,年龄,性别,系名);
教学系(系名,系主任).
显然分解后的各子模式均属于3NF。传递3.BCNF(BC范式)关系模式R〈U,F〉1NF。若X→Y且YX时X必含有码,则R〈U,F〉BCNF。
也就是说,关系模式R〈U,F〉中,若每一个决定因素都包含码,则R〈U,F〉BCNF。由BCNF的定义可以得到结论,一个满足BCNF的关系模式有:
1)所有非主属性对每一个码都是完全函数依赖。
2)所有主属性对每一个不包含它的码,也是完全函数依赖。
3)不存在完全函数依赖于非码的属性组。例如,关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。语义为:每一教师只能讲授一门课程,每门课程由若干教师讲授;每个学生选修某门课程就对应一个固定的教师。由语义可以得到STJ模式的函数依赖为:
F={(S,J)→T,T→J}
显然:(S,J)和(T,S)都是关系的码;关系的主属性集为{S,T,J},非主属性为(空集)。
P由于STJ模式中无非主属性,所以它属于3NF;但因为存在T→J,由于T不是码,故STJBCNF。若将STJ分解为两个关系模式SJ(S,J)和TJ(T,J),其分解后的子模式都属于BCNF。BCNF和3NF的比较1)BCNF不仅强调其他属性对码的完全的直接的依赖,而且强调主属性对码的完全的直接的依赖,它包括3NF,即RBCNF,则R一定属于3NF。2)3NF只强调非主属性对码的完全直接依赖,这样就可能出现主属性对码的部分依赖和传递依赖。1.多值依赖10.3多值依赖和第四范式1.研究多值依赖的必要性
例如,给定一个关系模式JPW(产品,零件,工序),其中每种产品由多种零件构成,每个零件在装配时需要多道工序。设产品电视机需要的零件和工序如图所示。
显像管电视机开关电源焊接调试测试装配调试焊接调试2.多值依赖的定义和性质设有关系模式R〈U〉,U是属性集,X、Y是U的子集。如果R的任一关系,对于X的一个确定值,都存在Y的一组值与之对应,且Y的这组值又与Z=U-X-Y中的属性值不相关,此时称Y多值依赖于X,或X多值决定Y,记为X→→Y。多值依赖具有以下性质:
1)多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。
2)函数依赖可以看作是多值依赖的特殊情况。即若X→Y,则X→→Y。这是因为当X→Y时,对X的每一个值x,Y有一个确定的值y与之对应,所以X→→Y。
3)在多值依赖中,若X→→Y且Z=U-X-Y≠φ,则称X→→Y为非平凡的多值依赖,否则称为平凡的多值依赖。引例:设学校中某门课由多个教师讲课,他们使用相同的参考书,可由关系模式Teaching(C,T,B)表示课程C、教师T和参考书B之间的关系,对应的一张二维表如右。
Teach具有唯一候选码(C,T,B),即全码,所以TeachingBCNF。Teaching(C,T,B)4NF,因为存在非平凡的多值依赖C→→T,且C不是候选码。用投影分解法把Teaching分解为CT(C,T)、CB(C,B)两个关系模式,它们均是4NF。普通物理学光学物理物理习题集普通物理学光学物理物理习题集数学分析微分方程高等代数数学分析微分方程高等代数…………李勇李勇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络文件协议书
- 2025版高血压常见症状解析及护理指导
- 慢性阻塞性肺病心理护理建议分享
- 新员工风采展示
- 血液病重症护理管理要点
- 领导想让员工做
- 2025版病毒性胃肠炎的症状识别与护理培训
- 动力电池产品介绍
- 2025版病毒性肝炎常见症状及护理指南
- 地面训练组合汇报
- 第六章金属合金的塑性变形
- YY/T 0299-2022医用超声耦合剂
- GB/T 20671.5-2006非金属垫片材料分类体系及试验方法第5部分:垫片材料蠕变松弛率试验方法
- 一级建造师资格考试题库大全免费答案
- 护士注册健康体检表下载【可直接打印版本】
- 浙江省建筑设备安装工程提高质量的若干意见(安装300条)新版
- 全国说课一等奖
- 七年级(上 )生物实验通知单
- 中国瓷器发展史(课堂PPT)
- 系统部署报告(共6页)
- cvc和picc导管的维护ppt课件
评论
0/150
提交评论