关系数据库(RDB)规范化设计理论.ppt

上传人:wuy****n92 文档编号:67145329 上传时间:2022-12-24 格式:PPT 页数:47 大小:600KB
返回 下载 相关 举报
关系数据库(RDB)规范化设计理论.ppt_第1页
第1页 / 共47页
关系数据库(RDB)规范化设计理论.ppt_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《关系数据库(RDB)规范化设计理论.ppt》由会员分享,可在线阅读,更多相关《关系数据库(RDB)规范化设计理论.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 第第4 4章章 关系数据库关系数据库(RDB)(RDB)规范化理论规范化理论 4.14.1 关系模式规范化的必要性关系模式规范化的必要性4.24.2 数值依赖数值依赖 4.34.3 范式与规范化范式与规范化 、关系分解原则、关系分解原则 nRDBRDB规范化理论的规范化理论的目的目的是要是要设计设计“好的好的”RDB”RDB模模式式。n要设计好的关系模式,必须是关系满足一定的要设计好的关系模式,必须是关系满足一定的约束条件,此约束形成了规范。约束条件,此约束形成了规范。n范式范式(Normal Form)(Normal Form):衡量衡量DBDB规范的层次规范的层次或深度,或深度,DBDB

2、规范化层次由范式来决定。规范化层次由范式来决定。简记作简记作NFNF.n根据关系模式满足的不同性质和规范化根据关系模式满足的不同性质和规范化的程度,将关系模式分为第一范式的程度,将关系模式分为第一范式(1NF)(1NF)、第二范式第二范式(2NF)(2NF)、第三范式、第三范式(3NF)(3NF)、BCBC范范式、第四范式式、第四范式(4NF)(4NF)、第五范式、第五范式(5NF)(5NF),范式越高规范化程度越高。范式越高规范化程度越高。n规范化:规范化:低级关系模式通过模式分解转低级关系模式通过模式分解转换为若干高级范式的关系模式集合的过换为若干高级范式的关系模式集合的过程。程。n规范化

3、是在规范化是在RDBRDB中减少数据冗余的过程。中减少数据冗余的过程。4.1 4.1 关系模式规范化的必要性关系模式规范化的必要性1 1.关系模式应满足的条件关系模式应满足的条件2 2.关系规范化可能出现的问题关系规范化可能出现的问题3 3.模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法1.关系模式应满足的条件 元组每个分量必是不可再分的数据项元组每个分量必是不可再分的数据项nRDBRDB特别强调,关系中的属性不能是组合属性,必特别强调,关系中的属性不能是组合属性,必须是基本项。否则,会使关系结构变为多层次的混须是基本项。否则,会使关系结构变为多层次的混合结构,增加关系操作的表达

4、、优化即执行的复杂合结构,增加关系操作的表达、优化即执行的复杂度。如度。如:n 教师教师(姓名姓名,工资工资,所授课程名所授课程名,课程号课程号););职务工资 津贴 课时补贴 DB DB中的数据冗余应尽量少中的数据冗余应尽量少 “数据冗余数据冗余”会使:会使:nDBDB中的数据量巨增,系统负担过重,并浪费大量存储空间;中的数据量巨增,系统负担过重,并浪费大量存储空间;n造成数据的不完整,增加数据维护的代价。造成数据的不完整,增加数据维护的代价。n造成数据查询和统计困难,导致错误结果。造成数据查询和统计困难,导致错误结果。教师教师姓名姓名住址住址课课程程号号课程名课程名李林李林安徽省合肥市梅山

5、路安徽省合肥市梅山路78号号C1N1李林李林安徽省合肥市梅山路安徽省合肥市梅山路78号号C2N2李林李林安徽省合肥市梅山路安徽省合肥市梅山路78号号C3N3汪佳汪佳安徽省合肥市梅山路安徽省合肥市梅山路59号号C4N4吴仪吴仪安徽省合肥市梅山路安徽省合肥市梅山路79号号C5N5师帆师帆安徽省合肥市梅山路安徽省合肥市梅山路76号号C6N6 RDBRDB不能因为数据更新操作而引起数据不一致性即更不能因为数据更新操作而引起数据不一致性即更新异常新异常n对于对于“数据冗余大数据冗余大”的的RDBRDB,当执行数据修改时,系,当执行数据修改时,系统要付出很大代价来维护数据库的完整性。否则会面统要付出很大代

