您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 第3章 数据库系统设计的步骤和方法
1第3章数据库系统设计的步骤和方法3.1数据库系统设计概述3.1.1数据库系统设计的内容3.1.2数据库系统设计应注意的问题3.1.3数据库系统设计方法3.1.4数据库设计的基本步骤3.2系统需求分析3.2.1需求分析的任务和方法3.2.2数据字典及其表示3.3数据库概念结构设计3.4数据库逻辑结构的设计3.5数据库的物理设计3.6数据库的实施和试运行3.7数据库的运行和维护23.1数据库系统设计概述3.1.1数据库系统设计的内容目标:对于给定的应用环境,建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库系统模式。按照该数据库系统模式建立的数据库系统,应当能够完整地反映现实世界中信息及信息之间的联系;能够有效地进行数据存储;能够方便地执行各种数据检索和处理操作;并且有利于进行数据维护和数据控制管理的工作。数据库系统的设计包括数据库设计和数据库应用系统设计两方面。数据库设计是主要是设计数据库结构特性,为特定应用环境构造出最优的数据模型和物理模式;数据库应用系统设计是设计数据库的行为结构特性,建立能满足各种用户对数据库应用需求的功能模型。3内容:数据库的结构特性设计(数据库的逻辑模式设计和物理模式设计),数据库的行为特性设计。将数据库的结构特性设计和行为特性设计结合起来,相互参照,同步进行,才能较好地达到设计目标。1.数据库的逻辑模式设计先将现实世界中的事物、事物间的联系用E-R图表示,再将各个分E-R图汇总,得出数据库的概念结构模型,最后将概念结构模型转化为数据库的逻辑结构模型表示。2.数据库的行为特性设计首先要将现实世界中的数据及应用情况用数据流程图和数据字典表示,并详细描述其中的数据操作要求(即操作对象、方法、频度和实时性要求),进而得出系统的功能模块结构和数据库的子模式。3.数据库的物理模式设计根据库结构的动态特性(即数据库应用处理要求),在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。4加载试验数据程序说明调试和运行企业数据分析用户业务活动分析概念模型设计逻辑模式设计物理模式设计用户子模式设计功能模型事务设计应用程序设计性能考核满意投入运行维护加载数据库不是51.考虑到计算机硬件、软件和干件的实际情况(1)数据库系统的硬件条件根据其数据存储设备、网络和通信设备、计算机性能等硬件条件设计数据库的规模、数据存储方式、分布结构以及数据通讯方式。(2)DBMS和主语言系统的特点在数据库设计前,应当选择合适的DBMS和主语言系统,使之适合数据库系统的要求。(3)数据库用户的技术水平和管理水平应当让DBA充分参与设计数据库的工作,使之对数据库设计过程的每个细节都了解的比较清楚。2.使结构特性设计和行为特性设计紧密结合数据库设计过程是一种自上而下的、逐步逼近设计目标的过程,是结构设计和行为设计分离设计、相互参照、反复探寻的过程。3.1.2数据库系统设计应注意的问题63.1.3数据库系统设计方法早期的数据库系统的设计采用手工试凑法,这种方法直接与设计人员的经验和水平相关,缺乏科学理论和工程方法的支持,工程的质量难以保证,现在一般采用工程的原理和方法来进行数据库系统设计,一般将设计分6个阶段进行,这6个阶段是需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。7需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行、维护阶段不满意需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计,性能预测物理实现试验性运行使用、维护数据库不满意应用需求(数据、处理)转换规则、DBMS要求和优化方法应用要求,DBMS详细特征和限制81.需求分析阶段:准确了解并分析用户对系统的需要和要求,弄清系统要达到的目标和实现的功能,是整个设计过程的基础,是最困难、最耗费时间的一步。2.概念结构设计阶段:对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和DBMS的概念模型,是整个数据库设计的关键。3.逻辑结构设计阶段:将概念结构转换为DBMS所支持的数据模型,并将其性能进行优化。4.数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构和存取方法。5.数据库实施阶段:运用DBMS提供的数据操作语言和宿主语言,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行系统试运行。6.数据库运行和维护阶段:不断地对其结构性能进行评价、调整和修改。3.1.4数据库设计的基本步骤9IPO表……输入:输出:处理:Creat……Load……Main()……if……then……end分区1分区2……概念结构设计逻辑结构设计物理设计设计阶段设计描述数据处理需求分析数据字典、全系统中数据项、数据流、数据存储的描述数据流图和判定表(判定树)、数据字典中处理过程的描述概念模型(E-R图)数据字典系统说明书包括:①新系统要求、方案和概图②反映新系统信息流的数据流图某种数据模型关系非关系系统结构图(模块结构)存储安排方法选择存取路径建立模块设计IPO表实施阶段编写模式装入数据数据库试运行程序编码、编译联结、测试运行、维护性能监测、转储/恢复数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护)设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。10分析用户的要求,将分析结果用数据流图和数据字典表示3.2.1需求分析的任务和方法任务:调查现实世界要处理的对象;了解原系统的概况和发展前景;明确用户的各种需求;收集基础数据及其处理方法;确定新系统的功能和边界。1.系统需求调查的内容(1)数据库中的信息内容数据库中需存储哪些数据,包括用户将从数据库中直接获得或间接导出的信息内容和性质。(2)数据处理内容用户要完成什么数据处理功能;用户对数据处理响应时间的要求;数据处理的工作方式。(3)数据安全性和完整性要求数据的保密措施和存取控制要求;数据自身的或数据间的约束限制。3.2系统需求分析112.系统需求的调查步骤(1)了解现实世界的组织机构情况弄清所设计的数据库系统与哪些部门相关,这些部门以及下属各个单位的联系和职责是什么。(2)了解相关部门的业务活动情况各部门需要输入和使用什么数据;在部门中是如何加工处理这些数据的;各部门需要输出什么信息;输出到什么部门;输出数据的格式是什么。(3)确定新系统的边界哪些功能现在就由计算机完成;哪些功能将来准备让计算机完成;哪些功能或活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。123.系统需求调查的方法(1)跟班作业数据库设计人员亲身参加业务工作。(2)开调查会通过与用户座谈的方式来了解业务活动情况及用户需求。(3)请专人介绍请业务熟练的专家或用户介绍业务专业知识和业务活动情况,设计人员从中了解并询问相关问题。(4)询问对某些调查中的问题,可以找专人询问。(5)设计调查表请用户填写数据库设计人员可以提前设计一个合理的、详细的业务活动及数据要求调查表,并将此表发给相关的用户。(6)查阅现实世界的数据记录查阅与原系统有关的数据记录,包括帐本、档案或文献等。134.系统需求分析方法分析和表达用户的需求的常用方法:自顶向下的结构化分析方法(StructuredAnalysis,简称SA方法)。SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。如:假设我们要开发一个学校管理系统。1.经过可行性分析和初步需求调查,抽象出该系统最高层数据流图,该系统由教师管理子系统、学生管理子系统、后勤管理子系统组成,每个子系统分别配备一个开发小组。2.进一步细化各个子系统。其中学生管理子系统开发小组通过进行进一步的需求调查,明确了该子系统的主要功能是进行学籍管理和课程管理,包括学生报到、入学、毕业的管理,学生上课情况的管理。通过详细的信息流程分析和数据收集后,他们生成了该子系统的数据流图。14(1)数据流图(1)DFD的基本成分(a)外部实体(externalagent)(b)加工(process)(c)数据存储(datastore)(d)数据流(dataflow)图4.2DFD的基本成分或或或15D1在校学生D3学生学籍表学生科删除记录aP1P2退学通知学生学生退学处理毕业处理c派遣证c学生科各系D2成绩记录D4学分记录ab一个数据流图的实例16院系教材购销系统书库保管员领书单进书通知购书单缺书单1销售2采购书库保管员院系领书单进书通知购书单缺书单F1教材存量表F2缺书登记表17数据字典是各类数据描述的集合,数据字典是进行详细的数据收集和数据分析所获得的主要结果,数据字典在数据库设计中占有很重要的地位,主要包括下面5个部分:1.数据项:数据项是不可再分的数据单位。2.数据结构:数据结构反映了数据之间的组合关系。3.数据流:据流是数据结构在系统内传输的路径。4.数据存储:数据存储是数据及其结构停留或保存的地方,也是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。5.处理过程:一般用判定表或判定树来描述,在数据字典中只描述说明性信息。(2)数据字典及其表示181、数据项:数据项是不可再分的数据单位数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,值含义,与其他数据项的逻辑关系}取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件例:学生学籍管理子系统的数据字典。以“学号”数据项为例:数据项名:学号含义说明:唯一标识每个学生别名:学生编号类型:字符型长度:8取值范围:00000000至99999999取值含义:前两位标别该学生所在年级,后六位按顺序编号与其他数据项的逻辑关系:如总分与各科成绩间关系192、数据结构:数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据结构描述:以“学生”为例数据结构名:学生含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息组成:学号,姓名,性别,年龄,所在系,年级203、数据流:数据流是数据结构在系统内传输的路径。数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间(每天、每周、每月等)里的传输次数高峰期流量则是指在高峰时期的数据流量如数据流“体检结果”可如下描述:数据流:体检结果说明:学生参加体格检查的最终结果数据流来源:体检数据流去向:批准组成:……平均流量:……高峰期流量:……214、数据存储:数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}流入的数据流:指出数据来源流出的数据流:指出数据去向数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息存取方法:批处理/联机处理;检索/更新;顺序检索/随机检索如数据存储“在校学生表”可如下描述:数据存储:在校学生说明:记录学生的基本情况流入数据流:学生招生、…流出数据流:……组成:……数据量:每年3000人存取方式:随机存取225、处理过程:处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}简要说明:主要说明该处理过程的功能及处理要求功能:该处理过程用来做什么处理要求:处理频度要求(如单位时间里处理多少事务,多少数据量);响应时间要求等处理要求是后面物理设计的输入及性能评价的标准处理过程“毕业处理”可如下描述:处理过程:毕业处理说明:为所有毕业生处理毕业相关事务输入
本文标题:第3章 数据库系统设计的步骤和方法
链接地址:https://www.777doc.com/doc-4049279 .html