版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5章章 数据库设计及其应用系统开发数据库设计及其应用系统开发5.1 关系模式规范化关系模式规范化5.2 数据库系统设计数据库系统设计5.3 需求分析需求分析5.4 概念结构设计概念结构设计5.5 逻辑结构设计逻辑结构设计5.6 物理设计物理设计5.7 数据库实施和维护数据库实施和维护5.1 关系模式规范化关系模式规范化5.1.1 规范化问题的提出规范化问题的提出例例数据冗余数据冗余插入异常插入异常更新异常更新异常删除异常删除异常5.1 关系模式规范化关系模式规范化5.1.1 规范化问题的提出规范化问题的提出解决的方法:关系模式分解!解决的方法:关系模式分解! 异常产生的原因是关系模式中的属
2、性之间存在过多的异常产生的原因是关系模式中的属性之间存在过多的数数据依赖关系据依赖关系,与现实世界不符合。,与现实世界不符合。设设RU是属性集是属性集U上的关系模式,上的关系模式,X、Y是是U的子集。的子集。若对于若对于RU的任意一个可能的关系的任意一个可能的关系r,r中不可能存在中不可能存在两个元组在两个元组在X上的属性值相等,而上的属性值相等,而Y上的属性值不等,则上的属性值不等,则称称X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X,记作,记作XY。5.1 关系模式规范化关系模式规范化5.1.2 函数依赖函数依赖5.1 关系模式规范化关系模式规范化5.1.2 函数依赖函数依赖例:关系
3、模式:例:关系模式: R(SNO,SNAME,SEX,AGE, DNO, DNAME, DADDRESS, CNO,GRADE)则在关系模式则在关系模式R的任何关系的任何关系r中存在函数依赖关系:中存在函数依赖关系:SNO SNAME;SNO SEX, SNO AGE;SNO DNO;DNO DNAME;DNO DADDRESS; (SNO,CNO) GRADE在关系模式在关系模式R(U)中:中:5.1 关系模式规范化关系模式规范化5.1.2 函数依赖函数依赖平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖 如果如果XY,并且,并且 ,则称,则称XY是非平凡函数依赖。是非平凡函数依赖。
4、 如果如果XY,并且,并且 ,则称,则称XY是平凡函数依赖。是平凡函数依赖。XYXYSNO SNAME,SNO SEX, SNO AGE,SNO DNO,DNO DNAME,DNO DADDRESS; (SNO,CNO) GRADE(非平凡函数依赖)(非平凡函数依赖)(SNO,SNAME) SNAME(平凡函数依赖)(平凡函数依赖)在关系模式在关系模式R(U)中:中:5.1 关系模式规范化关系模式规范化5.1.2 函数依赖函数依赖完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖 如果如果XY,并且对于,并且对于X的任意一个真子集的任意一个真子集X1,X1Y均均不成立,则称不成立,则称Y完全
5、函数依赖于完全函数依赖于X。 如果如果XY,并且至少存在,并且至少存在X的真子集的真子集X1,使,使X1Y成立成立,则称,则称Y部分函数依赖于部分函数依赖于X。SNO SNAME,SNO SEX, SNO AGE,SNO DNO,DNO DNAME,DNO DADDRESS; (SNO,CNO) GRADE(完全函数依赖)(完全函数依赖)(SNO,CNO) SNAME(部分函数依赖)(部分函数依赖)5.1 关系模式规范化关系模式规范化5.1.2 函数依赖函数依赖传递函数依赖传递函数依赖在关系模式在关系模式R(U)中:中:在关系模式在关系模式R(U)中,如果中,如果XY,并且,并且YZ,且,且Y
6、X,则则XZ,称,称Z传递函数依赖于传递函数依赖于X。SNODNODNAME,可得,可得SNODNAME,该依赖为,该依赖为传递函数依赖。传递函数依赖。 根据关系模式满足的不同性质和规范化的程度划分,可以根据关系模式满足的不同性质和规范化的程度划分,可以划分成不同范式。划分成不同范式。5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化 范式的种类:范式的种类:第一范式第一范式(1NF)第二范式第二范式(2NF)第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(5NF) 一个低一级范式的关系一个低一级范式的关系模式,通过模式分解可模式,通过模
7、式分解可以转换为若干个高一级以转换为若干个高一级范式的关系模式的集合范式的关系模式的集合,这种过程就叫关系模,这种过程就叫关系模式规范化。式规范化。 (1) 1NF的定义、的定义、 2NF的定义的定义 如果关系模式如果关系模式R的每个属性都是不可再分的,则称的每个属性都是不可再分的,则称R属于第一范式,记作属于第一范式,记作R1NF。 若若R1NF,且每一个非主属性完全依赖于码,则,且每一个非主属性完全依赖于码,则R2NF。5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化范式范式关系模式为:关系模式为:R(SNO,SNAME,SEX, AGE, DNO, DNAME, DADDRE
8、SS, CNO,GRADE)例:例: 若关系模式若关系模式R2NF,若每一个非主属性都不传递依赖,若每一个非主属性都不传递依赖于某个候选码,则关系于某个候选码,则关系R属于第三范式,记为:属于第三范式,记为:R3NF。(2) 3NF的定义的定义5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化范式范式R1(SNO,SNAME,SEX, AGE, DNO, DNAME, DADDRESS)例:例: 设有一个关系模式设有一个关系模式R1NF,若,若R的任一非平凡函数依的任一非平凡函数依赖赖XA满足以下条件:决定因素满足以下条件:决定因素X必是超码,则称必是超码,则称R属属于于BCNF,记
9、为,记为RBCNF 。 满足满足BCNF必满足如下条件:必满足如下条件: 所有非主属性对每一个码都是完全函数依赖;所有非主属性对每一个码都是完全函数依赖; 所有的主属性对每一个不包含它的码,也是完全函所有的主属性对每一个不包含它的码,也是完全函数依赖;数依赖; 没有任何属性完全函数依赖于非码的任何一组属性。没有任何属性完全函数依赖于非码的任何一组属性。(3) BCNF的定义的定义5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化范式范式 无损分解和保持依赖是对关系模式进行分解的两个基本无损分解和保持依赖是对关系模式进行分解的两个基本原则。原则。 模式模式R的一个分解的一个分解 = R
10、1,R2 ,Rn, 若若R与与R1、R2、Rn自然连接的结果相自然连接的结果相等,则称关系模式等,则称关系模式R的这个分解的这个分解是是无损分解。无损分解。5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化模式分解模式分解 假设一个关系模式将假设一个关系模式将R(U, F) (其中其中U为为R的属性的集合,的属性的集合,F为为R的函数依赖集合的函数依赖集合)分解为分解为R1(U1, F1)和和R2(U2, F2),且且U=U1U2,F1和和F2是是F在在R1和和R2上的投影,则判定上的投影,则判定该 分 解 为 无 损 分 解 的 规 则 或 充 分 必 要 条 件 是 :该 分 解
11、 为 无 损 分 解 的 规 则 或 充 分 必 要 条 件 是 :U1U2U1-U2或或U1U2U2-U1。以上分解中,如果。以上分解中,如果F1, F2逻辑蕴涵逻辑蕴涵F, 则该分解为保持依赖分解。则该分解为保持依赖分解。5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化模式分解模式分解将关系模式将关系模式S(SNO,SNAME,AGE,DNO,DNAME)分解为:分解为: S1(SNO,SNAME,AGE,DNO) S2(DNO,DNAME)5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化模式分解模式分解例:例:试判断其无损分解性和保持依赖性。试判断其无损分解性和保
12、持依赖性。 无损分解能够保证不丢失信息;无损分解能够保证不丢失信息; 保持函数依赖可以减轻或解决各种异常情况;保持函数依赖可以减轻或解决各种异常情况; 无损分解和保持函数依赖是两个互相独立的标准。无损分无损分解和保持函数依赖是两个互相独立的标准。无损分解不一定能够保持函数依赖;同样,保持函数依赖也不一解不一定能够保持函数依赖;同样,保持函数依赖也不一定具有无损分解性。定具有无损分解性。5.1 关系模式规范化关系模式规范化5.1.3 规范化规范化模式分解模式分解n 数据库设计是指对于一个给定的应用环境,进行数据数据库设计是指对于一个给定的应用环境,进行数据库的概念设计、逻辑设计和物理设计。库的概
13、念设计、逻辑设计和物理设计。n 数据库系统设计包括数据库的结构设计和数据库的行为数据库系统设计包括数据库的结构设计和数据库的行为设计。设计。5.2 数据库系统设计数据库系统设计5.2.1 数据库系统设计概述数据库系统设计概述5.2 数据库系统设计数据库系统设计5.2.2 数据库设计过程数据库设计过程 数据库设计分数据库设计分6个阶段个阶段 需求分析需求分析 概念结构设计概念结构设计 逻辑结构设计逻辑结构设计 物理结构设计物理结构设计 数据库实施数据库实施 数据库运行和维护数据库运行和维护 详细调查现实世界要处理的对象;详细调查现实世界要处理的对象; 充分了解原系统(手工系统或计算机系统);充分
14、了解原系统(手工系统或计算机系统); 明确用户的各种需求;明确用户的各种需求; 确定新系统的功能;确定新系统的功能; 充分考虑今后可能的扩充和改变。充分考虑今后可能的扩充和改变。5.3 需求分析需求分析5.3.1 需求分析的任务需求分析的任务 调查的重点是调查的重点是“数据数据”和和“处理处理”,获得用户对数据库,获得用户对数据库的要求,包括:的要求,包括: 信息要求信息要求 处理要求,响应时间处理要求,响应时间 安全性与完整性要求安全性与完整性要求5.3 需求分析需求分析5.3.2 需求分析的重点需求分析的重点 调查组织机构情况;调查组织机构情况; 调查各部门的业务活动情况;调查各部门的业务
15、活动情况; 在熟悉业务活动的基础上,协助用户明确对新系统的各在熟悉业务活动的基础上,协助用户明确对新系统的各种要求;种要求; 确定新系统的边界。确定新系统的边界。5.3 需求分析需求分析5.3.3 系统需求的的调查步骤系统需求的的调查步骤 结构化分析方法(结构化分析方法(Structured Analysis,简称,简称SA方法)方法)从最上层的系统组织机构入手从最上层的系统组织机构入手 采用自顶向下、逐层分解的方式分析系统采用自顶向下、逐层分解的方式分析系统5.3 需求分析需求分析5.3.4 需求分析的方法需求分析的方法(1)首先把任何一个系统都抽象为如下的数据流图。数据流图。数据流数据流数
16、据流数据流数据数据存储存储数据数据来源来源处理处理数据数据输出输出5.3 需求分析需求分析5.3.4 需求分析的方法需求分析的方法(2)分解处理功能和数据:)分解处理功能和数据: 将处理功能的具体内容分解为若干子功能;将处理功能的具体内容分解为若干子功能; 处理功能逐步分解同时,逐级分解所用数据,形成若干处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图;层次的数据流图; 处理逻辑用判定表或判定树来描述;处理逻辑用判定表或判定树来描述; 数据用数据字典来描述。数据用数据字典来描述。(3)将分析结果再次提交给用户,征得用户的认可。)将分析结果再次提交给用户,征得用户的认可。5.3 需
17、求分析需求分析5.3.4 需求分析的方法需求分析的方法 数据字典是各类数据描述的集合,数据字典是各类数据描述的集合,数据字典在需求分析阶数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。段建立,在数据库设计过程中不断修改、充实、完善。 5.3 需求分析需求分析5.3.5 数据字典及其表示数据字典及其表示数据项是不可再分的数据单位。数据项是不可再分的数据单位。数据结构反映了数据之间的组合关系。数据结构反映了数据之间的组合关系。数据流是数据结构在系统内传输的路径。数据流是数据结构在系统内传输的路径。数据存储是数据及其结构停留或保存数据存储是数据及其结构停留或保存 的地方,也是数的
18、地方,也是数据流的来源和去向之一。数据存储可以是手工文档、手据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。工凭单或计算机文档。处理过程用判定表或判定树来描述处理过程用判定表或判定树来描述。 整个数据库设计的关键;整个数据库设计的关键; 通过对用户需求进行综合、归纳与抽象,形成一个通过对用户需求进行综合、归纳与抽象,形成一个独立于具体独立于具体DBMS的概念模型。的概念模型。5.4 概念结构设计概念结构设计5.4.1 概念结构设计的任务概念结构设计的任务 自顶向下自顶向下先定义全局概念结构的框架,再逐步细化。先定义全局概念结构的框架,再逐步细化。 自底向上自底向上先定义局部
19、概念结构,再集成为全局概念结构。 逐步扩张逐步扩张先定义核心概念结构,再逐步扩充至总体概念结构。 混合策略混合策略将自顶向下和自底向上相结合。5.4 概念结构设计概念结构设计5.4.2 概念结构设计的方法概念结构设计的方法(1) 确定实体确定实体依据需求分析的结果,确定系统中存在的实体。依据需求分析的结果,确定系统中存在的实体。学生课程5.4 概念结构设计概念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上)(2) 确定实体的属性及码确定实体的属性及码属性的确定可参照以下原则:属性的确定可参照以下原则:属性不再具有需要描述的性质属性不再具有需要描述的性质属性必须是
20、不可分的数据项属性必须是不可分的数据项属性不能包含其它属性属性不能包含其它属性属性不能与其它实体具有联系属性不能与其它实体具有联系5.4 概念结构设计概念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上)(2) 确定实体的属性及码确定实体的属性及码学生(学生(,姓名,性别,年龄,专业,出生日期,联系方式),姓名,性别,年龄,专业,出生日期,联系方式)5.4 概念结构设计概念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上)课程(课程(, 课程名称课程名称 ,学分)学分)(2) 确定实体的属性及码确定实体的属性及码5.4 概念结构设计概
21、念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上)依据需求分析结果,确定实体间的联系类型。依据需求分析结果,确定实体间的联系类型。(3) 确定实体间联系及联系的属性确定实体间联系及联系的属性5.4 概念结构设计概念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上)合并后的全局合并后的全局E-R图要反映用户需求,还应满足:图要反映用户需求,还应满足:(4) 局部局部E-R图合并图合并实体个数尽量少实体个数尽量少实体属性尽量少实体属性尽量少实体间联系无冗余实体间联系无冗余因此在集成时应消除冗余的实体、属性和联系,注意解因此在集成时应消除
22、冗余的实体、属性和联系,注意解决各分决各分E-R图之间的冲突(命名冲突、属性冲突、结构冲突图之间的冲突(命名冲突、属性冲突、结构冲突),并且根据情况修改重构),并且根据情况修改重构E-R图。图。 5.4 概念结构设计概念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上)(4) 局部局部E-R图合并图合并5.4 概念结构设计概念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上)(5) 全局全局E-R图验证与优化图验证与优化1)全局)全局E-R模型具有一致性,不存在相互矛盾。模型具有一致性,不存在相互矛盾。2)全局)全局E-R模型能够明确
23、地反映出实体、实体的属性以模型能够明确地反映出实体、实体的属性以及实体之间的联系。及实体之间的联系。3)全局)全局E-R模型能够满足需求分析的所有需求。模型能够满足需求分析的所有需求。4)征求用户和相关人员的意见,进行评审和优化。征求用户和相关人员的意见,进行评审和优化。5.4 概念结构设计概念结构设计5.4.3 概念结构设计的步骤(自底向上)概念结构设计的步骤(自底向上) 将概念结构转换为某个将概念结构转换为某个DBMS所支持的数据模型;所支持的数据模型; 对其进行优化;对其进行优化; 完成数据库的逻辑模式和外模式的设计。完成数据库的逻辑模式和外模式的设计。5.5 逻辑结构设计逻辑结构设计5
24、.5.1 逻辑结构设计的任务和步骤逻辑结构设计的任务和步骤(1)一个实体类型转换成一个关系模式,实体的属性就是)一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。关系的属性,实体的码就是关系的码。学生(学生(,姓名,性别,出生日期,专业,联系方式),姓名,性别,出生日期,专业,联系方式)课程(课程(,课程名称,学分),课程名称,学分)5.5 逻辑结构设计逻辑结构设计5.5.2 将概念模型转换为关系模型的转换规则将概念模型转换为关系模型的转换规则(2)一个)一个1:1联系可以转换为一个独立的关系模式,也可以联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体
25、所对应的关系模式合并。与联系的任意一端实体所对应的关系模式合并。若转换为一个独立的关系,则与该联系相连的各实体的码若转换为一个独立的关系,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。是该关系的候选码。若与联系的任一端实体所对应的关系合并,则需要在该关若与联系的任一端实体所对应的关系合并,则需要在该关系的属性中加入另一个实体的码和联系本身的属性。系的属性中加入另一个实体的码和联系本身的属性。5.5 逻辑结构设计逻辑结构设计5.5.2 将概念模型转换为关系模型的转换规则将概念模型转换为关系模型的
26、转换规则1)“管理管理”联系转换成一个独立的关系模式联系转换成一个独立的关系模式班长(学号,姓名,性别,出生日期)班长(学号,姓名,性别,出生日期)班级(班级编号,系别,专业,班级名称)班级(班级编号,系别,专业,班级名称)管理(学号,班级编号)管理(学号,班级编号)2)“管理管理”联系与联系与“班长班长”实体合并实体合并班长(学号,姓名,性别,出生日期,班级编号)班长(学号,姓名,性别,出生日期,班级编号)班级(班级编号,系别,专业,班级名称)班级(班级编号,系别,专业,班级名称)(3)一个)一个 1:n 联系可以转换为一个独立的关系模式,也可联系可以转换为一个独立的关系模式,也可以与联系的
27、以与联系的 n 端实体所对应的关系模式合并。端实体所对应的关系模式合并。若转换为一个独立的关系,则与该联系相连的各实体的码若转换为一个独立的关系,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而联系的码为以及联系本身的属性均转换为关系的属性,而联系的码为 n 端实体的码。端实体的码。若与联系的若与联系的 n 端实体所对应的关系合并,则需要在该关系端实体所对应的关系合并,则需要在该关系的属性中加入的属性中加入1端实体的码和联系本身的属性。端实体的码和联系本身的属性。 5.5 逻辑结构设计逻辑结构设计5.5.2 将概念模型转换为关系模型的转换规则将概念模型转换为关系模型的转换规则
28、1)“组成组成”联系转换为一个独立的关系模式联系转换为一个独立的关系模式工人(工人(工号工号,姓名,性别,工龄,工种),姓名,性别,工龄,工种)车间(车间(车间编号车间编号,车间名称),车间名称)组成(组成(工号工号,车间编号),车间编号)2)“组成组成”联系与联系与“工人工人”实体合并实体合并工人(工人(工号工号,姓名,性别,工龄,工种,车间编号),姓名,性别,工龄,工种,车间编号)车间(车间(车间编号车间编号,车间名称),车间名称)(4)一个)一个 m:n 联系转换为一个关系,与该联系相连的各联系转换为一个关系,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系实体的码以
29、及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。的码为各实体码的组合。5.5 逻辑结构设计逻辑结构设计5.5.2 将概念模型转换为关系模型的转换规则将概念模型转换为关系模型的转换规则学生(学生(学号学号,姓名,性别,出生日期,专业,联系方式),姓名,性别,出生日期,专业,联系方式)课程(课程(课程号课程号,课程名称,学分),课程名称,学分)选修(选修(学号学号,课程号课程号,成绩),成绩)(5)三个或三个以上的实体间的多元联系转换为一个关系。)三个或三个以上的实体间的多元联系转换为一个关系。与该多元联系相连的各实体的码以及联系本身的属性均转换与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。为关系的属性,而关系的码为各实体码的组合。5.5 逻辑结构设计逻辑结构设计5.5.2 将概念模型转换为关系模型的转换规则将概念模型转换为关系模型的转换规则教师(教师(职工号职工号,姓
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五一建材活动方案策划(3篇)
- 木业环境应急预案(3篇)
- 外校走访活动策划方案(3篇)
- 洛丽塔促销活动方案策划(3篇)
- 会议活动筹备策划方案(3篇)
- 农村瓦工施工方案(3篇)
- 朝天防水施工方案(3篇)
- 员工健康应急预案(3篇)
- 2026年物流科技智能化报告
- 益阳打桩施工方案(3篇)
- GB/T 32483.3-2025光源控制装置的效率要求第3部分:卤钨灯和LED光源控制装置控制装置效率的测量方法
- 去极端化条例解读课件
- 水上抛石应急预案
- 苏州大学介绍
- 青少年法律知识竞赛试题及答案
- 酒店消防安全应急预案范本
- 疲劳骨折课件
- 《昆虫记》中的昆虫图片
- 铁路施工安全检查日志范本
- 矿山安全培训模拟场景描述课件
- 充电宝使用安全知识培训课件
评论
0/150
提交评论