6、价来维护数据库的完整性。否则会面临数据不一致的危险。影响了数据的完整性,使得临数据不一致的危险。影响了数据的完整性,使得DBDB中数据的可信度降低。如中数据的可信度降低。如:某教师从某教师从7878号宿舍搬到号宿舍搬到7676号号,修改量较大修改量较大.教师教师姓名姓名住址住址课课程程号号课程名课程名李林李林安徽省合肥市梅山路安徽省合肥市梅山路78号号C1N1李林李林安徽省合肥市梅山路安徽省合肥市梅山路78号号C2N2李林李林安徽省合肥市梅山路安徽省合肥市梅山路78号号C3N3汪佳汪佳安徽省合肥市梅山路安徽省合肥市梅山路59号号C4N4吴仪吴仪安徽省合肥市梅山路安徽省合肥市梅山路79号号C5N

7、5师帆师帆安徽省合肥市梅山路安徽省合肥市梅山路76号号C6N6当执行数据插入时,当执行数据插入时,DBDB中的数据不能产生插入中的数据不能产生插入异常现象异常现象n所谓所谓“插入异常插入异常”是指希望插入的信息由于不是指希望插入的信息由于不能满足数据完整性的某种要求而不能正常地被能满足数据完整性的某种要求而不能正常地被插入到插入到DBDB中的异常问题。中的异常问题。n比如:上例中插入一个尚未安排授课的新进教师信息.原因:n因多种信息混合放在一个表中,可能造成因一因多种信息混合放在一个表中,可能造成因一种信息被捆绑在其他信息上而产生的信息之间种信息被捆绑在其他信息上而产生的信息之间相互依附存储的

8、问题,使得信息不能独立插入。相互依附存储的问题,使得信息不能独立插入。DB DB中数据不能在执行删除操作时产生中数据不能在执行删除操作时产生“删除异删除异常常”问题问题n“删除异常删除异常”是指在删除某种信息的同时把其它是指在删除某种信息的同时把其它信息也删除了。信息也删除了。n比如比如:上例取消上例取消T3T3教师的教学任务教师的教学任务,要删除其授课要删除其授课元组元组,则在删除其授课信息的同时将其地址和姓名则在删除其授课信息的同时将其地址和姓名信息一并删除掉了信息一并删除掉了.n“删除异常删除异常”是是DBDB结构不合理产生的问题。若关结构不合理产生的问题。若关系中多种信息捆绑在一起,当

9、被删除信息中含有系中多种信息捆绑在一起,当被删除信息中含有关系的主关键字时,因关系要满足实体完整性,关系的主关键字时,因关系要满足实体完整性,整个元组将全部从整个元组将全部从DBDB中被删除,即出现中被删除,即出现“删除异删除异常常”。为解决这几个问题可将关系模式为解决这几个问题可将关系模式 教师教师 分解为两个模式分解为两个模式R,SR,S。这样数据冗余度变小。这样数据冗余度变小,不存在插入、更新和删除异不存在插入、更新和删除异常情况了。常情况了。教师教师姓名姓名 住址住址课程号课程号课程名课程名李林李林78号号C1N1李林李林78号号C2N2李林李林78号号C3N3汪佳汪佳59号号C4N4

10、吴仪吴仪79号号C5N5师帆师帆76号号C6N6教师姓名教师姓名 住址住址李林李林78号号汪佳汪佳59号号吴仪吴仪79号号师帆师帆76号号 关系R教师姓名教师姓名课程号课程号课程名课程名李林李林C1N1李林李林C2N2李林李林C3N3汪佳汪佳C4N4吴仪吴仪C5N5师帆师帆C6N6关系S关系 教师 DB DB设计应考虑查询要求,数据组织应合理设计应考虑查询要求,数据组织应合理n在在DBDB设计时,不仅要考虑到数据自身的结构完设计时,不仅要考虑到数据自身的结构完整性,还要考虑到数据的使用要求。整性,还要考虑到数据的使用要求。n为使数据查询和数据处理高效简洁,特别是对为使数据查询和数据处理高效简洁

