数据库原理与应用:第5章 数据库设计概述、需求分析_第1页
数据库原理与应用:第5章 数据库设计概述、需求分析_第2页
数据库原理与应用:第5章 数据库设计概述、需求分析_第3页
数据库原理与应用:第5章 数据库设计概述、需求分析_第4页
数据库原理与应用:第5章 数据库设计概述、需求分析_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章数据库设计数据库原理与应用PrincipleandApplicationofDatabaseSystem第五章数据库设计5.1数据库设计概述5.2需求分析5.3概念结构设计5.4逻辑结构设计5.5物理结构设计5.6数据库实施和维护5.1数据库设计概述5.1.1数据库设计的任务5.1.2数据库设计的特点5.1.3数据库设计方法5.1.4数据库设计的基本步骤5.1.1数据库设计的任务数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的信息要求和处理要求。也就是把现实世界中的数据,根据各种应用要求,加以合理地组织,满足硬件和操作系统的特性,利用已有的DBMS来建立能够实现系统目标的数据库和应用系统。

数据库设计信息需求处理需求数据库应用程序DBMS硬件和操作系统特性图5.1数据库设计的任务5.1.2数据库设计的特点数据库设计是一项涉及多学科的综合性技术,它的建设是硬件、软件和干件的结合。技术与管理的界面称之为“干件”。数据库设计应该与应用系统设计相结合结构(数据)设计:数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式等的设计。它包括数据库的概念结构设计、逻辑结构设计和物理结构设计。行为(处理)设计:指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。数据库设计的特点(续)现实世界数据分析用户业务活动分析概念设计功能模型逻辑设计事务设计物理设计程序说明子模式设计应用程序设计加载试验数据程序编码调试性能考核满意?是否加载数据库运行和维护5.1.3数据库设计方法数据库设计方法可分为:手工试凑法、规范设计法、计算机辅助设计法。手工试凑法是最早使用的数据库设计方法。这种方法依赖于设计者的经验和技巧,缺乏科学理论和工程原则的支持,设计的质量很难保证,常常是数据库运行一段时间后又发现各种问题,这样再重新进行修改,增加了系统维护的代价。因此这种方法越来越不适应发展的需要。数据库设计方法(续)为了改变这种情况,1978年10月,来自三十多个国家的数据库专家在美国新奥尔良(NewOrleans)市专门讨论了数据库设计问题,他们运用软件工程的思想和方法,提出了数据库设计的规范,这就是著名的新奥尔良法,它是目前公认的比较完整和权威的一种规范设计法。新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。目前,常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现。下面简单介绍几种常用的规范设计方法。数据库设计方法(续)1.基于E-R模型的数据库设计方法

基于E-R模型的数据库设计方法是由P.P.S.chen于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体—联系)图构造一个反映现实世界实体之间联系的概念模型,然后再将此概念模型转换成基于某一特定的DBMS的数据模型。2.基于3NF的数据库设计方法基于3NF的数据库设计方法是由S·Atre提出的结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。除了以上两种方法外,规范化设计方法还有基于视图的数据库设计方法、实体分析法、属性分析法和基于抽象语义的设计方法等,这里不再详细介绍。规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。数据库设计方法简述(续)计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。目前许多计算机辅助软件工程(ComputerAidedSoftwareEngineering,CASE)工具可以自动或辅助设计人员完成数据库设计过程中的很多任务。比如SYSBASE公司的PowerDesigner和Oracle公司的Designer2000。

5.1.4数据库设计的基本步骤按照规范设计法,考虑数据库及其应用系统开发全过程,我们可将数据库设计分为以下六个阶段:

⒈需求分析阶段

2.概念结构设计阶级

3.逻辑结构设计阶段

4.物理结构设计阶段

5.数据库实施阶段

6.数据库运行和维护阶段YYNN需求分析阶段应用需求(数据、处理)需求收集和分析概念模型设计转换规则,规范化理论逻辑模型设计用户应用要求、DBMS特征物理模型设计性能评价与预测符合要求?物理实现试运行满意?使用与维护概念设计阶段逻辑设计阶段物理设计阶段数据库实阶施段数据库运行维护阶段数据库设计的基本步骤(续)需求分析阶段分析用户数据需求与处理需求。概念设计阶段对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型(E-R图)数据库设计的基本步骤(续)逻辑设计阶段首先将E-R图转换成具体的DBMS支持的数据模型,如关系模型,形成数据库逻辑模式然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式物理结构设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)数据库设计的基本步骤(续)数据库实施阶段设计人员运用DBMS提供的数据语言及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。数据库设计的基本步骤(续)数据库运行与维护阶段数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中不断进行评价、调整、修改等维护工作。整个设计步骤既是数据库设计的过程,也包括数据库应用系统的设计过程,在设计过程中将数据设计与处理设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充。

IPO表……输入:输出:处理:Creat……Load……Main()……if……then……end

分区1

分区2……逻辑结构设计概念结构设计物理设计设计阶段

