版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 关系数据理论(lln)共七十四页 4.1问题(wnt)的提出 4.2 规范化理论(lln) 4.3 模式的分解4.4 小结第4章 关系数据理论本章内容本章内容共七十四页4.1 问题(wnt)的提出关系数据库逻辑设计 针对具体问题,如何构造一个(y )适合于它的数据模式; 数据库逻辑设计的工具关系数据库的规范化理论 共七十四页问题(wnt)的提出(续) 一、概念(ginin)回顾 三、什么是数据依赖 四、关系模式的简化定义 五、数据依赖对关系模式影响 二、关系模型的形式化定义 共七十四页一、概念(ginin)回顾关系: n个集合的笛卡儿积的一个子集。 关系模型:关系模型就是(jish)用
2、二维表格结构来表示实体及实体之间联系的模型。关系模型是各个关系的框架的集合,即关系模型是一些表格的格式,其中包括关系名、属性名、关键字等。关系模型的基本假定是所有数据都表示为数学上的关系,就是(jish)说n个集合的笛卡儿积的一个子集,有关这种数据的推理通过二值(就是说没有NULL)的谓词逻辑来进行, 这意味着对每个命题都没有两种可能的求值: 要么是真要么是假。数据通过关系演算和关系代数的一种方式来操作。 共七十四页概念(ginin)回顾(续)关系数据库:关系数据库是以关系模型(mxng)为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联
3、系。关系实质上是一张二维表。 关系数据库的模式:一组关系模式的集合叫做关系数据库模式。关系数据库模式是对关系数据库结构的描述,或者说是对关系数据库框架的描述,可以看作是关系的型(二维表头)。与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为关系数据库的实例,可以看作是关系的值(二维表内容)。 共七十四页二、关系模式(msh)的形式化定义关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自(li z)的域 DOM:属性向域的映象集合 F: 属性间数据的依赖关系集合(属性间数据依赖集合实际上就
4、是限定关系模式中属性之间必须满足的完整性约束条件)共七十四页三、什么是数据(shj)依赖1.完整性约束(yush)的表现形式 限定属性取值范围:例如学生成绩必须在0-100之间 定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键共七十四页什么是数据(shj)依赖(续)2.数据依赖 一个关系内部属性与属性之间的约束关系 现实(xinsh)世界属性间相互联系的抽象 数据内在的性质 语义的体现共七十四页什么(shn me)是数据依赖(续)3. 数据依赖的类型 函数依赖(Functional Dependency,简记(jin j)为FD) 多值依赖(Multi
5、valued Dependency,简记为MVD) 其他共七十四页四、关系(gun x)模式的简化表示关系模式R(U, D, DOM, F) 可以(ky)简化为一个三元组: R(U, F) 当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系 共七十四页五、数据依赖(yli)对关系模式的影响例1建立一个描述学校(xuxio)教务的数据库: 学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 单一的关系模式 : Student U Sno, Sdept, Mname, Cname, Grade 共七十四页数据(sh
6、j)依赖对关系模式的影响(续) 属性组U上的一组函数(hnsh)依赖F: F Sno Sdept, Sdept Mname, (Sno, Cname) Grade Sno Cname Sdept Mname Grade 共七十四页数据依赖对关系模式(msh)的影响(续)关系模式(msh)Student中存在的问题: 1. 数据冗余太大 2. 更新异常(Update Anomalies) 3. 插入异常(Insertion Anomalies) 4. 删除异常(Deletion Anomalies)共七十四页结论: Student关系模式(msh)不是一个好的模式(msh)。 “好”的模式表现:
7、 不会发生插入异常、删除异常、更新异常 数据冗余应尽可能少 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适的数据依赖 共七十四页分解(fnji)关系模式把这个(zh ge)单一模式分成3个关系模式: S(Sno,Sdept,Sno Sdept); SC(Sno,Cno,Grade,(Sno,Cno) Grade); DEPT(Sdept,Mname,Sdept Mname)共七十四页4.2 规范化 规范化理论正是(zhn sh)用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。共七十四页4.2
8、规范化 4.2.1 函数(hnsh)依赖 4.2.2 码 4.2.3 范式(fn sh) 4.2.4 2NF 4.2.5 3NF 4.2.6 BCNF 4.2.7 小结 共七十四页4.2.1 函数(hnsh)依赖一、函数(hnsh)依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖 共七十四页一、函数(hnsh)依赖定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个(lin )元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y” 或“Y函数依赖于X”,记作XY。 定义解释:
9、假如在一个关系中,当给定一个属性值X时,就可以确定另一个属性值Y,则称Y函数依赖于X。应用“XY”形式表达函数依赖。例如:一个职工关系 职工(职工号,姓名,部门) F=职工号姓名; 职工号部门共七十四页说明(shumng) 1. 所有关系实例均要满足 2. 语义范畴(fnchu)的概念 3. 数据库设计者可以对现实世界作强制的规定共七十四页函数(hnsh)依赖对关系模式的影响例:学校管理数据库中的一个关系(gun x)模式如下: 学生(学号,姓名,系名,系主任名,课名,成绩)此模式中属性之间的函数依赖集合如下:F=学号姓名,学号系名,系名系主任名,学号,课名)成绩 但若我们应用这个关系模式进行
10、数据管理将产生以下几种异常情况:1)如果一个系刚成立尚无学生,就无法输入系名及系主任名(主码不能为空值)2)若某系学生全部毕业,在删除学生信息的同时,这个系及系主任名的信息也被删除3)数据冗余大,其中学生号,姓名,系名,系主任名等信息与每个学生的课程数一样多共七十四页4)修改数据异常,在修改数据时系统要付出很大代价来维护数据库的完整性。如某系主任更换,必须(bx)修改该系学生的所有元组。 该关系模式存在的异常情况是因为该模式存在不同的函数依赖关系,即不同的主题:学生的信息系及系主任信息学生成绩信息 规范化理论正是用来改造关系模式,通过分解关系模式来消除不合适的函数依赖关系,使的每个关系只有一个
11、主题存在。函数(hnsh)依赖对关系模式的影响(续)共七十四页二、平凡函数(hnsh)依赖与非平凡函数(hnsh)依赖在关系(gun x)模式R(U)中,对于U的子集X和Y, 如果XY,但Y X,则称XY是平凡的函数依赖 如果XY,但Y X, 则称XY是非平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) Grade 平凡函数依赖: (Sno, Cno) Sno (Sno, Cno) Cno 共七十四页平凡(pngfn)函数依赖与非平凡(pngfn)函数依赖(续)若XY,则X称为这个(zh ge)函数依赖的决定属性组,也称为决定因素(D
12、eterminant)。 若XY,YX,则记作XY。 若Y 不函数依赖于X,则记作XY。共七十四页三、完全函数(hnsh)依赖与部分函数(hnsh)依赖定义 在R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y, 则称Y对X完全函数(hnsh)依赖,记作X F Y。 若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X P Y。 共七十四页完全函数(hnsh)依赖与部分函数(hnsh)依赖(续) 例1中 (Sno,Cno)Grade是完全函数依赖(yli), (Sno,Cno)Sdept是部分函数依赖 因为Sno Sdept成立,且Sno是(Sno,Cno)的真子集 FP
13、共七十四页四、传递函数依赖(yli)定义 在R(U)中,如果XY,(Y X) ,YX YZ, 则称Z对X传递函数依赖。记为:X Z 注: 如果YX成立, 即XY成立,则Z直接(zhji)依赖于X,不能称为传递依赖。 例: 在关系Std(Sno, Sdept, Mname)中,有: Sno Sdept,Sdept Mname X Y Z Mname传递函数依赖于Sno传递共七十四页4.2.2 码定义 设K为R中的属性或属性组合。若K U,则K称为R的候选码(Candidate Key)。 若候选码多于(du y)一个,则选定其中的一个做为主码(Primary Key)。F共七十四页一、码主属性与
14、非主属性 包含在任何一个候选码中的属性 ,称为(chn wi)主属性(Prime attribute) 不包含在任何候选码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) 全码 整个属性组是码,称为全码(All-key) 共七十四页码(续)例2关系模式(msh)S(Sno,Sdept,Sage),单个属性Sno是码,SC(Sno,Cno,Grade)中,(Sno,Cno)是码 例3 关系模式R(P,W,A) P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品; 某一作品可被多个演奏者演奏; 听众可以欣赏不同演奏者的不同作品;
15、码为(P,W,A),即All-Key 共七十四页二、外部(wib)码(外码)定义 关系模式 R 中属性(shxng)或属性(shxng)组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码 如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码。 主码与外部码一起提供了表示关系间联系的手段。共七十四页4.2.3 范式(fn sh)范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定(ydng)的要求。满足不同程度要求的为不同范式 范
16、式的种类:第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式 (BCNF) 第四范式(4NF) 第五范式(5NF)共七十四页范式(fn sh)(续)各种( zhn)范式之间存在联系: 1NF2NF3NF4NFBCNF5NF共七十四页范式(fn sh)(续)某一关系模式R为第n范式,可简记为RnNF。 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合(jh),这种过程就叫规范化 共七十四页4.2.4 1NF,2NF1NF的定义 如果一个(y )关系模式R的所有属性都是不可分的基本数据项,则R1NF 第一范式是对关系模式的最起码的要求。不满足第一范
17、式的数据库模式不能称为关系数据库; 但是满足第一范式的关系模式并不一定是一个好的关系模式共七十四页2NF(续)例4 关系(gun x)模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc为学生住处,假设每个系的学生住在同一个地方函数依赖包括: (Sno, Cno) F Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc共七十四页 2NF(续) S-L-C的码为(Sno, Cno) S-L-C满足(mnz)第一范式。 非主属性Sdept和Sloc部分函数依赖于码(Sno
18、, Cno)Sno Cno GradeSdept Sloc S-L-C共七十四页S-L-C不是一个(y )好的关系模式(续)(1) 插入异常 (2) 删除异常 (3) 数据(shj)冗余度大 (4) 修改复杂 共七十四页S-L-C不是一个好的关系(gun x)模式(续)原因(yunyn) Sdept、 Sloc部分函数依赖于码。 解决方法 S-L-C分解为两个关系模式,以消除这些部分函数依赖 S-C(Sno, Cno, Grade) S-L(Sno, Sdept,Sloc)共七十四页2NF(续)函数(hnsh)依赖图:Sno CnoGradeS-CS-LSno Sdept Sloc 关系模式S
19、-C的码为(Sno,Cno) 关系模式S-L的码为Sno 这样非主属性对码都是完全函数(hnsh)依赖 共七十四页 2NF(续)2NF的定义 定义 若R1NF,且每一个非主属性(shxng)完全函数依赖于码,则R2NF。 例: S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF S-C(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF 共七十四页 2NF(续)采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关
20、系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。 将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式(msh)中的各种异常情况和数据冗余。共七十四页 4.2.5 3NF定义(dngy) : 关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z Y), 使得XY,YZ成立,Y X, 则称R 3NF。 若R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。 共七十四页3NF(续)例:2NF关系模式(msh)S-L(Sno, Sdept, Sloc)中 函数依赖: SnoSdept Sdept Sno SdeptSloc 可得: SnoSloc,即S-L中存在非
21、主属性对码的传递函数依 赖,S-L 3NF 传递(chund)共七十四页函数(hnsh)依赖图:S-LSno Sdept Sloc 3NF(续)共七十四页解决(jiju)方法 采用投影分解法,把S-L分解为两个关系模式,以消除传递函数依赖: S-D(Sno, Sdept) D-L(Sdept,Sloc) S-D的码为Sno, D-L的码为Sdept。 分解后的关系模式S-D与D-L中不再存在传递依赖 3NF(续)共七十四页S-D的码为Sno, D-L的码为SdeptSnoSdept S-D Sdept Sloc D-L S-L(Sno, Sdept, Sloc) 2NF S-L(Sno, Sd
22、ept, Sloc) 3NF S-D(Sno,Sdept) 3NF D-L(Sdept, Sloc) 3NF3NF(续)共七十四页采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂(fz)等问题。 3NF实际上已经消除了非主属性对码的部分、传递依赖。3NF(续)共七十四页 4.2.6 BC范式(fn sh)(BCNF)定义: 关系模式R1NF,若XY且Y X时X必含有(hn yu)码,则R BCNF。 等价于:每一个决定属性因素都包含码. BCNF实际上消除了主属性对码的部分、传递依赖。 BCNF称为修正的
23、3NF,或扩充的3NF 定义解析:在关系模式中,若每个决定因素都可以作为候补码,则此关系为BCNF范式。 当给定一个属性值X时,就可以确定另一个属性值Y,我们称X的值决定了Y的值。函数依赖的这种关系称决定因素共七十四页BCNF(续)若RBCNF 所有非主属性对每一个码都是完全函数(hnsh)依赖 所有的主属性对每一个不包含它的码,也是完全函数依赖 没有任何属性完全函数依赖于非码的任何一组属性 R BCNF R 3NF 充分不必要共七十四页BCNF(续)例7关系模式SJP(S,J,P) S-学生,J-课程;P-名次函数依赖:(S,J)P;(J,P)S (S,J)与(J,P)都可以作为候选码 SJ
24、P3NF(无非主属性(shxng)) SJPBCNF 可见:没有非主属性,至少是3NF。共七十四页 BCNF(续)例8在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。语义:每个教师只教一门课,每门课可以有若干(rugn)教师任教,某学生选定某门课,就对应了一个固定教师。由此语义可以得到此关系模式的函数依赖如下:函数依赖: (S,J)T,(S,T)J,TJ (S,J)和(S,T)都是候选码 , 但T不能作为候补码共七十四页 BCNF(续) JSJTSTSTJ中的函数(hnsh)依赖共七十四页BCNF(续)STJ3NF (没有非主属性) 没有任何非主属性对码传递依赖或部分依赖
25、 STJBCNF 因为(yn wi):(S,T)J,TJ,可以理解为J对码的部分依赖 或称:T是决定因素,但T不包含码 共七十四页BCNF(续)例1设关系模式(msh)R(Sno,Cno,Grade,Tname,Taddr),其属性分别为: 学号、课程号、成绩、任课教师姓名、教师住址。如果规定: 每个学生每学一门课只有一个成绩;每门课只有一个教师任教; 每个教师只有一个地址;教师没有重名。 1.试写出关系模式R基本的函数依赖和候选码。 函数依赖:(Sno,Cno)-Grade; Cno-Tname; Tname-Taddr; 候选码:(Sno,Cno,Tname) 2.试把R分解成2NF模式集
26、,并说明理由。 2NF是消除了非主属性对非码的依赖。 (Sno,Cno,Grade)、(Cno,Tname,Taddr) 3.试把R分解成3NF模式集,并说明理由。 3NF是消除了非主属性对码的传递依赖 (Sno,Cno,Grade)、(Cno,Tname)、(Tname,Taddr)共七十四页BCNF(续)例2:设有关系模式SC(Sno, Sdept, Sdorm, Cno, Grade),其属性分 别为:学号、系、学生宿舍楼号、课程号、成绩。 规定:一个学生只能属于一个系,并且只能有一个宿舍,每个系有一个宿舍楼,每个学生每一门课只能有一个成绩。 1.判断SC是否为第二范式,说明理由。如果不
27、是2NF,应如何分解。 SC不是2NF,因为:码(Sno,Cno),而 Sno-Sdept, 存在非主属性对非码的依赖。 分解:SC1(Sno,Cno,Grade) ; SC2(Sno,Sdept, Sdorm) 2.在上面问题的基础(jch)上,将它分解为第三范式,说明理由。 SC2不是3NF,因为Sno-Sdept-Sdorm存在非主属性对码的传递依赖。 分解:SC1(Sno,Cno,Grade) ; SC2(Sno,Sdept) ; SC3(Sdept, Sdorm);共七十四页4.2.7 规范化小结(xioji)关系数据库的规范化理论是数据库逻辑设计的工具; 目的:尽量消除插入、删除异
28、常,修改复杂(fz),数据冗余 基本思想:逐步消除数据依赖中不合适的部分 实质:概念的单一化. 共七十四页规范化小结(xioji)(续) 1NF 消除非主属性对码的部分函数依赖(yli) 消除决定属性 2NF 集非码的非平 消除非主属性对码的传递函数依赖 凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖 4NF关系模式规范化的基本步骤共七十四页规范化小结(xioji)(续)不能说规范化程度越高的关系模式(msh)就越好; 在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式; 上面的
29、规范化步骤可以在其中任何一步终止。 共七十四页4.3 模式(msh)的分解 把低一级的关系(gun x)模式分解为若干个高一级的关系(gun x)模式的 方法不是唯一的,只有能够保证分解后的关系模式与原关系 模式等价,分解方法才有意义。共七十四页关系模式(msh)分解的标准三种(sn zhn)模式分解等价的定义: 分解具有无损连接性 分解要保持函数依赖 分解既要保持函数依赖,又要具有无损连接性共七十四页模式(msh)的分解(续)定义6.16 关系模式R的一个分解: = R1,R2,Rn 其中U= Ui,且不存在(cnzi) Ui Uj,Fi 为 F在 Ui 上的投影。 定义6.17 函数依赖集
30、合XY | XY F+XY Ui 的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影i=1n共七十四页模式(msh)的分解(续)例: S-L(Sno, Sdept, Sloc) F= SnoSdept,SdeptSloc,SnoSloc S-L2NF 分解(fnji)方法可以有多种: 1. S-L分解为三个关系模式:SN(Sno) SD(Sdept) SO(Sloc) 2. SL分解为下面二个关系模式:NL(Sno, Sloc) DL(Sdept, Sloc) 3. 将SL分解为下面二个关系模式:ND(Sno, Sdept) NL(Sno, Sloc) 共七十四页具有无损(w sn)连接性的模式分解关系模式R的一个分解 = R1,R2, ,Rn 若R与R1、R2、Rn自然连接的结果相等,则称关系模式R的这个分 解具有无损连接性(Lossless join) 具有无损连接性的分解保证不丢失信息 无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余(rn y)等问题共七十四页模式(msh)的分解(续) 第3种分解方法具有无损连接性 问题:这种分解方法没有保持原关系中的函数依赖 SL中的函数依赖SdeptSloc没有投影(tuyng)到关系模式ND、NL上 共七十四页保持函数依赖的模式(msh)分解 设关系模式R被分解为若干个关系模式 R1,R2,Rn (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西吉安市遂川县城控人力资源管理有限公司招聘辅助性岗位工作人员1人备考题库及1套参考答案详解
- 产康师理论考试题及答案
- 阴影透视期末试题及答案
- 2025-2026人教版五年级语文小学上学期卷
- 脑卒中病人的心理康复护理
- 2025 小学六年级科学上册科学教育中的微课制作技巧与应用实例课件
- 湖南省民办职业培训机构管理办法
- 卫生院临时应急工作制度
- 面食间卫生管理制度
- 养殖场消毒卫生管理制度
- GDPR框架下跨境医疗数据治理策略
- 2026年及未来5年市场数据中国滑板车行业发展前景及投资战略规划研究报告
- 糖尿病足溃疡VSD治疗足部皮肤护理方案
- 浅谈盲人按摩行业的现状、困境及出路
- 邮政营业与投递岗位履职培训
- 2025煤矿事故一览表
- 2025版中国经皮冠状动脉介入治疗指南课件
- 2025-2030挠性覆铜板FCCL行业市场深度调研及发展前景研究报告
- 解读-2025年版《普通高中课程标准》化学解读
- 食堂餐厅维修项目方案(3篇)
- 医用手术器械讲解
评论
0/150
提交评论