11、,特别是对查询实时性要求高、操作频度大的数据,有必查询实时性要求高、操作频度大的数据,有必要通过视图、索引和适量增加数据冗余的方法,要通过视图、索引和适量增加数据冗余的方法,增加增加DBDB的方便性和可用性。的方便性和可用性。2.2.关系规范化可能出现的问题关系规范化可能出现的问题n如果一个关系没有经过规范化,可能会出现数据冗余大、数据更新造如果一个关系没有经过规范化,可能会出现数据冗余大、数据更新造成不一致、数据插入异常和删除异常。成不一致、数据插入异常和删除异常。n例6:学生关系存在的问题:学生关系存在的问题:数据冗余数据冗余(系主任名系主任名)、更新异常更新异常(换系主换系主任任)、插入

12、异常插入异常(系没有招生系主任名不能插入系没有招生系主任名不能插入)、删除异常删除异常(学生毕业学生毕业)。3.3.模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法n对于有问题的关系模式,可通过模式分解的方法使之规范对于有问题的关系模式,可通过模式分解的方法使之规范化。化。n原学生关系(学号,姓名,所在系,系主任姓名,课程名,原学生关系(学号,姓名,所在系,系主任姓名,课程名,成绩)可分解为以下三个关系:成绩)可分解为以下三个关系:学生(学生(学号学号,姓名,所在系),姓名,所在系)系(系(所在系所在系,系主任姓名),系主任姓名)考试(考试(学号,课程名学号,课程名,成绩),成绩)

13、新关系克服了学生关系存在的问题,更加合理和实用。新关系克服了学生关系存在的问题,更加合理和实用。学号学号姓名姓名所在系所在系所在系所在系系主任姓名系主任姓名学号学号课程名课程名成绩成绩4.2 4.2 数据依赖数据依赖 1 1.函数依赖函数依赖2 2.平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖 3 3.完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖 4 4.传递函数依赖传递函数依赖 n在在DBDB中,数据属性之间存在着密切的联系。在中,数据属性之间存在着密切的联系。在DBDB技技术中,把数据之间存在的联系称为术中,把数据之间存在的联系称为“数据依赖数据依赖”。nDBDB中出现

14、的数据异常现象与数据依赖有着紧密的关中出现的数据异常现象与数据依赖有着紧密的关联。在数据依赖中,函数依赖是最基本的一种依赖联。在数据依赖中,函数依赖是最基本的一种依赖形式。形式。n认识和掌握函数依赖知识,对于认识和掌握函数依赖知识,对于DBDB的约束设计和规的约束设计和规范化设计具有重要意义。范化设计具有重要意义。1.1.函数依赖函数依赖n假设假设R(A1,A2,An)R(A1,A2,An)是一个关系模式,是一个关系模式,X X和和Y Y是是A1,A2,AnA1,A2,An的子集的子集,对于关系对于关系R R中的任中的任意一个意一个X X的值,都只有一个的值,都只有一个Y Y值与之对应,则值与

15、之对应,则称称“X“X函数确定函数确定Y”Y”或或“Y“Y函数依赖于函数依赖于X”X”,记,记作作XYXY。n例如:学生(学号,姓名,所在系,课程名,例如:学生(学号,姓名,所在系,课程名,成绩)关系模式中,学号成绩)关系模式中,学号姓名姓名 学号学号所在系所在系 (学号,课程名)(学号,课程名)成绩成绩 n注意注意:X X和和Y Y都是属性组,如果都是属性组,如果XYXY,表示,表示X X中取值确定时,中取值确定时,Y Y中的取值惟一确定,即中的取值惟一确定,即X X决决定定Y Y或或Y Y函数依赖于函数依赖于X X,X X是决定因素。是决定因素。n函数依赖类似于数学中的单值函数,函数的函数

