您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > DBSCH07-数据库设计
1第七章数据库设计本章要求:1、掌握数据库设计的基本步骤2、掌握各阶段的任务、方法和常用的技术手段3、能够针对小型应用问题进行数据库设计和实现2本章内容:§1数据库设计概述§2需求分析§3概念结构设计§4逻辑结构设计§5数据库的物理设计§6数据库的实施和维护3§1数据库设计概述数据库设计是指对一个给定的应用环境,构造优化的数据库模式,建立数据库及其应用系统,使之能够有效地存取数据,满足用户的应用需求。数据库设计的目标是为用户提供一个针对具体应用的高效的数据管理和操作环境。一、数据库设计的特点大型数据库的设计和开发是涉及多学科的综合性技术,其主要特点体现在:◆“三分技术,七分管理,十二分基础数据”◆数据结构设计和处理行为设计相结合4二、数据库设计方法进行数据库设计需要多方面的技术和知识,包括:计算机基础知识软件工程的原理和方法程序设计方法和技巧数据库基本知识数据库设计技术应用领域的知识5二、数据库设计方法1、新奥尔良方法该方法将数据库设计分为需求分析、概念设计、逻辑设计和物理设计四个阶段,运用软件工程的方法,通过一定的辅助手段实现每一过程。2、E-R模型法用E-R模型来描述数据库的概念模型,是概念设计阶段常用的方法。63、3NF设计法用关系数据库理论设计数据库的逻辑模式,并使每个模式最低为3NF,是逻辑设计阶段常用的方法。4、ODL(ObjectDefinitionLanguage)法用面向对象的概念和术语来描述数据库的对象结构,以建设面向对象的数据库。随着技术的进步,传统的手工方式已不能满足数据库设计的需要,数据库设计工具已经实用化和产品化,如:ORACLE公司Designer2000Sybase公司的PowerDesigner三、数据库设计的基本步骤7需求收集和分析应用需求(数据、处理)设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计、性能检测物理实现试验性运行使用、维护数据库转换规则、DBMS功能、优化方法应用要求、DBMS详细特征需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行、维护不满意8设计阶段设计描述数据处理需求分析数据字典、全系统中数据项、数据流、数据存储的描述数据流图和判定表(判定树)、数据字典中处理过程的描述概念模型(E-R图)数据字典系统说明书包括:①新系统要求、方案和概图②反映新系统信息流的数据流图某种数据模型关系非关系系统结构图(模块结构)存储安排方法选择存取路径建立模块设计IPO表实施阶段编写模式装入数据数据库试运行程序编码、编译联结、测试运行、维护性能监测、转储/恢复数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护)IPO表……输入:输出:处理:Creat……Load……Main()……if……then……end分区1分区2……概念结构设计逻辑结构设计物理设计9§2需求分析了解将要开发的系统要管理什么样的数据(数据要求)、对这些数据要进行怎样的处理(处理要求)、系统的安全性和完整性方面有什么样的要求等。要彻底弄清这些情况往往是很困难的。因为用户可能不知道计算机能做什么,不能做什么,往往不能准确、全面地表达自己的需求,而设计员可能不了解领域专业知识,不能够准确领会用户的意图。因此必须经过充分交流、讨论才能达成共识。一、需求分析的任务10二、需求分析的方法调查组织机构情况了解该组织的部门组成情况,各部门的职责,为分析信息流程做准备调查各部门的业务活动情况(重点)了解各部门的输入和使用什么样的数据如何加工这些数据输出什么信息输出到什么部门信息输出结果的格式需求分析步骤:11协助用户明确对新系统的各种要求(重点)信息要求、处理要求、安全性与完整性要求确定新系统的边界确定那些由计算机来完成,那些由人工来完成。12需求分析调查方法:跟班作业参加业务工作来了解业务活动的情况,此种方法可以准确地了解用户的需求,但是比较耗费时间。开会调查召集用户开座谈会,了解业务活动情况,座谈时,参加者之间可以相互启发。请专人介绍请熟悉业务情况的专家或用户代表介绍业务情况。13询问对尚存有疑惑的问题,或用户没有提出但认为应该考虑的问题,可随时询问。设计调查表请用户填写如果调查表设计的合理,这种方法是很有效,也易于为用户接受。查阅记录通过查阅业务活动记录和各种数据报表,了解业务的活动内容和规律。做需求调查时,往往需要同时采用上述多种方法。但是无论采用何种方法,都需要用户的配合。14需求分析结果的表示了解用户需求后,通过分析和总结,将需求分析结果用数据流图和数据字典表示出来。15数据流图用于描述信息在系统中流动和处理的情况,它是逻辑系统的图形表示。设计人员将他对系统的认识和设想用数据流图描述出来,供人们审查、确认和参阅。设计数据流图时只需考虑系统要完成的基本逻辑功能,不必考虑如何具体地实现这些功能。三、数据流图(DataFlowDiagram,DFD)16由于数据流图不包含任何物理实现的细节,所以即使是非计算机人员也容易理解和评价。数据流图中的数据用数据字典描述,而处理一般用判定树来表示。数据流图中的处理可以是一个简单的处理程序,也可以是一个复杂的处理过程。17数据流图中的符号数据源点或终点数据加工或处理数据存储数据流T*ABC同时输入A、B后变成CT+ABC输入A或/和B后变成CT+ABC仅输入A、B之一后变成CT*将A变成B和CABCT+ABC将A变成B或/和CT+ABC将A变成B或C之一18举例:对某工厂仓库和采购部两个部门,要开发一个定货系统,了解到如下业务情况:仓库管理员将零件入库或出库称为事务,当发现库存数量小于临界值时,自动生成定货信息,包括零件编号、名称、数量、目前价格、主供货者、次供货者。根据定货信息生成定货报表交采购员采购零件。19举例:仓库管理员定货系统采购员出入库单定货报表仓库管理员出入库单1事务处理2产生报表采购员定货报表库存清单库存清单D1定货信息D2定货信息定货信息明细帐D0明细信息20仓库管理员出入库单1.1接收事务2产生报表采购员定货报表库存清单库存清单D1定货信息D2定货信息定货信息明细信息1.2更新库存1.3处理定货明细帐D0明细信息21四、数据字典(DataDictionary,DD)数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和分析之后所获得的主要成果,数据字典在数据库设计中占有很重要的作用。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。221.数据项数据项是不可再分的数据单位。数据项的描述为:数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项之间的联系}232.数据结构数据结构可以由数据项或其它数据结构组成,用于反映数据之间的组合关系。数据结构的描述为:数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}243.数据流是数据结构在系统内的传输路径,描述为:数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间(每天、每周、每月等)里的传输次数高峰期流量则是指在高峰时期的数据流量254.数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。可以是手工文档或手工凭单,也可以是计算机文档。数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成:{数据结构},数据量,存取频度,存取方式}流入的数据流:指出数据来源流出的数据流:指出数据去向数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息存取方法:批处理/联机处理;检索/更新;顺序检索/随机检索26简要说明:说明该处理过程的功能及处理要求,功能是指该处理过程用来干什么处理要求包括处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间。5.处理过程对处理过程进行简明扼要的描述,具体处理逻辑用判定树表示。处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}27举例:数据项名称说明类型长度取值取值含义编号唯一地标识某字符40101~前两位为类别零件的关键字0899后两位为序号名称零件名称字符20数量某种零件数字在D0中,负数表示的数量出库价格目前价格数字6,2主商主供货商字符20次商次供货商字符20操作员管理员字符8审批领导字符8经手人字符8采购员,领取人日期日期28数据存储名称说明入流出流组成存取方式出入外部管理接收编号,名称,数量,经手人,留存库单员事务审批领导D0明细更新日期,编号,数量,操作员联机帐库存D1库存更新定货编号,名称,数量,价格,主商,联机清单库存处理次商D2定货定货产生上述项+操作员,经手人,联机信息处理报表日期定货外部产生采购同上留存根报表报表员29处理过程输入输出功能接收事务出入库单明细信息显示界面接收数据生成明细信息更新库存明细信息D0,D1根据明细信息登记明细帐并修改库存清单处理定货D1D2当库存数量低于预设的阈值时生成定货信息,每天1次产生报表D2定货报表将定货信息以规定的报表格式输出2份,每天1次处理过程30五、判定树以树型结构描述复杂处理过程中的详细处理细节,给出条件与处理方法之间的对应关系。如飞机行李费计算方法可描述如下:行李费算法行李重量W30行李重量W≤30国内乘客外国乘客头等仓其他仓头等仓其他仓残疾乘客--(W-30)×2正常乘客--(W-30)×4免费残疾乘客--(W-30)×3正常乘客--(W-30)×6残疾乘客--(W-30)×4正常乘客--(W-30)×8残疾乘客--(W-30)×6正常乘客--(W-30)×1231什么是概念结构设计?需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键§3概念结构设计32能真实充分地反映客观世界,包括事物和事物之间的联系,满足用户对数据的处理要求易于理解从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。易于更改当应用环境和应用要求改变时,容易对概念模型修改和扩充。易于向关系、网状、层次等各种数据模型转换将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。一、概念结构的主要特点:描述概念结构模型的常用工具是E—R图。33二、概念结构设计的方法与步骤自顶向下先定义各全局概念框架,然后逐步细化,P210图7.7a。自底向上先定义各局部应用的概念框架,然后将它们集中起来,得到全局概念结构,P210图7.7b。逐步扩张先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其它概念结构,直至总体概念结构,P210图7.7c。混合策略将自顶向下和自底向上相结合,用自顶向下策略设计一个全局的概念结构框架,以它为骨架集成由底向上策略中设计的各局部概念框架。34需求需求1需求n需求1.1需求1.2需求n.1需求n.2......概念模式1.1概念模式1.2概念模式n.1概念模式n.2概念模式1......概念模式n全局概念模式需求分析(自顶向下)概念结构设计(自底向上)常用方法:自顶向下分析需求与自底向上设计概念结构P211图7.835需求分析DFDDD数据抽象、局部视图的设计视图集成分E-R图总E-R图逻辑结构设计返回用户征求意见直到满意为止概念结构设计步骤36三、数据抽象与局部视图设计分类定义具有某些共同特性和行为的一组对象的类型(即定义实体)。聚集定义某一类型的组成成分(即描述实体的构成成分--型)。概括定义类型之间的一种子集联系。如学生是一个实体型,本科生、研究生也分别是一个实体型。本科生和研究生是学生的子集,学
本文标题:DBSCH07-数据库设计
链接地址:https://www.777doc.com/doc-950255 .html