设计描述数据处理需求分析

数据字典、全系统中数据项、数据流、数据存储的描述数据流图和判定表(判定树)、数据字典中处理过程的描述

概念模型(E-R图)

系统说明书包括:

①新系统要求、方案和概图

②反映新系统信息流的数据流图

某种数据模型关系非关系

系统结构图(模块结构)

存储安排方法选择存取路径建立

模块设计

IPO表实施阶段

编写模式装入数据数据库试运行

程序编码、编译联结、测试运行、维护

性能监测、转储/恢复数据库重组和重构

新旧系统转换、运行、维护(修正性、适应性、改善性维护)设计过程中形成的数据库各级模式概念模式逻辑模式内模式应用要求应用要求应用要求应用要求外模式外模式外模式外模式综合转换映象映象应用1应用2应用3应用4应用1应用2应用3应用4需求分析阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段第五章数据库设计5.1数据库设计概述5.2需求分析5.3概念结构设计5.4逻辑结构设计5.5物理结构设计5.6数据库实施和维护5.2需求分析5.2.1需求分析的任务5.2.2需求分析的方法需求分析(续)需求分析就是分析用户的需要与要求需求分析是设计数据库的起点需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用5.2.1需求分析的任务从数据库设计的角度来看,需求分析的任务是:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,明确用户的各种需求,在此基础上确定新系统的功能。

具体地说,需求分析阶段的任务包括以下二项:1.调查分析用户的活动通过对新系统运行目标的研究,对现行系统所存在的主要问题的分析以及制约因素的分析,明确用户总的需求目标,确定这个目标的功能域和数据域。具体做法是:(1)调查组织机构情况,包括该组织的部门组成情况,各部门的职责和任务等。(2)调查各部门的业务活动情况,包括各部门输入和输出的数据、如何加工处理这些数据、输入输出的部门等。2.收集和分析需求数据,确定系统边界在熟悉业务活动的基础上,协助用户明确对新系统的各种需求,包括用户的信息需求、处理需求、安全性和完整性的需求等。(1)信息需求指目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象,也就是用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理需求指用户为了得到需求的信息而对数据进行加工处理的要求。(3)安全性和完整性的需求。在定义信息需求和处理需求的同时必须相应确定安全性和完整性约束。在收集各种需求数据后,对前面调查的结果进行初步分析,确定新系统的边界,确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。5.2.2需求分析的方法在数据需求分析阶段,一方面用户缺少计算机知识,无法确定计算机究竟能为自己做什么,往往不能准确地表达自己的需求,另一方面设计人员缺少用户的专业知识,不易理解用户的真正需用,因此设计人员必须不断深入地与及户交流,才能逐步确定用户的实际需求。用于需求分析的方法有多种,主要方法有自顶向下和自底向上两种(a)

自顶向下的需求分析(b)

自底向上的需求分析………………需求需求……需求…需求需求需求需求需求需求需求需求需求需求…需求…其中自顶向下的结构化分析方法(StructuredAnalysis,简称SA方法)是最简单实用的方法。SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图(DataFlowDiagram,DFD)和数据字典(DataDictionary,DD)描述系统。下面对数据流图和数据字典作些简单的介绍。一.数据流图使用SA方法,任何一个系统都可抽象为下面的数据流图。数据流数据流数据来源处理数据输出数据存储数据流图有四种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。下图是一个简单的数据流图。付款凭证报销单报销人审查报销登记表一个简单的系统可用一张数据流图来表示。当系统比较复杂时,为了便于理解,控制其复杂性,可以采用分层描述的方法。一般用第一层描述系统的全貌,第二层分别描述各子系统的结构。如果系统结构还比较复杂,那么可以继续细化,直到表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。二、数据字典数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。数据字典的内容数据项数据结构数据流数据存储处理过程⒈数据项数据项是不可再分的数据单位对数据项的描述

数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}例:学生学籍管理子系统的数据字典。数据项,以“学号”为例:数据项:学号含义说明:唯一标识每个学生别名:学生编号类型:字符型长度:8

取值范围:00000000至99999999取值含义:前两位标别该学生所在年级,后六位按顺序编号⒉数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述

数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据结构以“学生”为例 “学生”是该系统中的一个核心数据结构:数据结构:学生含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息组成:学号,姓名,性别,年龄,所在系,年级

⒊数据流

数据流是数据结构在系统内传输的路径。对数据流的描述

数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间(每天、每周、每月等)里的传输次数高峰期流量则是指在高峰时期的数据流量数据流“体检结果”可如下描述:数据流:体检结果说明:学生参加体格检查的最终结果数据流来源:体检数据流去向:批准组成:……平均流量:……高峰期流量:……⒋数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述

数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}流入的数据流:指出数据来源流出的数据流:指出数据去向数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息存取方法:批处理/联机处理;检索/更新;顺序检索/随机检索数据存储“学生登记表”可如下描述:数据存储:学生登记表说明:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论