16、依赖类似于数学中的单值函数,函数的自变量确定时,应变量的值惟一确定。反映自变量确定时,应变量的值惟一确定。反映了关系模式中属性间的决定关系,体现了数了关系模式中属性间的决定关系,体现了数据间的相互关系。据间的相互关系。例例7 7:学生(学号,姓名,性别,年龄,班级号):学生(学号,姓名,性别,年龄,班级号)存在以下的函数依赖:存在以下的函数依赖:学号学号姓名姓名 学号学号性别性别 学号学号年龄年龄 学号学号班级号班级号说明:说明:函数依赖不是指关系模式函数依赖不是指关系模式R R的某个或某些关系的某个或某些关系实例满足的约束条件,而是指实例满足的约束条件,而是指R R的所有关系实的所有关系实例

17、均要满足的约束条件。例均要满足的约束条件。函数依赖是函数依赖是RDBRDB用以表示数据语义的机制。人用以表示数据语义的机制。人们只能根据数据的语义来确定函数依赖。们只能根据数据的语义来确定函数依赖。例:“姓名姓名年龄年龄”这个函数依赖只有在没有相这个函数依赖只有在没有相同姓名人的条件下成立。若有相同姓名的人,同姓名人的条件下成立。若有相同姓名的人,则则“年龄年龄”就不再函数依赖于就不再函数依赖于“姓名姓名”了。了。2.2.平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖n在关系模式在关系模式R(U)R(U)中,对于中,对于U U的子集的子集X X和和Y Y,如果,如果XYXY,但但Y

18、XY X,则称,则称XYXY是非平凡函数依赖。若是非平凡函数依赖。若Y XY X,则称,则称XYXY为平凡函数依赖。为平凡函数依赖。n例如:学号例如:学号姓名姓名 (学号学号,姓名姓名)姓名姓名n对于任一关系模式,平凡函数依赖都是必然成立的,对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,我们总是讨它不反映新的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。论非平凡函数依赖。3.3.完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖完全函数依赖:完全函数依赖:n在关系模式在关系模式R(U)R(U)中,如果中,如果XYXY,并且对于,并且对于X X的任何一

19、的任何一个真子集个真子集XX,都有,都有X YX Y,则称,则称Y Y完全函数依赖于完全函数依赖于X X,记作记作X YX Y。部分函数依赖:部分函数依赖:n若若XYXY,但,但Y Y不完全函数依赖于不完全函数依赖于X X,则称,则称Y Y部分函数依部分函数依赖于赖于X X,记作,记作X YX Y。f f p p 例8:学生学生(学号学号,姓名,所在系,系主任姓名,姓名,所在系,系主任姓名,课程号课程号,成绩,成绩)学生关系模式存在的部分函数依赖:(学号,课程号学号,课程号)姓名姓名 (学号,课程号学号,课程号)所在系所在系 (学号,课程号学号,课程号)系主任姓名系主任姓名 思考思考:此关系模

20、式中是否存在完全函数依赖此关系模式中是否存在完全函数依赖?ppp4.传递函数依赖n在关系模式在关系模式R(U)R(U)中,如果中,如果XYXY,YZYZ,且,且Y XY X,Z YZ Y,Y XY X,则称,则称Z Z传递函数依赖于传递函数依赖于X X。例例9 9:学生:学生(学号,姓名,所在系,系主任姓名,课程名,成学号,姓名,所在系,系主任姓名,课程名,成绩绩),存在如下的函数依赖:,存在如下的函数依赖:学号学号所在系所在系 所在系所在系系主任姓名系主任姓名 学号学号系主任姓名系主任姓名传递4.3 4.3 范式与规范化范式与规范化1 1.第一范式第一范式(1NF)(1NF)2 2.第二范式

