版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章第七章 数据库设计数据库设计本章要求:本章要求:1、掌握数据库设计的基本步骤、掌握数据库设计的基本步骤2、掌握各阶段的任务、方法和常用、掌握各阶段的任务、方法和常用的技术手段的技术手段3、能够针对小型应用问题进行数据、能够针对小型应用问题进行数据库设计和实现库设计和实现1本章内容:本章内容:1 数据库设计概述数据库设计概述2 需求分析需求分析3 概念结构设计概念结构设计4 逻辑结构设计逻辑结构设计5 数据库的物理设计数据库的物理设计6 数据库的实施和维护数据库的实施和维护21 数据库设计概述数据库设计概述 数据库设计数据库设计是指对一个给定的应用环境,构造优是指对一个给定的应用环境,构造
2、优化的数据库模式,建立数据库及其应用系统,使之能化的数据库模式,建立数据库及其应用系统,使之能够有效地存取数据,满足用户的应用需求。够有效地存取数据,满足用户的应用需求。 数据库设计的目标是为用户提供一个针对具体应数据库设计的目标是为用户提供一个针对具体应用的高效的数据管理和操作环境。用的高效的数据管理和操作环境。一、数据库设计的特点一、数据库设计的特点 大型数据库的设计和开发是涉及多学科的综合性大型数据库的设计和开发是涉及多学科的综合性技术,其主要特点体现在:技术,其主要特点体现在: “三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据” 数据结构设计和处理行为设计相结合数
3、据结构设计和处理行为设计相结合3二、数据库设计方法二、数据库设计方法 进行数据库设计需要多方面的技术和知识,进行数据库设计需要多方面的技术和知识,包括:包括:l计算机基础知识计算机基础知识 l软件工程的原理和方法软件工程的原理和方法l程序设计方法和技巧程序设计方法和技巧 l数据库基本知识数据库基本知识l数据库设计技术数据库设计技术 l应用领域的知识应用领域的知识4二、数据库设计方法二、数据库设计方法1、新奥尔良方法、新奥尔良方法 该方法将数据库设计分为该方法将数据库设计分为需求分析、概念需求分析、概念设计、逻辑设计和物理设计设计、逻辑设计和物理设计四个阶段,运用软四个阶段,运用软件工程的方法,
4、通过一定的辅助手段实现每一件工程的方法,通过一定的辅助手段实现每一过程。过程。2、E-R模型法模型法 用用E-R模型来描述数据库的概念模型,是模型来描述数据库的概念模型,是概念设计阶段常用的方法。概念设计阶段常用的方法。53、3NF设计法设计法 用关系数据库理论设计数据库的逻辑模式,并使用关系数据库理论设计数据库的逻辑模式,并使每个模式最低为每个模式最低为3NF,是逻辑设计阶段常用的方法。,是逻辑设计阶段常用的方法。4、ODL(Object Definition Language)法)法 用面向对象的概念和术语来描述数据库的对象结用面向对象的概念和术语来描述数据库的对象结构,以建设面向对象的数
5、据库。构,以建设面向对象的数据库。 随着技术的进步,传统的手工方式已不能满足数随着技术的进步,传统的手工方式已不能满足数据库设计的需要,数据库设计工具已经实用化和产品据库设计的需要,数据库设计工具已经实用化和产品化,如:化,如: ORACLE 公司公司 Designer 2000 Sybase 公司的公司的PowerDesigner三、数据库设计的基本步骤三、数据库设计的基本步骤6需求收集和分析需求收集和分析应用需求应用需求(数数据、处理据、处理)设计概念结构设计概念结构设计逻辑结构设计逻辑结构数据模型优化数据模型优化设计物理结构设计物理结构评价设计、性能检测评价设计、性能检测物理实现物理实现
6、试验性运行试验性运行使用、维护数据库使用、维护数据库转换规则、转换规则、DBMS功能、功能、优化方法优化方法应用要求、应用要求、DBMS详细详细特征特征需求分析阶段需求分析阶段概念设计阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段物理设计阶段数据库实施阶段数据库实施阶段数据库运行、维护数据库运行、维护不不满满意意7设设计计阶阶 段段 设设 计计 描描 述述数数 据据处处 理理需 求需 求分分 析析 数据字典、全系统中数据项、数据字典、全系统中数据项、 数据流、数据存储的描述数据流、数据存储的描述数据流图和判定表(判定树)、数据数据流图和判定表(判定树)、数据字典中处理过程的描述字典中处理
7、过程的描述 概念模型(概念模型(E-R图)图) 数据字典数据字典 系统说明书包括:系统说明书包括: 新系统要求、新系统要求、 方案和概图方案和概图 反映新系统信息反映新系统信息 流的数据流图流的数据流图 某种数据模型某种数据模型 关系关系 非关系非关系 系统结构图系统结构图 (模块结构)(模块结构) 存储安排存储安排 方法选择方法选择 存取路径建立存取路径建立 模块设计模块设计 IPO表表实施实施阶段阶段 编写模式编写模式 装入数据装入数据 数据库试运行数据库试运行 程序编码、程序编码、 编译联结、编译联结、 测试测试运行、运行、维护维护 性能监测、转储性能监测、转储/恢复恢复 数据库重组和重
8、构数据库重组和重构 新旧系统转换、运行、维护(修新旧系统转换、运行、维护(修正性、适应性、改善性维护)正性、适应性、改善性维护)IPO表输入:输出:处理:CreatLoadMain()ifthenend分区1分区2概念概念结构结构设计设计逻辑逻辑结构结构设计设计物理物理设计设计82 需求分析需求分析 了解将要开发的系统要管理什么样的数据了解将要开发的系统要管理什么样的数据(数据要求数据要求)、对这些数据要进行怎样的处理)、对这些数据要进行怎样的处理(处理要求处理要求)、系统的安全性和完整性方面有)、系统的安全性和完整性方面有什么样的要求等。什么样的要求等。 要彻底弄清这些情况往往是很困难的。因
9、要彻底弄清这些情况往往是很困难的。因为用户可能不知道计算机能做什么,不能做什为用户可能不知道计算机能做什么,不能做什么,往往不能准确、全面地表达自己的需求,么,往往不能准确、全面地表达自己的需求,而设计员可能不了解领域专业知识,不能够准而设计员可能不了解领域专业知识,不能够准确领会用户的意图。因此必须经过充分交流、确领会用户的意图。因此必须经过充分交流、讨论才能达成共识。讨论才能达成共识。一、需求分析的任务一、需求分析的任务9二、需求分析的方法二、需求分析的方法n调查组织机构情况调查组织机构情况了解该组织的部门组成情况,各部门的职责,为分了解该组织的部门组成情况,各部门的职责,为分析信息流程做
10、准备析信息流程做准备n调查各部门的业务活动情况调查各部门的业务活动情况(重点)重点)u了解各部门的输入和使用什么样的数据了解各部门的输入和使用什么样的数据u如何加工这些数据如何加工这些数据u输出什么信息输出什么信息u输出到什么部门输出到什么部门u信息输出结果的格式信息输出结果的格式需求分析步骤:需求分析步骤:10n协助用户明确对新系统的各种要求(重点)协助用户明确对新系统的各种要求(重点)u信息要求、处理要求、安全性与完整性要信息要求、处理要求、安全性与完整性要求求n确定新系统的边界确定新系统的边界u确定那些由计算机来完成,那些由人工来确定那些由计算机来完成,那些由人工来完成。完成。11需求分
11、析调查方法:需求分析调查方法:n跟班作业跟班作业 参加业务工作来了解业务活动的参加业务工作来了解业务活动的情况,此种方法可以准确地了解用户的需求,情况,此种方法可以准确地了解用户的需求,但是比较耗费时间。但是比较耗费时间。n开会调查开会调查 召集用户开座谈会,了解业务活召集用户开座谈会,了解业务活动情况,座谈时,参加者之间可以相互启发。动情况,座谈时,参加者之间可以相互启发。n请专人介绍请专人介绍 请熟悉业务情况的专家或用户请熟悉业务情况的专家或用户代表介绍业务情况。代表介绍业务情况。12n询问询问 对尚存有疑惑的问题,或用户没有提对尚存有疑惑的问题,或用户没有提出但认为应该考虑的问题,可随时
12、询问。出但认为应该考虑的问题,可随时询问。n设计调查表请用户填写设计调查表请用户填写 如果调查表设计的如果调查表设计的合理,这种方法是很有效,也易于为用户接合理,这种方法是很有效,也易于为用户接受。受。n查阅记录查阅记录 通过查阅业务活动记录和各种数通过查阅业务活动记录和各种数据报表,了解业务的活动内容和规律。据报表,了解业务的活动内容和规律。 做需求调查时,往往需要同时采用上述做需求调查时,往往需要同时采用上述多种方法。但是无论采用何种方法,都需要用多种方法。但是无论采用何种方法,都需要用户的配合。户的配合。13需求分析结果的表示需求分析结果的表示 了解用户需求后,通过分析和总结,将需了解用
13、户需求后,通过分析和总结,将需求分析结果用数据流图和数据字典表示出来。求分析结果用数据流图和数据字典表示出来。14 数据流图数据流图用于描述信息在系统中流动和处用于描述信息在系统中流动和处理的情况,它是逻辑系统的图形表示。设计人理的情况,它是逻辑系统的图形表示。设计人员将他对系统的认识和设想用数据流图描述出员将他对系统的认识和设想用数据流图描述出来,供人们审查、确认和参阅。设计数据流图来,供人们审查、确认和参阅。设计数据流图时只需考虑系统要完成的基本逻辑功能,不必时只需考虑系统要完成的基本逻辑功能,不必考虑如何具体地实现这些功能。考虑如何具体地实现这些功能。三、数据流图(三、数据流图(Data
14、 Flow Diagram,DFD)15 由于数据流图不包含任何物理实现的细节,由于数据流图不包含任何物理实现的细节,所以即使是非计算机人员也容易理解和评价。所以即使是非计算机人员也容易理解和评价。 数据流图中的数据用数据流图中的数据用数据字典数据字典描述,而处描述,而处理一般用理一般用判定树判定树来表示。数据流图中的处理可来表示。数据流图中的处理可以是一个简单的处理程序,也可以是一个复杂以是一个简单的处理程序,也可以是一个复杂的处理过程。的处理过程。16数据流图中的符号数据流图中的符号数据源点或终点数据源点或终点数据加工或处理数据加工或处理数据存储数据存储数据流数据流T*ABC同时输入同时输
15、入A、B后变成后变成CT+ABC输入输入A或或/和和B后变成后变成CT+ABC仅输入仅输入A、B之一后变成之一后变成CT*将将A变成变成B和和CABCT +ABC将将A变成变成B或或/和和CT+ABC将将A变成变成B或或C之一之一17举例:举例: 对某工厂仓库和采购部两个部门,要开发一个定对某工厂仓库和采购部两个部门,要开发一个定货系统,了解到如下业务情况:货系统,了解到如下业务情况: 仓库管理员将零件入库或出库称为事务,当发现仓库管理员将零件入库或出库称为事务,当发现库存数量小于临界值时,自动生成定货信息,包括零库存数量小于临界值时,自动生成定货信息,包括零件编号、名称、数量、目前价格、主供
16、货者、次供货件编号、名称、数量、目前价格、主供货者、次供货者。根据定货信息生成定货报表交采购员采购零件。者。根据定货信息生成定货报表交采购员采购零件。18举例:举例:仓库仓库管理员管理员定货系统定货系统采购员采购员出入出入库单库单定货报表定货报表仓库仓库管理员管理员出入出入库单库单1事务处理事务处理2产生报表产生报表采购员采购员定货报表定货报表库存清单库存清单库存清单库存清单D1定货信息定货信息D2定货信息定货信息定货信息定货信息明细帐明细帐D0明细信息明细信息19仓库仓库管理员管理员出入出入库单库单1.1接收接收事务事务2产生产生报表报表采购员采购员定货报表定货报表库存清单库存清单库存清单库
17、存清单D1定货信息定货信息D2定货定货信息信息定货定货信息信息明细明细信息信息1.2更新更新库存库存1.3处理处理定货定货明细帐明细帐D0明细信息明细信息20四、数据字典(四、数据字典(Data Dictionary,DD) 数据流图数据流图表达了数据和处理的关系,表达了数据和处理的关系,数数据字典据字典则是系统中各类数据描述的集合,是则是系统中各类数据描述的集合,是进行详细的数据收集和分析之后所获得的主进行详细的数据收集和分析之后所获得的主要成果,数据字典在数据库设计中占有很重要成果,数据字典在数据库设计中占有很重要的作用。数据字典通常包括要的作用。数据字典通常包括数据项、数据数据项、数据结
18、构、数据流、数据存储和处理过程结构、数据流、数据存储和处理过程五个部五个部分分。211. 数据项数据项 数据项是不可再分的数据单位。数据项的数据项是不可再分的数据单位。数据项的描述为:描述为:数据项描述数据项描述= 数据项名,数据项含义说明,数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项含义,与其它数据项的逻辑关系,数据项之间的联系之间的联系 222. 数据结构数据结构 数据结构可以由数据项或其它数据结构数据结构可以由数据项或其它数据结构组成,用于反映数据之间的组合关系。组成,用于反映数据之间的组合关系。数
19、据结构的描述为:数据结构的描述为:数据结构描述数据结构描述= 数据结构名,含义说明,数据结构名,含义说明,组成组成:数据项或数据结构数据项或数据结构233. 数据流数据流是数据结构在系统内的传输路径,描述为:是数据结构在系统内的传输路径,描述为:数据流描述数据流描述= 数据流名,说明,数据流来数据流名,说明,数据流来源,数据流去向,组成:源,数据流去向,组成:数据结构数据结构,平,平均流量,高峰期流量均流量,高峰期流量数据流来源是说明该数据流来自哪个过程数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间(每天、
20、每周、每平均流量是指在单位时间(每天、每周、每月等)里的传输次数月等)里的传输次数高峰期流量则是指在高峰时期的数据流量高峰期流量则是指在高峰时期的数据流量244. 数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源是数据结构停留或保存的地方,也是数据流的来源和去向之一。可以是手工文档或手工凭单,也可和去向之一。可以是手工文档或手工凭单,也可以是计算机文档。以是计算机文档。数据存储描述数据存储描述= 数据存储名,说明,编号,输入数据存储名,说明,编号,输入的数据流,输出的数据流,组成:的数据流,输出的数据流,组成:数据结构数据结构,数据量,数据量,存取频度存取频度,存取方式存取方式 流
21、入的数据流:指出数据来源流入的数据流:指出数据来源流出的数据流:指出数据去向流出的数据流:指出数据去向数据量:每次存取多少数据,每天(或每小时、每数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息周等)存取几次等信息存取方法:批处理存取方法:批处理 / 联机处理;检索联机处理;检索 / 更新;顺序更新;顺序检索检索 / 随机检索随机检索25简要说明:说明该处理过程的功能及处理要简要说明:说明该处理过程的功能及处理要求,功能是指该处理过程用来干什么求,功能是指该处理过程用来干什么处理要求包括处理频度要求,如单位时间里处理要求包括处理频度要求,如单位时间里处理多少事务、多少数据量、响
22、应时间。处理多少事务、多少数据量、响应时间。5. 处理过程处理过程对处理过程进行简明扼要的描述,具体处理逻对处理过程进行简明扼要的描述,具体处理逻辑用判定树表示。辑用判定树表示。处理过程描述处理过程描述= 处理过程名,说明,输入:处理过程名,说明,输入: 数据流数据流,输出:,输出: 数据流数据流 ,处理:,处理: 简简要说明要说明 26举例:举例:数据项数据项名称名称 说明说明 类型类型 长度长度 取值取值 取值含义取值含义编号编号 唯一地标识某唯一地标识某 字符字符 4 0101 前两位为类别前两位为类别 零件的关键字零件的关键字 0899 后两位为序号后两位为序号名称名称 零件名称零件名
23、称 字符字符 20 数量数量 某种零件某种零件 数字数字 在在D0中中, 负数表示负数表示 的数量的数量 出库出库价格价格 目前价格目前价格 数字数字 6,2主商主商 主供货商主供货商 字符字符 20 次商次商 次供货商次供货商 字符字符 20操作员操作员 管理员管理员 字符字符 8审批领导审批领导 字符字符 8经手人经手人 字符字符 8 采购员,领取人采购员,领取人日期日期 日期日期 27数据存储数据存储名称名称 说明说明 入流入流 出流出流 组成组成 存取方式存取方式出入出入 外部外部 管理管理 接收接收 编号编号,名称名称,数量数量,经手人经手人, 留存留存 库单库单 员员 事务事务 审
24、批领导审批领导 D0 明细明细 更新更新 日期日期,编号编号,数量数量,操作员操作员 联机联机 帐帐 库存库存D1 库存库存 更新更新 定货定货 编号编号,名称名称,数量数量,价格价格,主商主商, 联机联机 清单清单 库存库存 处理处理 次商次商 D2 定货定货 定货定货 产生产生 上述项上述项+操作员操作员,经手人经手人, 联机联机 信息信息 处理处理 报表报表 日期日期定货定货 外部外部 产生产生 采购采购 同上同上 留存根留存根报表报表 报表报表 员员28处理过程处理过程 输入输入 输出输出 功能功能接收事务接收事务 出入库单出入库单 明细信息明细信息 显示界面接收数据生成明细显示界面接
25、收数据生成明细 信息信息更新库存更新库存 明细信息明细信息 D0,D1 根据明细信息登记明细帐并根据明细信息登记明细帐并 修改库存清单修改库存清单处理定货处理定货 D1 D2 当库存数量低于预设的阈值当库存数量低于预设的阈值 时生成定货信息,每天时生成定货信息,每天1次次产生报表产生报表 D2 定货报表定货报表 将定货信息以规定的报表格将定货信息以规定的报表格 式输出式输出2份份 ,每天,每天1次次 处理过程处理过程 29五、判定树五、判定树 以树型结构描述复杂处理过程中的详细处理细以树型结构描述复杂处理过程中的详细处理细节,给出条件与处理方法之间的对应关系。节,给出条件与处理方法之间的对应关
26、系。 如飞机行李费计算方法可描述如下:如飞机行李费计算方法可描述如下:行行李李费费算算法法行李重行李重量量W30 行李重量行李重量W30 国内乘客国内乘客外国乘客外国乘客头等仓头等仓其他仓其他仓头等仓头等仓其他仓其他仓残疾乘客残疾乘客 - (W-30)2正常乘客正常乘客 - (W-30)4免费免费残疾乘客残疾乘客 - (W-30)3正常乘客正常乘客 - (W-30)6残疾乘客残疾乘客 - (W-30)4正常乘客正常乘客 - (W-30)8残疾乘客残疾乘客 - (W-30)6正常乘客正常乘客 - (W-30)1230n什么是概念结构设计什么是概念结构设计?u需求分析阶段描述的用户应用需求是现实需
27、求分析阶段描述的用户应用需求是现实世界的具体需求世界的具体需求u将需求分析得到的用户需求抽象为信息结将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计构即概念模型的过程就是概念结构设计u概念结构是各种数据模型的共同基础,它概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而比数据模型更独立于机器、更抽象,从而更加稳定。更加稳定。u概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键3 概念结构设计概念结构设计31n能真实充分地反映客观世界,能真实充分地反映客观世界,包括事物和事物之间的包括事物和事物之间的联系,满足用户对数据的处理要求联系
28、,满足用户对数据的处理要求n易于理解易于理解 从而可以用它和不熟悉计算机的用户交换从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。意见,用户的积极参与是数据库的设计成功的关键。n易于更改易于更改 当应用环境和应用要求改变时,容易对概当应用环境和应用要求改变时,容易对概念模型修改和扩充。念模型修改和扩充。n易于向关系、网状、层次等各种数据模型转换易于向关系、网状、层次等各种数据模型转换 将需求分析得到的将需求分析得到的用户需求抽象用户需求抽象为信息结为信息结构(即概念模型)的过程就是概念结构设计。构(即概念模型)的过程就是概念结构设计。一、概念结构的主要特点:一
29、、概念结构的主要特点:描述概念结构模型的常用工具是描述概念结构模型的常用工具是ER图。图。32二、概念结构设计的方法与步骤二、概念结构设计的方法与步骤n自顶向下自顶向下 先定义各全局概念框架,然后逐步细化,先定义各全局概念框架,然后逐步细化, P210图图7.7a。n自底向上自底向上 先定义各局部应用的概念框架,然后将先定义各局部应用的概念框架,然后将它们集中起来,得到全局概念结构,它们集中起来,得到全局概念结构, P210图图7.7b。n逐步扩张逐步扩张 先定义最重要的核心概念结构,然后向先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其它概念结构,外扩充,以滚雪球的方式逐步
30、生成其它概念结构,直至总体概念结构,直至总体概念结构, P210图图7.7c。n混合策略混合策略 将自顶向下和自底向上相结合,用自顶将自顶向下和自底向上相结合,用自顶向下策略设计一个全局的概念结构框架,以它为骨向下策略设计一个全局的概念结构框架,以它为骨架集成由底向上策略中设计的各局部概念框架。架集成由底向上策略中设计的各局部概念框架。33需求需求需求需求1需求需求n需求需求1.1需求需求1.2需求需求n.1需求需求n.2.概念模式概念模式1.1概念模式概念模式1.2概念模式概念模式n.1概念模式概念模式n.2概念模式概念模式1.概念模式概念模式n全局概念模式全局概念模式需求分析需求分析(自顶
31、向下自顶向下)概念结构设计概念结构设计(自底向上自底向上)常用方法:自顶向下分析需求与自底向上设计概念结构常用方法:自顶向下分析需求与自底向上设计概念结构P211图图7.834需求分析需求分析DFDDD数据抽象、局数据抽象、局部视图的设计部视图的设计视图集成视图集成分分E-R图图总总E-R图图逻辑结构设计逻辑结构设计返回用户征求意返回用户征求意见直到满意为止见直到满意为止概念结构设计步骤概念结构设计步骤35三、数据抽象与局部视图设计三、数据抽象与局部视图设计n分类分类 定义具有某些共同特性和行为的一组对象的定义具有某些共同特性和行为的一组对象的类型(类型(即定义实体即定义实体)。)。n聚集聚集
32、 定义某一类型的组成成分(定义某一类型的组成成分(即描述实体的构即描述实体的构成成分成成分 - 型型)。)。n概括概括 定义类型之间的一种子集联系。定义类型之间的一种子集联系。如学生是一如学生是一个实体型,本科生、研究生也分别是一个实体型。个实体型,本科生、研究生也分别是一个实体型。本科生和研究生是学生的子集,学生是超类本科生和研究生是学生的子集,学生是超类(Superclass),本科生、研究生是子类,本科生、研究生是子类(Subclass) 抽象就是选取需要关注的人、物、事和概念的特抽象就是选取需要关注的人、物、事和概念的特性,用各种概念精确地加以描述。性,用各种概念精确地加以描述。 抽象
33、的方法抽象的方法36 概念结构设计就是利用抽象机制,将需求分概念结构设计就是利用抽象机制,将需求分析得到的数据进行分类、聚集、概括,确定系统析得到的数据进行分类、聚集、概括,确定系统有哪些实体,各实体由哪些属性组成,实体间是有哪些实体,各实体由哪些属性组成,实体间是否有子集关系,以及实体之间是否有子集关系,以及实体之间是1:1、1:n还是还是m:n联系,实体的码是什么,并用分联系,实体的码是什么,并用分E-R图表示图表示出来。出来。 通常的做法是:通常的做法是: 对每一个相对独立的子系统,根据其数据流对每一个相对独立的子系统,根据其数据流图和数据字典,设计出图和数据字典,设计出ER图。图。 关
34、于一个对象是作为关于一个对象是作为“属性属性”,还是作为,还是作为“实实体体”,参照,参照214页图页图7.15及相关说明。及相关说明。37四、视图的集成四、视图的集成n 多个分多个分E-R图一次集成图一次集成 复杂,难度大复杂,难度大n 逐步集成逐步集成 用累加的方法一次集成两个分用累加的方法一次集成两个分E-R图图 每次只集成两个分每次只集成两个分E-R图,可以降低复杂度图,可以降低复杂度 无论采用以上那种方式,每次集成局部无论采用以上那种方式,每次集成局部E-R图都图都要分两步走要分两步走u合并合并 解决各分解决各分E-R图的冲突,将各分图的冲突,将各分E-R图合并图合并起来生成初步的起
35、来生成初步的E-R图。图。 各子系统的分各子系统的分E-R图设计好之后,就要将图设计好之后,就要将各分各分E-R图综合成一个系统的总图综合成一个系统的总E-R图。视图图。视图集成的方式有两种:集成的方式有两种:38属性冲突属性冲突 属性类型、表示或计量单位冲突属性类型、表示或计量单位冲突命名冲突命名冲突 同名异义和异名同义同名异义和异名同义结构冲突结构冲突 同一对象在不同应用上有不同的抽同一对象在不同应用上有不同的抽象,同一实体在不同的分象,同一实体在不同的分E-R图中所包含的属图中所包含的属性个数和属性排列次序不完全相同。性个数和属性排列次序不完全相同。u修改和重构修改和重构 消除不必要的冗
36、余属性或联系,生消除不必要的冗余属性或联系,生成基本成基本E-R图。方法:图。方法:1. 分析方法:即以数据字典和数据流图为依据,分析方法:即以数据字典和数据流图为依据,根据数据字典中关于数据项之间的逻辑关系根据数据字典中关于数据项之间的逻辑关系的说明来消除冗余。的说明来消除冗余。P222图图7.28。2. 用规范化理论中函数依赖的概念来消除冗余用规范化理论中函数依赖的概念来消除冗余39 用规范化理论中函数依赖的来消除冗余的方用规范化理论中函数依赖的来消除冗余的方法如下:法如下:n确定分确定分E-R图实体之间的数据依赖图实体之间的数据依赖 实体之间的实体之间的1:1、1:n或或m:n联系可以用
37、联系可以用实体码之间的函数依赖来表示实体码之间的函数依赖来表示n求函数依赖集求函数依赖集Fl的最小覆盖的最小覆盖Gl,差集为,差集为 D= Fl - Gl 逐一检查逐一检查D中的函数依赖,确定是否是冗中的函数依赖,确定是否是冗余的联系,若是就去掉余的联系,若是就去掉.40注意的问题:注意的问题:n冗余的联系一定在冗余的联系一定在D中,但中,但D中的联系不一中的联系不一定是冗余的定是冗余的n当实体之间存在多种联系时,要将实体之间当实体之间存在多种联系时,要将实体之间的联系在形式上加以区分的联系在形式上加以区分414 逻辑结构设计逻辑结构设计逻辑结构分三步进行:逻辑结构分三步进行:u 将概念结构转
38、换成一般的关系、层次、网状模型将概念结构转换成一般的关系、层次、网状模型u 将转换来的关系、层次、网状模型向特定的将转换来的关系、层次、网状模型向特定的DBMS支持下的数据模型转换支持下的数据模型转换u 对数据模型进行优化对数据模型进行优化概念结构概念结构基本基本E-R图图一般数据模型一般数据模型关系、层次、关系、层次、网状网状特定的特定的DBMS支持下的数据支持下的数据模型模型优化的优化的数据模数据模型型转换规转换规则则DBMS的特的特点和限制点和限制优化方法优化方法42一、一、E-R图向关系模型的转换图向关系模型的转换 将将E-R图中的实体、属性和实体之间的联系转换图中的实体、属性和实体之
39、间的联系转换为关系模式,这种转换遵循如下规则:为关系模式,这种转换遵循如下规则:(1) 一个实体转换成一个关系模式。实体的属性就是一个实体转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。关系的属性,实体的码就是关系的码。(2) 对于实体间的联系则有以下几种情况:对于实体间的联系则有以下几种情况:1:1联系联系如:如:队长队长学员队学员队任职任职11上任时间上任时间43 可以转换为一个独立的关系模式。可以转换为一个独立的关系模式。 该关系的属性由两端实体的码和联系的属性该关系的属性由两端实体的码和联系的属性构成,任一端实体的码均可作为该关系的候选码,构成,任一端实体的码均可作
40、为该关系的候选码,并分别是外码。并分别是外码。 队长(队长(编号编号,姓名,性别),姓名,性别) 学员队(学员队(队号队号,队名,人数),队名,人数) 任职(任职(编号编号,队号队号,上任时间),上任时间)可以与任一端对应的关系模式合并。可以与任一端对应的关系模式合并。 在某一端关系模式中加入另一端实体的码及联系在某一端关系模式中加入另一端实体的码及联系本身的属性。另一端实体的码成为外码。本身的属性。另一端实体的码成为外码。 队长(队长(编号编号,姓名,性别,姓名,性别,队号,上任时间)队号,上任时间)或或 学员队(学员队(队号队号,队名,人数,队名,人数,编号,上任时间)编号,上任时间)44
41、1:n 联系联系 可以转换为一个独立的关系模式。可以转换为一个独立的关系模式。 该关系的属性由两端实体的码和联系的属性该关系的属性由两端实体的码和联系的属性构成,关系的码为构成,关系的码为 n 端实体的码,两端实体的端实体的码,两端实体的码分别是外码。码分别是外码。 工作(工作(职工号职工号,仓库号,调入时间),仓库号,调入时间) 可以与可以与n 端对应的关系模式合并。端对应的关系模式合并。 在在n 端关系模式中加入端关系模式中加入1端实体的码及联系端实体的码及联系本身的属性。本身的属性。1端实体的码成为外码。端实体的码成为外码。 职工(职工(职工号职工号,姓名,姓名,仓库号,调入时间)仓库号
42、,调入时间)如:如:仓库仓库职工职工工作工作1n调入时间调入时间45n:m 联系联系转换为一个独立的关系模式。转换为一个独立的关系模式。 该关系的属性由两端实体的码和联系该关系的属性由两端实体的码和联系的属性构成,两端实体的码共同组成关系的属性构成,两端实体的码共同组成关系的码,两端实体的码分别是外码。的码,两端实体的码分别是外码。 选修(选修(学号,课程号学号,课程号,成绩),成绩)如:如:课程课程学生学生选修选修nm成绩成绩46多元联系多元联系 转换为一个独立的关系模式。转换为一个独立的关系模式。 该关系的属性由各实体的码和联系的属性构该关系的属性由各实体的码和联系的属性构成,各实体的码共
43、同组成关系的码,各实体的码成,各实体的码共同组成关系的码,各实体的码分别是外码。分别是外码。 供应(供应(产品号,供应商号,零件号产品号,供应商号,零件号,供应量),供应量)如:如:产品产品零件零件供应供应nm供应商供应商供应量供应量p具有相同码的关系模式可以合并。具有相同码的关系模式可以合并。47二、数据模型的优化二、数据模型的优化n确定数据依赖。根据语义写出各关系模式中属性间确定数据依赖。根据语义写出各关系模式中属性间的数据依赖。的数据依赖。n对各关系模式的数据依赖集进行极小化处理,消除对各关系模式的数据依赖集进行极小化处理,消除冗余的联系。方法见冗余的联系。方法见P222下部。下部。n按
44、照数据依赖的理论对关系模式逐一进行分析,考按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖,多值函察是否存在部分函数依赖、传递函数依赖,多值函数依赖等,确定各关系模式属于第几范式。数依赖等,确定各关系模式属于第几范式。n按照需求分析阶段得到的处理要求,分析这些模式按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定对某些模式是对于这样的应用环境是否合适,确定对某些模式是否要进行合并或分解。否要进行合并或分解。48n对关系模式进行必要的分解,提高数据操作的效率对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。常用的分解方法是水
45、平分解和存储空间的利用率。常用的分解方法是水平分解和垂直分解。和垂直分解。三、设计用户子模式三、设计用户子模式n使用更符合用户习惯的别名使用更符合用户习惯的别名n可以对不同级别的用户定义不同的可以对不同级别的用户定义不同的View,以保证,以保证系统的安全性系统的安全性n简化用户对系统的操作简化用户对系统的操作 一般一般DBMS都提供了视图的概念,可利用这一功都提供了视图的概念,可利用这一功能为局部用户设计更合适的用户外模式,并考虑下列能为局部用户设计更合适的用户外模式,并考虑下列因素:因素:495 物理结构设计物理结构设计数据库的物理设计通常分为两步:数据库的物理设计通常分为两步:u 确定数
46、据库的物理结构确定数据库的物理结构存取方法和存储结构存取方法和存储结构u 对物理结构进行评价,重点是时间和空间效率对物理结构进行评价,重点是时间和空间效率一、数据库的物理设计的内容和方法一、数据库的物理设计的内容和方法 对于数据库的查询事务,需要得到如下信息:对于数据库的查询事务,需要得到如下信息: 查询的关系查询的关系 查询条件所涉及到的属性查询条件所涉及到的属性 连接条件所涉及到的属性连接条件所涉及到的属性 查询的投影属性查询的投影属性50对于数据更新事务,需要得到如下信息:对于数据更新事务,需要得到如下信息: 被更新的关系被更新的关系 每个关系上的更新操作条件所涉及到的属性每个关系上的更新操作条件所涉及到的属性 修改操作要改变的属性修改操作要改变的属性二、关系模式的存取方法选择二、关系模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖北潜江瀚达热电有限公司招聘10人笔试题库及完整答案详解一套
- 2026年共享电单车跨平台数据互通
- 2025-2026学年四川省眉山市洪雅县数学四下期中预测试题含答案
- 2025-2026学年四川省成都市金牛区三年级数学第二学期期中质量检测模拟试题含答案
- 护理自主招生测试题及答案分享
- 2026全球钢铁行业产能过剩问题解决路径与发展趋势规划方案
- 药学笔试重点题目及精准答案阐释
- 2025-2026学年咸宁市四年级数学下学期期末质量检测试题(含答案)
- GB-T 34590-2022 软件开发要求与验证方法解读
- 2026迁安高端装备制造产业集群培育与智能制造
- “筑梦航天”青少年航天知识大赛试题与答案
- 公安刑侦业务知识培训课件
- 雷电灾害专项应急预案
- rma销货退回管理办法
- CJ/T 158-2002城市污水处理厂管道和设备色标
- 2025年版!药食同源物质目录(106种)
- 《海洋遥感技术》课件
- (高清版)DB23∕T 3699-2024 养老机构失智症老人照护规范
- DL∕T 802.8-2023 电力电缆导管技术条件 第8部分:塑钢复合电缆导管
- 变压器局部放电的
- 高中新生入学登记表
评论
0/150
提交评论