欢迎来到天天文库
浏览记录
ID:45898377
大小:820.00 KB
页数:47页
时间:2019-11-19
《关系数据库(RDB)规范化设计理论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章关系数据库(RDB)规范化理论4.1关系模式规范化的必要性4.2数值依赖4.3范式与规范化、关系分解原则RDB规范化理论的目的是要设计“好的”RDB模式。要设计好的关系模式,必须是关系满足一定的约束条件,此约束形成了规范。范式(NormalForm):衡量DB规范的层次或深度,DB规范化层次由范式来决定。简记作NF.根据关系模式满足的不同性质和规范化的程度,将关系模式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范化程度越高。规范化:低级关系模式通过模式分解转换为若干高级范式的关系模式集合的过程。规范化是
2、在RDB中减少数据冗余的过程。4.1关系模式规范化的必要性1.关系模式应满足的条件2.关系规范化可能出现的问题3.模式分解是关系规范化的主要方法1.关系模式应满足的条件⑴元组每个分量必是不可再分的数据项RDB特别强调,关系中的属性不能是组合属性,必须是基本项。否则,会使关系结构变为多层次的混合结构,增加关系操作的表达、优化即执行的复杂度。如:教师(姓名,工资,所授课程名,课程号);职务工资津贴课时补贴⑵DB中的数据冗余应尽量少“数据冗余”会使:DB中的数据量巨增,系统负担过重,并浪费大量存储空间;造成数据的不完整,增加数据维护的代价。造成数据查询和统计困难,导致错误结果。教师姓名住址课
3、程号课程名李林安徽省合肥市梅山路78号C1N1李林安徽省合肥市梅山路78号C2N2李林安徽省合肥市梅山路78号C3N3汪佳安徽省合肥市梅山路59号C4N4吴仪安徽省合肥市梅山路79号C5N5师帆安徽省合肥市梅山路76号C6N6⑶RDB不能因为数据更新操作而引起数据不一致性即更新异常对于“数据冗余大”的RDB,当执行数据修改时,系统要付出很大代价来维护数据库的完整性。否则会面临数据不一致的危险。影响了数据的完整性,使得DB中数据的可信度降低。如:某教师从78号宿舍搬到76号,修改量较大.教师姓名住址课程号课程名李林安徽省合肥市梅山路78号C1N1李林安徽省合肥市梅山路78号C2N2李林安徽省合
4、肥市梅山路78号C3N3汪佳安徽省合肥市梅山路59号C4N4吴仪安徽省合肥市梅山路79号C5N5师帆安徽省合肥市梅山路76号C6N6⑷当执行数据插入时,DB中的数据不能产生插入异常现象所谓“插入异常”是指希望插入的信息由于不能满足数据完整性的某种要求而不能正常地被插入到DB中的异常问题。比如:上例中插入一个尚未安排授课的新进教师信息.原因:因多种信息混合放在一个表中,可能造成因一种信息被捆绑在其他信息上而产生的信息之间相互依附存储的问题,使得信息不能独立插入。⑸DB中数据不能在执行删除操作时产生“删除异常”问题“删除异常”是指在删除某种信息的同时把其它信息也删除了。比如:上例取消T3教师的教
5、学任务,要删除其授课元组,则在删除其授课信息的同时将其地址和姓名信息一并删除掉了.“删除异常”是DB结构不合理产生的问题。若关系中多种信息捆绑在一起,当被删除信息中含有关系的主关键字时,因关系要满足实体完整性,整个元组将全部从DB中被删除,即出现“删除异常”。为解决这几个问题可将关系模式教师分解为两个模式R,S。这样数据冗余度变小,不存在插入、更新和删除异常情况了。教师姓名住址课程号课程名李林78号C1N1李林78号C2N2李林78号C3N3汪佳59号C4N4吴仪79号C5N5师帆76号C6N6教师姓名住址李林78号汪佳59号吴仪79号师帆76号关系R教师姓名课程号课程名李林C1N1李林C2
6、N2李林C3N3汪佳C4N4吴仪C5N5师帆C6N6关系S关系教师⑹DB设计应考虑查询要求,数据组织应合理在DB设计时,不仅要考虑到数据自身的结构完整性,还要考虑到数据的使用要求。为使数据查询和数据处理高效简洁,特别是对查询实时性要求高、操作频度大的数据,有必要通过视图、索引和适量增加数据冗余的方法,增加DB的方便性和可用性。2.关系规范化可能出现的问题如果一个关系没有经过规范化,可能会出现数据冗余大、数据更新造成不一致、数据插入异常和删除异常。例6:学生关系存在的问题:数据冗余(系主任名)、更新异常(换系主任)、插入异常(系没有招生系主任名不能插入)、删除异常(学生毕业)。3.模式分解是
7、关系规范化的主要方法对于有问题的关系模式,可通过模式分解的方法使之规范化。原学生关系(学号,姓名,所在系,系主任姓名,课程名,成绩)可分解为以下三个关系:学生(学号,姓名,所在系)系(所在系,系主任姓名)考试(学号,课程名,成绩)新关系克服了学生关系存在的问题,更加合理和实用。学号姓名所在系所在系系主任姓名学号课程名成绩4.2数据依赖1.函数依赖2.平凡函数依赖与非平凡函数依赖3.完全函数依赖与
此文档下载收益归作者所有