21、第二范式(2NF)(2NF)3.3.第三范式第三范式(3NF)(3NF)4.BC4.BC范式范式1.1.第一范式第一范式(1NF)(1NF)n若一个关系模式若一个关系模式R R的所有属性都是不可分的基本数的所有属性都是不可分的基本数据项,则该关系属于据项,则该关系属于1NF 1NF。n在任何一个在任何一个RDBSRDBS中,中,1NF1NF是对关系模式的一个必须是对关系模式的一个必须的要求,不满足的要求,不满足1NF1NF的的DBDB模式不能称为模式不能称为RDBRDB。n满足满足1NF1NF的关系模式并不一定是好的关系模式。的关系模式并不一定是好的关系模式。例如:学生学生(学号学号,姓名,所

22、在系,系主任姓名,姓名,所在系,系主任姓名,课程名课程名,成绩成绩)n它显然满足它显然满足1NF1NF,但本身存在插入异常、删除异常、更新,但本身存在插入异常、删除异常、更新异常和数据冗余问题,所以它不是一个好的关系模式。异常和数据冗余问题,所以它不是一个好的关系模式。n例如:教师例如:教师(教师号,姓名教师号,姓名,性别性别,年龄年龄,家庭地址家庭地址(城市、城市、街道、门牌号)则非街道、门牌号)则非1NF1NF,可将它改为,可将它改为n教师教师(教师号,姓名教师号,姓名,性别性别,年龄年龄,城市,街道,门牌号)城市,街道,门牌号)n则为则为1NF 1NF 了了2.2.第二范式第二范式(2N

23、F)(2NF)n若关系模式若关系模式R R属于属于1NF1NF,且,且每个非主属性都完每个非主属性都完全函数依赖于主关键字,全函数依赖于主关键字,则则R R属于属于2NF 2NF。n2NF2NF不允许关系模式中的非主属性部分函数不允许关系模式中的非主属性部分函数依赖于主关键字。依赖于主关键字。例例1010:学生:学生(学号学号,姓名,所在系,系主任姓名,姓名,所在系,系主任姓名,课程课程名名,成绩,成绩)n学生关系模式存在部分依赖:学生关系模式存在部分依赖:(学号,课程名学号,课程名)姓名姓名 (学号,课程名学号,课程名)所在系所在系 (学号,课程名学号,课程名)系主任姓名系主任姓名n不满足不

24、满足“每个非主属性都完全函数依赖于主关键字每个非主属性都完全函数依赖于主关键字”的条件。故不属于的条件。故不属于2NF2NF。n对学生关系模式进行分解,使其满足对学生关系模式进行分解,使其满足2NF2NF的条件,即的条件,即要消除非主属性对主关键字的部分依赖。要消除非主属性对主关键字的部分依赖。ppp关系分解关系分解n把把R R的属性分开,以构成两个新的关系模式;的属性分开,以构成两个新的关系模式;n通过对通过对R R的元组进行投影而产生两个新的关系。的元组进行投影而产生两个新的关系。n学生关系模式分解成:学生关系模式分解成:学生学生-系系(学号学号,姓名,所在系,系主,姓名,所在系,系主任姓

25、名任姓名)考试考试(学号,课程名学号,课程名,成绩,成绩)学生学生-系、考试属于系、考试属于2NF2NF。n学生关系模式:学生学生关系模式:学生-系系(学号学号,姓名,所在系,系主,姓名,所在系,系主任姓名任姓名)n存在:存在:学号学号所在系所在系 所在系所在系系主任姓名系主任姓名 学号学号系主任姓名系主任姓名n仍有数据冗余仍有数据冗余(从学生从学生-系关系模式的实例可以看出,系关系模式的实例可以看出,当一个系有很多学生时,当一个系有很多学生时,“系主任姓名系主任姓名”会大量重复会大量重复出现出现)和更新异常。所以应进一步对其进行规范化。和更新异常。所以应进一步对其进行规范化。传递n习题9:关

26、系模式R(ABCD),F是R上成立的函数依赖集,F=AB-CD,A-Dn(1)试说明R不是2NF的理由n(2)试把R分解成2NF模式集.nR1(ABC)R2(AD)3.3.第三范式第三范式(3NF)(3NF)n若关系模式若关系模式R R属于属于1NF1NF,且,且每个非主属性都不传递依赖每个非主属性都不传递依赖于主关键字于主关键字,则,则R R属于属于3NF3NF。n将学生将学生-系系(学号学号,姓名,所在系,系主任姓名,姓名,所在系,系主任姓名)关系模式分解为:学生学生(学号,姓名,所在系学号,姓名,所在系)系系(所在系,系主任姓名所在系,系主任姓名)n关系模式学生与系均已满足关系模式学生与

