《[精选]数据库设计、实施和维护.pptx》由会员分享,可在线阅读,更多相关《[精选]数据库设计、实施和维护.pptx(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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、ODLObject Definition Language法法 用面向对象的概念和术语来描述数据库的对象结用面向对象的概念和术语来描述数据库的对象结构,以建设面向对象的数据库。构,以建设面向对象的数据
5、库。随着技术的进步,传统的手工方式已不能满足数随着技术的进步,传统的手工方式已不能满足数据库设计的需要,数据库设计工具已经实用化和产品据库设计的需要,数据库设计工具已经实用化和产品化,如:化,如:ORACLE公司公司Designer2000Sybase公司的公司的PowerDesigner三、数据库设计的基本步骤三、数据库设计的基本步骤6需求收集和分析需求收集和分析应用需求应用需求(数数据、处理据、处理)设计概念结构设计概念结构设计逻辑结构设计逻辑结构数据模型优化数据模型优化设计物理结构设计物理结构评价设计、性能检测评价设计、性能检测物理实现物理实现试验性运行试验性运行使用、维护数据库使用、维
6、护数据库转换规则、转换规则、DBMS功能、功能、优化方法优化方法应用要求、应用要求、DBMS详细详细特征特征需求分析阶段需求分析阶段概念设计阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段物理设计阶段数据库实施阶段数据库实施阶段数据库运行、维护数据库运行、维护不不满满意意7设设计计阶阶段段设设计计描描述述数数据据处处理理需需 求求分分析析数据字典、全系统中数据项、数据字典、全系统中数据项、数据流、数据存储的描述数据流、数据存储的描述数数据据流流图图和和判判定定表表(判判定定树树)、数数据据字字典中处理过程的描述典中处理过程的描述概念模型(概念模型(E-R图)图)数据字典数据字典系统说明书包
7、括:系统说明书包括:新系统要求、新系统要求、方案和概图方案和概图反映新系统信息反映新系统信息流的数据流图流的数据流图某种数据模型某种数据模型关系关系非关系非关系系统结构图系统结构图(模块结构)(模块结构)存储安排存储安排方法选择方法选择存取路径建立存取路径建立模块设计模块设计IPO表表实施实施阶段阶段编写模式编写模式装入数据装入数据数据库试运行数据库试运行程序编码、程序编码、编译联结、编译联结、测试测试运运行行、维护维护性能监测、转储性能监测、转储/恢复恢复数据库重组和重构数据库重组和重构新新旧旧系系统统转转换换、运运行行、维维护护(修修正性、适应性、改善性维护)正性、适应性、改善性维护)IP
8、O表输入:输出:处理:CreatLoadMainifthenend分区1分区2概念概念结构结构设计设计逻辑逻辑结构结构设计设计物理物理设计设计82需求分析需求分析了解将要开发的系统要管理什么样的数据了解将要开发的系统要管理什么样的数据数据要求、对这些数据要进行怎样的处理数据要求、对这些数据要进行怎样的处理处理要求、系统的安全性和完整性方面有处理要求、系统的安全性和完整性方面有什么样的要求等。什么样的要求等。要彻底弄清这些情况往往是很困难的。因要彻底弄清这些情况往往是很困难的。因为用户可能不知道计算机能做什么,不能做什为用户可能不知道计算机能做什么,不能做什么,往往不能准确、全面地表达自己的需求
9、,么,往往不能准确、全面地表达自己的需求,而设计员可能不了解领域专业知识,不能够准而设计员可能不了解领域专业知识,不能够准确领会用户的意图。因此必须经过充分交流、确领会用户的意图。因此必须经过充分交流、讨论才能达成共识。讨论才能达成共识。一、需求分析的任务一、需求分析的任务9二、需求分析的方法二、需求分析的方法n调查组织机构情况调查组织机构情况了解该组织的部门组成情况,各部门的职责,为分析了解该组织的部门组成情况,各部门的职责,为分析信息流程做准备信息流程做准备n调查各部门的业务活动情况重点调查各部门的业务活动情况重点u了解各部门的输入和使用什么样的数据了解各部门的输入和使用什么样的数据u如何
10、加工这些数据如何加工这些数据u输出什么信息输出什么信息u输出到什么部门输出到什么部门u信息输出结果的格式信息输出结果的格式需求分析步骤:需求分析步骤:10n协助用户明确对新系统的各种要求重点协助用户明确对新系统的各种要求重点u信息要求、处理要求、安全性与完整性要信息要求、处理要求、安全性与完整性要求求n确定新系统的边界确定新系统的边界u确定那些由计算机来完成,那些由人工来确定那些由计算机来完成,那些由人工来完成。完成。11需求分析调查方法:需求分析调查方法:n跟班作业跟班作业 参加业务工作来了解业务活动的参加业务工作来了解业务活动的情况,此种方法可以准确地了解用户的需求,情况,此种方法可以准确
11、地了解用户的需求,但是比较消耗时间。但是比较消耗时间。n开会调查开会调查 召集用户开座谈会,了解业务活召集用户开座谈会,了解业务活动情况,座谈时,参加者之间可以相互启发。动情况,座谈时,参加者之间可以相互启发。n请专人介绍请专人介绍 请熟悉业务情况的专家或用户请熟悉业务情况的专家或用户代表介绍业务情况。代表介绍业务情况。12n询问询问 对尚存有疑惑的问题,或用户没有提对尚存有疑惑的问题,或用户没有提出但认为应该考虑的问题,可随时询问。出但认为应该考虑的问题,可随时询问。n设计调查表请用户填写设计调查表请用户填写 如果调查表设计的如果调查表设计的合理,这种方法是很有效,也易于为用户接合理,这种方
12、法是很有效,也易于为用户接受。受。n查阅记录查阅记录 通过查阅业务活动记录和各种数通过查阅业务活动记录和各种数据报表,了解业务的活动内容和规律。据报表,了解业务的活动内容和规律。做需求调查时,往往需要同时采用上述做需求调查时,往往需要同时采用上述多种方法。但是无论采用何种方法,都需要用多种方法。但是无论采用何种方法,都需要用户的配合。户的配合。13需求分析结果的表示需求分析结果的表示了解用户需求后,通过分析和总结,将需了解用户需求后,通过分析和总结,将需求分析结果用数据流图和数据字典表示出来。求分析结果用数据流图和数据字典表示出来。14数据流图用于描述信息在系统中流动和处数据流图用于描述信息在
13、系统中流动和处理的情况,它是逻辑系统的图形表示。设计人理的情况,它是逻辑系统的图形表示。设计人员将他对系统的认识和设想用数据流图描述出员将他对系统的认识和设想用数据流图描述出来,供人们审查、确认和参阅。设计数据流图来,供人们审查、确认和参阅。设计数据流图时只需考虑系统要完成的基本逻辑功能,不必时只需考虑系统要完成的基本逻辑功能,不必考虑如何具体地实现这些功能。考虑如何具体地实现这些功能。三、数据流图三、数据流图DataFlowDiagram,DFD15由于数据流图不包含任何物理实现的细节,由于数据流图不包含任何物理实现的细节,所以即使是非计算机人员也容易理解和评价。所以即使是非计算机人员也容易
14、理解和评价。数据流图中的数据用数据字典描述,而处数据流图中的数据用数据字典描述,而处理一般用判定树来表示。数据流图中的处理可理一般用判定树来表示。数据流图中的处理可以是一个简单的处理程序,也可以是一个复杂以是一个简单的处理程序,也可以是一个复杂的处理过程。的处理过程。16数据流图中的符号数据流图中的符号数据源点或终点数据源点或终点数据加工或处理数据加工或处理数据存储数据存储数据流数据流T*ABC同时输入同时输入A、B后变成后变成CT+ABC输入输入A或或/和和B后变成后变成CT+ABC仅输入仅输入A、B之一后变成之一后变成CT*将将A变成变成B和和CABCT+ABC将将A变成变成B或或/和和C
15、T+ABC将将A变成变成B或或C之一之一17举例:举例:对某工厂仓库和采购部两个部门,要开发一个定对某工厂仓库和采购部两个部门,要开发一个定货系统,了解到如下业务情况:货系统,了解到如下业务情况:仓库管理员将零件入库或出库称为事务,当发现仓库管理员将零件入库或出库称为事务,当发现库存数量小于临界值时,自动生成定货信息,包括零库存数量小于临界值时,自动生成定货信息,包括零件编号、名称、数量、目前价格、主供货者、次供货件编号、名称、数量、目前价格、主供货者、次供货者。根据定货信息生成定货报表交采购员采购零件。者。根据定货信息生成定货报表交采购员采购零件。18举例:举例:仓库仓库管理员管理员定货系统
16、定货系统采购员采购员出入出入库单库单定货报表定货报表仓库仓库管理员管理员出入出入库单库单1事务处理事务处理2产生报表产生报表采购员采购员定货报表定货报表库存清单库存清单库存清单库存清单D1定货信息定货信息D2定货信息定货信息定货信息定货信息明细帐明细帐D0明细信息明细信息19仓库仓库管理员管理员出入出入库单库单1.1接收接收事务事务2产生产生报表报表采购员采购员定货报表定货报表库存清单库存清单库存清单库存清单D1定货信息定货信息D2定货定货信息信息定货定货信息信息明细明细信息信息1.2更新更新库存库存1.3处理处理定货定货明细帐明细帐D0明细信息明细信息20四、数据字典四、数据字典DataDi
17、ctionary,DD数据流图表达了数据和处理的关系,数数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是据字典则是系统中各类数据描述的集合,是进行详细的数据收集和分析之后所获得的主进行详细的数据收集和分析之后所获得的主要成果,数据字典在数据库设计中占有很重要成果,数据字典在数据库设计中占有很重要的作用。数据字典通常包括要的作用。数据字典通常包括数据项、数据数据项、数据结构、数据流、数据存储和处理过程结构、数据流、数据存储和处理过程五个局五个局部。部。211.数据项数据项 数据项是不可再分的数据单位。数据项的数据项是不可再分的数据单位。数据项的描述为:描述为:数据项描述数
18、据项描述=数据项名,数据项含义说明,数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项含义,与其它数据项的逻辑关系,数据项之间的联系之间的联系 222.数据结构数据结构 数据结构可以由数据项或其它数据结构数据结构可以由数据项或其它数据结构组成,用于反映数据之间的组合关系。组成,用于反映数据之间的组合关系。数据结构的描述为:数据结构的描述为:数据结构描述数据结构描述=数据结构名,含义说明,数据结构名,含义说明,组成组成:数据项或数据结构数据项或数据结构233.数据流数据流是数据结构在系统内的传输路径,描述为:是数
19、据结构在系统内的传输路径,描述为:数据流描述数据流描述=数据流名,说明,数据流来数据流名,说明,数据流来源,数据流去向,组成:源,数据流去向,组成:数据结构数据结构,平,平均流量,顶峰期流量均流量,顶峰期流量数据流来源是说明该数据流来自哪个过程数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间每天、每周、每平均流量是指在单位时间每天、每周、每月等里的传输次数月等里的传输次数顶峰期流量则是指在顶峰时期的数据流量顶峰期流量则是指在顶峰时期的数据流量244.数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源
20、是数据结构停留或保存的地方,也是数据流的来源和去向之一。可以是手工文档或手工凭单,也可和去向之一。可以是手工文档或手工凭单,也可以是计算机文档。以是计算机文档。数据存储描述数据存储描述=数据存储名,说明,编号,输入数据存储名,说明,编号,输入的数据流,输出的数据流,组成:的数据流,输出的数据流,组成:数据结构数据结构,数据量,数据量,存取频度存取频度,存取方式存取方式 流入的数据流:指出数据来源流入的数据流:指出数据来源流出的数据流:指出数据去向流出的数据流:指出数据去向数据量:每次存取多少数据,每天或每小时、每数据量:每次存取多少数据,每天或每小时、每周等存取几次等信息周等存取几次等信息存取
21、方法:批处理存取方法:批处理/联机处理;检索联机处理;检索/更新;顺序更新;顺序检索检索/随机检索随机检索25简要说明:说明该处理过程的功能及处理要简要说明:说明该处理过程的功能及处理要求,功能是指该处理过程用来干什么求,功能是指该处理过程用来干什么处理要求包括处理频度要求,如单位时间里处理要求包括处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间。处理多少事务、多少数据量、响应时间。5.处理过程处理过程对处理过程进行简明扼要的描述,具体处理逻对处理过程进行简明扼要的描述,具体处理逻辑用判定树表示。辑用判定树表示。处理过程描述处理过程描述=处理过程名,说明,输入:处理过程名,说明,输
22、入:数据流数据流,输出:,输出:数据流数据流,处理:,处理:简简要说明要说明 26举例:数据项举例:数据项名称名称说明说明类型类型长度长度取值取值取值含义取值含义编号编号唯一地标识某唯一地标识某字符字符40101前两位为类别前两位为类别零件的关键字零件的关键字0899后两位为序号后两位为序号名称名称零件名称零件名称字符字符20数量数量某种零件某种零件数字数字在在D0中中,负数表示负数表示的数量的数量出库出库价格价格目前价格目前价格数字数字6,2主商主商主供货商主供货商字符字符20次商次商次供货商次供货商字符字符20操作员操作员管理员管理员字符字符8审批领导审批领导字符字符8经手人经手人字符字符
23、8采购员,领取人采购员,领取人日期日期日期日期27数据存储数据存储名称名称说明说明入流入流出流出流组成组成存取方式存取方式出入出入外部外部管理管理接收接收编号编号,名称名称,数量数量,经手人经手人,留存留存库单库单员员事务事务审批领导审批领导D0明细明细更新更新日期日期,编号编号,数量数量,操作员操作员联机联机帐帐库存库存D1库存库存更新更新定货定货编号编号,名称名称,数量数量,价格价格,主商主商,联机联机清单清单库存库存处理处理次商次商D2定货定货定货定货产生产生上述项上述项+操作员操作员,经手人经手人,联机联机信息信息处理处理报表报表日期日期定货定货外部外部产生产生采购采购同上同上留存根留
24、存根报表报表报表报表员员28处理过程处理过程输入输入输出输出功能功能接收事务接收事务出入库单出入库单明细信息明细信息显示界面接收数据生成明细显示界面接收数据生成明细信息信息更新库存更新库存明细信息明细信息D0,D1根据明细信息登记明细帐并根据明细信息登记明细帐并修改库存清单修改库存清单处理定货处理定货D1D2当库存数量低于预设的阈值当库存数量低于预设的阈值时生成定货信息,每天时生成定货信息,每天1次次产生报表产生报表D2定货报表定货报表将定货信息以规定的报表格将定货信息以规定的报表格式输出式输出2份份,每天,每天1次次处理过程处理过程29五、判定树五、判定树以树型结构描述复杂处理过程中的详细处
25、理细节,以树型结构描述复杂处理过程中的详细处理细节,给出条件与处理方法之间的对应关系。给出条件与处理方法之间的对应关系。如飞机行李费计算方法可描述如下:如飞机行李费计算方法可描述如下:行行李李费费算算法法行李重行李重量量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
26、什么是概念结构设计什么是概念结构设计?u需求分析阶段描述的用户应用需求是现实需求分析阶段描述的用户应用需求是现实世界的具体需求世界的具体需求u将需求分析得到的用户需求抽象为信息结将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计构即概念模型的过程就是概念结构设计u概念结构是各种数据模型的共同基础,它概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而比数据模型更独立于机器、更抽象,从而更加稳定。更加稳定。u概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键3概念结构设计概念结构设计31n能真实充分地反映客观世界,包括事物和事物之间的能真
27、实充分地反映客观世界,包括事物和事物之间的联系,满足用户对数据的处理要求联系,满足用户对数据的处理要求n易于理解易于理解 从而可以用它和不熟悉计算机的用户交换从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。意见,用户的积极参与是数据库的设计成功的关键。n易于更改易于更改 当应用环境和应用要求改变时,容易对概当应用环境和应用要求改变时,容易对概念模型修改和扩充。念模型修改和扩充。n易于向关系、网状、层次等各种数据模型转换易于向关系、网状、层次等各种数据模型转换将需求分析得到的将需求分析得到的用户需求抽象用户需求抽象为信息结为信息结构即概念模型的过程就是概念结构设
28、计。构即概念模型的过程就是概念结构设计。一、概念结构的主要特点:一、概念结构的主要特点:描述概念结构模型的常用工具是描述概念结构模型的常用工具是ER图。图。32二、概念结构设计的方法与步骤二、概念结构设计的方法与步骤n自顶向下自顶向下 先定义各全局概念框架,然后逐步细化,先定义各全局概念框架,然后逐步细化,P210图图7.7a。n自底向上自底向上 先定义各局部应用的概念框架,然后将先定义各局部应用的概念框架,然后将它们集中起来,得到全局概念结构,它们集中起来,得到全局概念结构,P210图图7.7b。n逐步扩张逐步扩张 先定义最重要的核心概念结构,然后向先定义最重要的核心概念结构,然后向外扩充,
29、以滚雪球的方式逐步生成其它概念结构,外扩充,以滚雪球的方式逐步生成其它概念结构,直至总体概念结构,直至总体概念结构,P210图图7.7c。n混合策略混合策略 将自顶向下和自底向上相结合,用自顶将自顶向下和自底向上相结合,用自顶向下策略设计一个全局的概念结构框架,以它为骨向下策略设计一个全局的概念结构框架,以它为骨架集成由底向上策略中设计的各局部概念框架。架集成由底向上策略中设计的各局部概念框架。33需求需求需求需求1需求需求n需求需求1.1需求需求1.2需求需求n.1需求需求n.2.概念模式概念模式1.1概念模式概念模式1.2概念模式概念模式n.1概念模式概念模式n.2概念模式概念模式1.概念
30、模式概念模式n全局概念模式全局概念模式需求分析需求分析自顶向自顶向下下概念结构设计概念结构设计自底向上自底向上常用方法:自顶向下分析需求与自底向上设计概念结构常用方法:自顶向下分析需求与自底向上设计概念结构P211图图7.834需求分析需求分析DFDDD数据抽象、局数据抽象、局部视图的设计部视图的设计视图集成视图集成分分E-R图图总总E-R图图逻辑结构设计逻辑结构设计返回用户征求意返回用户征求意见直到满意为止见直到满意为止概念结构设计步骤概念结构设计步骤35三、数据抽象与局部视图设计三、数据抽象与局部视图设计n分类分类 定义具有某些共同特性和行为的一组对象的定义具有某些共同特性和行为的一组对象
31、的类型即定义实体。类型即定义实体。n聚集聚集 定义某一类型的组成成分即描述实体的构定义某一类型的组成成分即描述实体的构成成分成成分-型。型。n概括概括 定义类型之间的一种子集联系。定义类型之间的一种子集联系。如学生是一如学生是一个实体型,本科生、研究生也分别是一个实体型。个实体型,本科生、研究生也分别是一个实体型。本科生和研究生是学生的子集,学生是超类本科生和研究生是学生的子集,学生是超类Superclass,本科生、研究生是子类,本科生、研究生是子类Subclass抽象就是选取需要关注的人、物、事和概念的特抽象就是选取需要关注的人、物、事和概念的特性,用各种概念精确地加以描述。性,用各种概念
32、精确地加以描述。抽象的方法抽象的方法36概念结构设计就是利用抽象机制,将需求分概念结构设计就是利用抽象机制,将需求分析得到的数据进行分类、聚集、概括,确定系统析得到的数据进行分类、聚集、概括,确定系统有哪些实体,各实体由哪些属性组成,实体间是有哪些实体,各实体由哪些属性组成,实体间是否有子集关系,以及实体之间是否有子集关系,以及实体之间是1:1、1:n还是还是m:n联系,实体的码是什么,并用分联系,实体的码是什么,并用分E-R图表示图表示出来。出来。通常的做法是:通常的做法是:对每一个相对独立的子系统,根据其数据流对每一个相对独立的子系统,根据其数据流图和数据字典,设计出图和数据字典,设计出E
33、R图。图。关于一个对象是作为关于一个对象是作为“属性,还是作为属性,还是作为“实实体,参照体,参照214页图页图7.15及相关说明。及相关说明。37四、视图的集成四、视图的集成n 多个分多个分E-R图一次集成图一次集成 复杂,难度大复杂,难度大n 逐步集成逐步集成 用累加的方法一次集成两个分用累加的方法一次集成两个分E-R图图 每次只集成两个分每次只集成两个分E-R图,可以降低复杂度图,可以降低复杂度 无论采用以上那种方式,每次集成局部无论采用以上那种方式,每次集成局部E-R图都图都要分两步走要分两步走u合并合并 解决各分解决各分E-R图的冲突,将各分图的冲突,将各分E-R图合图合并起来生成初
34、步的并起来生成初步的E-R图。图。各子系统的分各子系统的分E-R图设计好之后,就要将图设计好之后,就要将各分各分E-R图综合成一个系统的总图综合成一个系统的总E-R图。视图图。视图集成的方式有两种:集成的方式有两种:38属性冲突属性冲突 属性类型、表示或计量单位冲突属性类型、表示或计量单位冲突命名冲突命名冲突 同名异义和异名同义同名异义和异名同义结构冲突结构冲突 同一对象在不同应用上有不同的抽同一对象在不同应用上有不同的抽象,同一实体在不同的分象,同一实体在不同的分E-R图中所包含的属图中所包含的属性个数和属性排列次序不完全相同。性个数和属性排列次序不完全相同。u修改和重构修改和重构 消除不必
35、要的冗余属性或联系,生消除不必要的冗余属性或联系,生成基本成基本E-R图。方法:图。方法:1.分析方法:即以数据字典和数据流图为依据,分析方法:即以数据字典和数据流图为依据,根据数据字典中关于数据项之间的逻辑关系根据数据字典中关于数据项之间的逻辑关系的说明来消除冗余。的说明来消除冗余。P222图图7.28。2.用标准化理论中函数依赖的概念来消除冗余用标准化理论中函数依赖的概念来消除冗余394逻辑结构设计逻辑结构设计逻辑结构分三步进行:逻辑结构分三步进行:u将概念结构转换成一般的关系、层次、网状模型将概念结构转换成一般的关系、层次、网状模型u将转换来的关系、层次、网状模型向特定的将转换来的关系、
36、层次、网状模型向特定的DBMS支持下的数据模型转换支持下的数据模型转换u对数据模型进行优化对数据模型进行优化概念结构概念结构基本基本E-R图图一般数据模型一般数据模型关系、层次、关系、层次、网状网状特定的特定的DBMS支持下的数据支持下的数据模型模型优化的优化的数据模数据模型型转换规转换规则则DBMS的特的特点和限制点和限制优化方法优化方法42一、一、E-R图向关系模型的转换图向关系模型的转换将将E-R图中的实体、属性和实体之间的联系转换为图中的实体、属性和实体之间的联系转换为关系模式,这种转换遵循如下规则:关系模式,这种转换遵循如下规则:1 一个实体转换成一个关系模式。实体的属性就一个实体转
37、换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。是关系的属性,实体的码就是关系的码。2对于实体间的联系则有以下几种情况:对于实体间的联系则有以下几种情况:1:1联系联系如:如:队长队长学员队学员队任职任职11上任时间上任时间43可以转换为一个独立的关系模式。可以转换为一个独立的关系模式。该关系的属性由两端实体的码和联系的属性构该关系的属性由两端实体的码和联系的属性构成,任一端实体的码均可作为该关系的候选码,并成,任一端实体的码均可作为该关系的候选码,并分别是外码。分别是外码。队长队长编号编号,姓名,性别,姓名,性别 学员队学员队队号队号,队名,人数,队名,人数 任职任职编号编
38、号,队号队号,上任时间,上任时间可以与任一端对应的关系模式合并。可以与任一端对应的关系模式合并。在某一端关系模式中参加另一端实体的码及联系在某一端关系模式中参加另一端实体的码及联系本身的属性。另一端实体的码成为外码。本身的属性。另一端实体的码成为外码。队长队长编号编号,姓名,性别,队号,上任时间,姓名,性别,队号,上任时间或或 学员队学员队队号队号,队名,人数,编号,上任时间,队名,人数,编号,上任时间441:n 联系联系可以转换为一个独立的关系模式。可以转换为一个独立的关系模式。该关系的属性由两端实体的码和联系的属性该关系的属性由两端实体的码和联系的属性构成,关系的码为构成,关系的码为 n
39、端实体的码,两端实体的端实体的码,两端实体的码分别是外码。码分别是外码。工作工作职工号职工号,仓库号,调入时间,仓库号,调入时间可以与可以与n 端对应的关系模式合并。端对应的关系模式合并。在在n 端关系模式中参加端关系模式中参加1端实体的码及联系端实体的码及联系本身的属性。本身的属性。1端实体的码成为外码。端实体的码成为外码。职工职工职工号职工号,姓名,仓库号,调入时间,姓名,仓库号,调入时间如:如:仓库仓库职工职工工作工作1n调入时间调入时间45n:m 联系联系转换为一个独立的关系模式。转换为一个独立的关系模式。该关系的属性由两端实体的码和联系该关系的属性由两端实体的码和联系的属性构成,两端
40、实体的码共同组成关系的属性构成,两端实体的码共同组成关系的码,两端实体的码分别是外码。的码,两端实体的码分别是外码。选修选修学号,课程号学号,课程号,成绩,成绩如:如:课程课程学生学生选修选修nm成绩成绩46多元联系多元联系转换为一个独立的关系模式。转换为一个独立的关系模式。该关系的属性由各实体的码和联系的属性构该关系的属性由各实体的码和联系的属性构成,各实体的码共同组成关系的码,各实体的码成,各实体的码共同组成关系的码,各实体的码分别是外码。分别是外码。供给供给产品号,供给商号,零件号产品号,供给商号,零件号,供给量,供给量如:如:产品产品零件零件供应供应nm供应商供应商供应量供应量p具有相
41、同码的关系模式可以合并。具有相同码的关系模式可以合并。47二、数据模型的优化二、数据模型的优化n确定数据依赖。根据语义写出各关系模式中属性间确定数据依赖。根据语义写出各关系模式中属性间的数据依赖。的数据依赖。n对各关系模式的数据依赖集进行极小化处理,消除对各关系模式的数据依赖集进行极小化处理,消除冗余的联系。方法见冗余的联系。方法见P222下部。下部。n按照数据依赖的理论对关系模式逐一进行分析,考按照数据依赖的理论对关系模式逐一进行分析,考察是否存在局部函数依赖、传递函数依赖,多值函察是否存在局部函数依赖、传递函数依赖,多值函数依赖等,确定各关系模式属于第几范式。数依赖等,确定各关系模式属于第
42、几范式。n按照需求分析阶段得到的处理要求,分析这些模式按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否适宜,确定对某些模式是对于这样的应用环境是否适宜,确定对某些模式是否要进行合并或分解。否要进行合并或分解。48n对关系模式进行必要的分解,提高数据操作的效率对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。常用的分解方法是水平分解和存储空间的利用率。常用的分解方法是水平分解和垂直分解。和垂直分解。三、设计用户子模式三、设计用户子模式n使用更符合用户习惯的别名使用更符合用户习惯的别名n可以对不同级别的用户定义不同的可以对不同级别的用户定义不同的View,以保证,以
43、保证系统的安全性系统的安全性n简化用户对系统的操作简化用户对系统的操作一般一般DBMS都提供了视图的概念,可利用这一功都提供了视图的概念,可利用这一功能为局部用户设计更适宜的用户外模式,并考虑以下能为局部用户设计更适宜的用户外模式,并考虑以下因素:因素:495物理结构设计物理结构设计数据库的物理设计通常分为两步:数据库的物理设计通常分为两步:u确定数据库的物理结构确定数据库的物理结构存取方法和存储结构存取方法和存储结构u对物理结构进行评价,重点是时间和空间效率对物理结构进行评价,重点是时间和空间效率一、数据库的物理设计的内容和方法一、数据库的物理设计的内容和方法对于数据库的查询事务,需要得到如
44、下信息:对于数据库的查询事务,需要得到如下信息:查询的关系查询的关系查询条件所涉及到的属性查询条件所涉及到的属性连接条件所涉及到的属性连接条件所涉及到的属性查询的投影属性查询的投影属性50对于数据更新事务,需要得到如下信息:对于数据更新事务,需要得到如下信息:被更新的关系被更新的关系每个关系上的更新操作条件所涉及到的属性每个关系上的更新操作条件所涉及到的属性修改操作要改变的属性修改操作要改变的属性二、关系模式的存取方法选择二、关系模式的存取方法选择存取方法用于快速存取数据库中的数据。常存取方法用于快速存取数据库中的数据。常用的存取方法有:用的存取方法有:u索引存取方法索引存取方法常用常用B+树
45、方法树方法对于经常要查询的属性组、经常用于最对于经常要查询的属性组、经常用于最大值或最小值统计的属性以及经常用于连接条件大值或最小值统计的属性以及经常用于连接条件的属性组应建立索引。的属性组应建立索引。51u聚簇聚簇Cluster存取方法存取方法一个表关系只能建立一个聚簇索引。聚簇索一个表关系只能建立一个聚簇索引。聚簇索引是将某个属性组上值相同的记录存放在连续引是将某个属性组上值相同的记录存放在连续的物理磁盘块中,以减少按这个属性组存取记的物理磁盘块中,以减少按这个属性组存取记录时的录时的I/O次数和磁头定位次数。次数和磁头定位次数。当很少对一个表增删记录和修改某个属性组当很少对一个表增删记录
46、和修改某个属性组的值时,假设有以下需求,可考虑在这个属性组的值时,假设有以下需求,可考虑在这个属性组上建立聚簇索引。上建立聚簇索引。经常在这个属性组上查询或连接经常在这个属性组上查询或连接这个属性组的值大量重复这个属性组的值大量重复经常按这个属性组分组或排序结果经常按这个属性组分组或排序结果52uHASH存取方法存取方法如果满足以下诸条件,可以考虑选择如果满足以下诸条件,可以考虑选择HASH存存取方法。取方法。表的记录数和记录长度基本不变表的记录数和记录长度基本不变属性组只进行相等比较或等值连接属性组只进行相等比较或等值连接三、确定数据库的存储结构三、确定数据库的存储结构n确定数据的存放位置确
47、定数据的存放位置 如将数据的易变局部与稳定局部、频繁存取如将数据的易变局部与稳定局部、频繁存取与不频繁存取局部分开存放;将索引与数据、日与不频繁存取局部分开存放;将索引与数据、日志与数据、大数据库的数据分开存放到不同的磁志与数据、大数据库的数据分开存放到不同的磁盘上均可有效地改善系统的性能。盘上均可有效地改善系统的性能。53n确定系统的配置确定系统的配置 如限制同时使用数据库的用户数、每个用户可如限制同时使用数据库的用户数、每个用户可用的内存大小、封锁粒度、用的内存大小、封锁粒度、CPU时间片大小等。时间片大小等。四、评价物理结构四、评价物理结构 评价物理数据库的方法完全依赖于所选用的评价物理
48、数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。比较,选择出一个较优的合理的物理结构。546数据库的实施和维护数据库的实施和维护n数据的载入和应用程序的调试数据的载入和应用程序的调试 组织初始数据标准、规则、参数等并输入数组织初始数据标准、规则、参数等并输入数据库中有时工作量很大。据库中有时工作量很大。编写程序代码并进行调试。编写程序代码并进行调试。n数据库的试运行数据库的试运行 又称系统联调,测试系统的
49、各项功能是否正常。又称系统联调,测试系统的各项功能是否正常。n数据库的运行和维护数据库的运行和维护u数据库的转储和恢复数据库的转储和恢复u数据库的安全性、完整性控制数据库的安全性、完整性控制u数据库性能的监督、分析和改造数据库性能的监督、分析和改造u数据库的重组织与重构造数据库的重组织与重构造55作业作业:P234 2,6,7,12,13,18,19 569、静夜四无邻,荒居旧业贫。4月-234月-23Tuesday,April 18,202310、雨中黄叶树,灯下白头人。08:23:3108:23:3108:234/18/2023 8:23:31 AM11、以我独沈久,愧君相见频。4月-23
50、08:23:3108:23Apr-2318-Apr-2312、故人江海别,几度隔山川。08:23:3108:23:3108:23Tuesday,April 18,202313、乍见翻疑梦,相悲各问年。4月-234月-2308:23:3108:23:31April 18,202314、他乡生白发,旧国见青山。18 四月 20238:23:31 上午08:23:314月-2315、比不了得就不比,得不到的就不要。四月 238:23 上午4月-2308:23April 18,202316、行动出成果,工作出财富。2023/4/18 8:23:3108:23:3118 April 202317、做前,