27、系均已满足3NF3NF。n3NF3NF是一个可用的关系模式应满足的最低范式。是一个可用的关系模式应满足的最低范式。n一个关系模式如果不满足一个关系模式如果不满足3NF3NF,实际上是不能使用,实际上是不能使用的。的。n把关系模式分解到把关系模式分解到3NF3NF,可在相当程度上减轻原关,可在相当程度上减轻原关系中的异常和信息冗余,但也不能保证完全消除关系中的异常和信息冗余,但也不能保证完全消除关系模式中的各种异常和信息冗余。系模式中的各种异常和信息冗余。n要想使要想使DBDB性能得到进一步的改善,就要把关系模式性能得到进一步的改善,就要把关系模式进一步规范化。进一步规范化。n习题10:设关系模

28、式R(ABC),F是R上成立的函数依赖集,F=C-B,B-An(1)试说明R不是3NF的理由n(2)试把R分解成3NF.nR1(CB)R2(BA)4.BC范式n若关系模式若关系模式R R属于第一范式,且属于第一范式,且每个非平凡依每个非平凡依赖的左边必须包含主关键字赖的左边必须包含主关键字;或称每个决定因或称每个决定因素必须包含主关键字素必须包含主关键字。则称。则称R R属于属于BCBC范式。范式。n分析如下关系是否属于分析如下关系是否属于BC BC 范式:范式:n学生(学号,姓名,所在系);学生(学号,姓名,所在系);n系(所在系,系主任姓名)系(所在系,系主任姓名)n成绩(学号,课程名,成

29、绩);成绩(学号,课程名,成绩);思考习题:思考习题:n设有关系模式:设有关系模式:R R(职工名,项目名,工资,部门(职工名,项目名,工资,部门号,部门经理)号,部门经理)n如果规定每个职工可参加多个项目,每个项目领一如果规定每个职工可参加多个项目,每个项目领一份工资;每个项目只属于一个部门管理;每个部门份工资;每个项目只属于一个部门管理;每个部门只有一个经理。要求:只有一个经理。要求:n(1 1)试写出关系模式)试写出关系模式R R的基本函数依赖和主关键字;的基本函数依赖和主关键字;n(2 2)说明)说明R R不是不是2NF2NF模式的理由,并把模式的理由,并把R R分解成分解成2NF2N

30、F模式集;模式集;n(3 3)进而把)进而把R R分解成分解成3NF3NF模式集,并说明理由。模式集,并说明理由。n(1 1)(职工名,项目名)(职工名,项目名)工资工资n 项目名项目名 部门名部门名n 部门名部门名 部门经理部门经理n(2 2)R1 R1(职工名,项目名,工资)(职工名,项目名,工资)n R2 R2(项目名,部门名,部门经理)(项目名,部门名,部门经理)n(3 3)R11 R11(职工名,项目名,工资)(职工名,项目名,工资)n R21 R21(项目名,部门名)(项目名,部门名)n R31 R31(部门名,部门经理)(部门名,部门经理)4.4 4.4 关系分解原则关系分解原则

31、1 1.无损连接无损连接 2 2.保持依赖保持依赖 对关系模式进行分解的目的:n使关系模式更加规范化,从而减少以至消除数据使关系模式更加规范化,从而减少以至消除数据冗余和更新异常。冗余和更新异常。n要使关系模式的分解有意义,模式分解需要满足要使关系模式的分解有意义,模式分解需要满足一些约束条件是分解不能破坏原来的语义,即模一些约束条件是分解不能破坏原来的语义,即模式分解要符合无损连接和保持函数依赖的原则。式分解要符合无损连接和保持函数依赖的原则。1.1.无损连接无损连接 n如果对新的关系进行自然连接得到的元组的集合如果对新的关系进行自然连接得到的元组的集合与原关系完全一致,则称为无损连接。与原

32、关系完全一致,则称为无损连接。n无损连接保证分解前后关系模式的信息不能丢失无损连接保证分解前后关系模式的信息不能丢失和增加,保持原有的信息不变。和增加,保持原有的信息不变。n反映了模式分解的数据等价原则。反映了模式分解的数据等价原则。例例1111:工人:工人(工号,工种,定额工号,工种,定额)n工人关系中存在的函数依赖如下:工人关系中存在的函数依赖如下:工号工号工种工种 工种工种定额定额 工号工号定额定额(传递函数传递函数依赖依赖)分解方案如下:分解方案如下:工号工号工种工种101101车工车工102102车工车工103103钳工钳工104104铣工铣工工种工种定额定额车工车工8080钳工钳工

33、8080铣工铣工7070工号工号定额定额1011018080102102808010310380801041047070工种工种定额定额车工车工8080钳工钳工8080铣工铣工70702.保持依赖n分解前所有的函数依赖要由分解后的所有关系模式分解前所有的函数依赖要由分解后的所有关系模式中的函数依赖反映。中的函数依赖反映。n分解后的关系不能破坏原来的函数依赖分解后的关系不能破坏原来的函数依赖(不能破坏不能破坏原来的语义原来的语义),即保持分解前后原有的函数依赖依,即保持分解前后原有的函数依赖依然成立。然成立。n保持依赖反映了模式分解的依赖等价原则。保持依赖反映了模式分解的依赖等价原则。n依赖等价

34、保证分解后的模式与原有的模式在数据语依赖等价保证分解后的模式与原有的模式在数据语义上的一致性。义上的一致性。例例12:12:成绩成绩(学号,课程名学号,课程名,教师姓名,成绩,教师姓名,成绩),规定一个教师,规定一个教师教授一门课程。教授一门课程。函数依赖集函数依赖集:(学号,课程名学号,课程名)教师姓名,成绩教师姓名,成绩 (学号,教师姓名学号,教师姓名)课程名,成绩课程名,成绩 教师姓名教师姓名课程名课程名分解为:分解为:学学课课教教(学号,课程名,成绩学号,课程名,成绩)、学、学教教(学号,学号,教师姓名教师姓名)丢失函数依赖:丢失函数依赖:教师姓名教师姓名课程名,不能体现一个教师只开一

35、课程名,不能体现一个教师只开一门课的语义。门课的语义。n进行模式分解时,除考虑数据等价和依赖等价以外,进行模式分解时,除考虑数据等价和依赖等价以外,还要考虑还要考虑效率。n当对当对DBDB的操作主要是查询时,为提高查询效率,可保的操作主要是查询时,为提高查询效率,可保留适当的数据冗余,让关系模式中的属性多些,而不留适当的数据冗余,让关系模式中的属性多些,而不把模式分解得太小,否则为了查询一些数据,常常要把模式分解得太小,否则为了查询一些数据,常常要做大量的连接运算,把多个关系模式连在一起才能从做大量的连接运算,把多个关系模式连在一起才能从中找到相关的数据。中找到相关的数据。n在设计在设计DBD

36、B时,为减少冗余时,为减少冗余,节省空间,节省空间,把关系模式一再分解,到使用把关系模式一再分解,到使用DBDB时,为时,为查询相关数据,把关系模式一再连接,查询相关数据,把关系模式一再连接,花费大量时间,或许得不偿失。花费大量时间,或许得不偿失。n因此,保留适量冗余,达到以空间换时因此,保留适量冗余,达到以空间换时间的目的,也是模式分解的重要原则。间的目的,也是模式分解的重要原则。小小 结结n关系模型的基本概念、关系模型的基本概念、n关系完整性约束的概念、及其分类:域、实体、参照、用关系完整性约束的概念、及其分类:域、实体、参照、用户定义完整性约束;户定义完整性约束;n关系模式的概念关系模式的概念n关系代数中的传统关系运算与特殊关系运算;关系代数中的传统关系运算与特殊关系运算;nRDBRDB规范化理论,关系模式规范化的必要性,及规范化理论,关系模式规范化的必要性,及使用场合使用场合,函数依赖的概念及分类;函数依赖的概念及分类;n1NF1NF、2NF2NF、3NF3NF、BCNFBCNF的概念与它们之间的关系,以及如的概念与它们之间的关系,以及如何将一个非第一范式规范成何将一个非第一范式规范成3NF3NF;n关系分解的原则:无损连接和保持依赖。关系分解的原则:无损连接和保持依赖。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