第七章数据库设计(1)_第1页
第七章数据库设计(1)_第2页
第七章数据库设计(1)_第3页
第七章数据库设计(1)_第4页
第七章数据库设计(1)_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章第七章 数据库设计数据库设计 第七章 数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库实施和维护数据库实施和维护7.7 小结小结数据库设计概述 数据库设计数据库设计n数据库设计是指对于一个给定的应用环境,构数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需效地

2、存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。求,包括信息管理要求和数据操作要求。n目标:为用户和各种应用系统提供一个信息基目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境础设施和高效率的运行环境7.1 数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.1 数据库设计的特点数据库建设的基本规律数据库建设的基本规律n三分三分技术,技术,七分七分管理,管理,十二分十二分基础数据基础数据

3、n管理管理 数据库建设项目管理数据库建设项目管理 企业(即应用部门)的业务管理企业(即应用部门)的业务管理 n基础数据基础数据 收集、入库收集、入库 更新新的数据更新新的数据结构(数据)设计和行为(处理)设计相结合结构(数据)设计和行为(处理)设计相结合 n将数据库结构设计和数据处理设计密切结合将数据库结构设计和数据处理设计密切结合数据库设计的特点(续)现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计

4、应用程序设计程序编码调试程序编码调试结构和行为分离的设计结构和行为分离的设计 7.1 数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.2 数据库设计方法 手工与经验相结合方法手工与经验相结合方法 n设计质量与设计人员的经验和水平有直接关系设计质量与设计人员的经验和水平有直接关系n数据库运行一段时间后常常不同程度地发现各数据库运行一段时间后常常不同程度地发现各种问题,增加了维护代价种问题,增加了维护代价规范设计法规范设计法n

5、基本思想:过程迭代和逐步求精基本思想:过程迭代和逐步求精数据库设计方法(续) 新奥尔良(新奥尔良(New Orleans)方法方法将数据库设计分为若干阶段和步骤将数据库设计分为若干阶段和步骤 基于基于E-R模型的数据库设计方法模型的数据库设计方法概念设计阶段广泛采用概念设计阶段广泛采用 3NF(第三范式)的设计方法第三范式)的设计方法逻辑阶段可采用的有效方法逻辑阶段可采用的有效方法 ODL(Object Definition Language)方法方法面向对象的数据库设计方法面向对象的数据库设计方法数据库设计方法(续)计算机辅助设计计算机辅助设计nORACLE Designer 2000nSY

6、BASE PowerDesigner7.1 数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.3 数据库设计的基本步骤 数据库设计分数据库设计分6个阶段个阶段n需求分析需求分析n概念结构设计概念结构设计n逻辑结构设计逻辑结构设计n物理结构设计物理结构设计n数据库实施数据库实施n数据库运行和维护数据库运行和维护 需求分析和概念设计独立于任何数据库管理系统需求分析和概念设计独立于任何数据库管理系统 逻辑设计和物理设计与选用的逻辑

7、设计和物理设计与选用的DBMS密切相关密切相关数据库设计的基本步骤(续)一、数据库设计的准备工作:一、数据库设计的准备工作:选定参加设计的人选定参加设计的人1.系统分析人员、数据库设计人员系统分析人员、数据库设计人员 n自始至终参与数据库设计自始至终参与数据库设计2. 用户和数据库管理员用户和数据库管理员 n主要参加需求分析和数据库的运行维护主要参加需求分析和数据库的运行维护3.应用开发人员(程序员和操作员)应用开发人员(程序员和操作员) n在系统实施阶段参与进来,负责编制程序和准备软硬件环境在系统实施阶段参与进来,负责编制程序和准备软硬件环境 数据库设计的基本步骤(续)二、数据库设计的过程二

8、、数据库设计的过程(六个阶段六个阶段) 需求分析阶段需求分析阶段n准确了解与分析用户需求(包括数据与处理)准确了解与分析用户需求(包括数据与处理)n最困难、最耗费时间的一步最困难、最耗费时间的一步数据库设计的基本步骤(续)概念结构设计阶段概念结构设计阶段n整个数据库设计的关键整个数据库设计的关键n通过对用户需求进行综合、归纳与抽象,形成通过对用户需求进行综合、归纳与抽象,形成一个独立于具体一个独立于具体DBMS的概念模型的概念模型数据库设计的基本步骤(续)逻辑结构设计阶段逻辑结构设计阶段n将概念结构转换为某个将概念结构转换为某个DBMS所支持的数据模所支持的数据模型型n对其进行优化对其进行优化

9、数据库设计的基本步骤(续)数据库物理设计阶段数据库物理设计阶段n为逻辑数据模型选取一个最适合应用环境的物为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)理结构(包括存储结构和存取方法)数据库设计的基本步骤(续)数据库实施阶段数据库实施阶段n运用运用DBMS提供的数据库语言(如提供的数据库语言(如SQL)及宿及宿主语言,根据逻辑设计和物理设计的结果主语言,根据逻辑设计和物理设计的结果建立数据库建立数据库编制与调试应用程序编制与调试应用程序组织数据入库组织数据入库进行试运行进行试运行数据库设计的基本步骤(续)数据库运行和维护阶段数据库运行和维护阶段n数据库应用系统经过试运行

10、后即可投入正式运数据库应用系统经过试运行后即可投入正式运行行n在数据库系统运行过程中必须不断地对其进行在数据库系统运行过程中必须不断地对其进行评价、调整与修改评价、调整与修改数据库设计的基本步骤(续) 设计一个完善的数据库应用系统往往是上述六个阶段的不设计一个完善的数据库应用系统往往是上述六个阶段的不断反复断反复把数据库设计和对数据库中数据处理的设计紧密结合起来把数据库设计和对数据库中数据处理的设计紧密结合起来 将这两个方面的需求分析、抽象、设计、实现在各个阶段将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计同时进行,相互参照,相互补充,以完善

11、两方面的设计数据库设计各个阶段的设计描述7.1 数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.4数据库设计过程中的各级模式数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的数据库各级模式数据库的各级模式数据库的各级模式 第七章 数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数

12、据库实施和维护数据库实施和维护7.7 小结小结7.2 需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2.3 数据字典数据字典7.2.1 需求分析的任务需求分析的任务需求分析的任务需求分析的重点需求分析的重点需求分析的难点需求分析的难点需求分析的任务 详细调查现实世界要处理的对象(组织、部门、企业等)详细调查现实世界要处理的对象(组织、部门、企业等) 充分了解原系统(手工系统或计算机系统)充分了解原系统(手工系统或计算机系统) 明确用户的各种需求明确用户的各种需求 确定新系统的功能确定新系统的功能 充分考虑今后可能的扩充和改变充分考虑今后可能的扩充和

13、改变需求分析的重点调查的重点是调查的重点是“数据数据”和和“处理处理”,获得,获得用户对数据库要求用户对数据库要求n 信息要求信息要求n处理要求处理要求n安全性与完整性要求安全性与完整性要求需求分析的难点确定用户最终需求确定用户最终需求n用户用户缺少计算机知识缺少计算机知识n设计人员设计人员缺少用户的专业知识缺少用户的专业知识解决方法解决方法n设计人员必须不断设计人员必须不断深入深入地与用户进行地与用户进行交流交流7.2 需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2.3 数据字典数据字典7.2.2 需求分析的方法调查需求调查需求达成共识达成共识

14、分析表达需求分析表达需求调查用户需求的具体步骤 调查组织机构情况调查组织机构情况 调查各部门的业务活动情况。调查各部门的业务活动情况。 在熟悉业务活动的基础上,协助用户明在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。确对新系统的各种要求。 确定新系统的边界确定新系统的边界常用调查方法(1)跟班作业跟班作业(2)开调查会开调查会(3)请专人介绍请专人介绍(4)询问询问(5)设计调查表请用户填写设计调查表请用户填写(6)查阅记录查阅记录进一步分析和表达用户需求结构化分析方法(结构化分析方法(Structured Analysis,简简称称SA方法)方法)n从最上层的系统组织机构入手从最上

15、层的系统组织机构入手n 自顶向下、逐层分解分析系统自顶向下、逐层分解分析系统进一步分析和表达用户需求(续)1首先把任何一个系统都抽象为首先把任何一个系统都抽象为:数据流数据流数据流数据流数据数据存储存储信息要求信息要求数据数据来源来源处理处理数据数据输出输出处理要求处理要求进一步分析和表达用户需求(续)2分解处理功能和数据分解处理功能和数据 (1)分解处理功能分解处理功能将处理功能的具体内容分解为若干子功能将处理功能的具体内容分解为若干子功能 (2)分解数据分解数据处理功能逐步分解同时,逐级分解所用数据,形成处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图若干层次的数据流图 (3

16、)表达方法表达方法 处理逻辑:用判定表或判定树来描述处理逻辑:用判定表或判定树来描述 数据:用数据字典来描述数据:用数据字典来描述3将分析结果再次提交给用户,征得用户的认可将分析结果再次提交给用户,征得用户的认可需求分析过程需求分析过程 7.2 需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2.3 数据字典数据字典7.2.3 数据字典 数据字典的用途数据字典的用途n进行详细的数据收集和数据分析所获得的主进行详细的数据收集和数据分析所获得的主要结果要结果 数据字典的内容数据字典的内容n数据项数据项n数据结构数据结构n数据流数据流n数据存储数据存储n处

17、理过程处理过程 数据项 数据项是不可再分的数据单位数据项是不可再分的数据单位 对数据项的描述对数据项的描述 数据项描述数据项描述 数据项名,数据项含义说明,别名,数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间与其他数据项的逻辑关系,数据项之间 的联系的联系 数据结构 数据结构反映了数据之间的组合关系。数据结构反映了数据之间的组合关系。 一个数据结构可以由若干个数据项组成,也可以由若干个一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构组成,或由

18、若干个数据项和数据结构混合组成。 对数据结构的描述对数据结构的描述 数据结构描述数据结构名,含义说明,数据结构描述数据结构名,含义说明, 组成组成:数据项或数据结构数据项或数据结构 数据流 数据流是数据结构在系统内传输的路径。数据流是数据结构在系统内传输的路径。 对数据流的描述对数据流的描述 数据流描述数据流描述 数据流名,说明,数据流来源,数据流名,说明,数据流来源, 数据流去向,组成数据流去向,组成:数据结构,数据结构, 平均流量,高峰期流量平均流量,高峰期流量 数据存储 数据存储是数据结构停留或保存的地方,也是数据流数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。的来源和

19、去向之一。 对数据存储的描述对数据存储的描述 数据存储描述数据存储名,说明,编号,数据存储描述数据存储名,说明,编号,输入的数据流输入的数据流 ,输出的数据流,输出的数据流 ,组成组成:数据结构,数据量,数据结构,数据量, 存取频度,存取方式存取频度,存取方式 处理过程 具体处理逻辑一般用判定表或判定树来描述具体处理逻辑一般用判定表或判定树来描述 处理过程说明性信息的描述处理过程说明性信息的描述处理过程描述处理过程名,说明,输入处理过程描述处理过程名,说明,输入:数据流,数据流, 输出输出:数据流,处理数据流,处理:简要说明简要说明数据字典数据字典是关于数据库中数据的描述,数据字典是关于数据库

20、中数据的描述,是元数据,而不是数据本身是元数据,而不是数据本身数据字典在需求分析阶段建立,在数据数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善库设计过程中不断修改、充实、完善 第七章 数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结7.3.1 概念结构什么是概念结构设计什么是概念结构设计n将需求分析得到的用户需求抽象为信息结构即将需求分析得到的用户需求抽象为信息结构即概概念模型念模型的过程就

21、是概念结构设计的过程就是概念结构设计n概念结构是各种数据模型的共同基础,它比数据概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。模型更独立于机器、更抽象,从而更加稳定。需求分析需求分析现实世界现实世界概念模型概念模型DBMS支持的数据模型支持的数据模型信息世界信息世界机器世界机器世界认识认识抽象抽象现实世界中客观对象的抽象过程:现实世界中客观对象的抽象过程:转换转换需求分析需求分析概念结构设计概念结构设计7.3.2 概念结构设计的方法与步骤设计概念结构的设计概念结构的四类方法四类方法n自顶向下自顶向下: 首先定义全局概念结构的框架,首先定义全局概念结构的框架,

22、然后逐步细化然后逐步细化7.3.2 概念结构设计的方法与步骤自底向上自底向上: 首先定义各局部应用的概念结首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念构,然后将它们集成起来,得到全局概念结构结构概念结构设计的方法与步骤(续)n逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体以滚雪球的方式逐步生成其他概念结构,直至总体概念结构概念结构逐步扩张策略概念结构设计的方法与步骤(续)n混合策略混合策略 将自顶向下和自底向上相结合,用自顶向下将自顶向下和自底向上相结合,用自顶向下策略设计

23、一个全局概念结构的框架,以它为策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概骨架集成由自底向上策略中设计的各局部概念结构。念结构。概念结构设计的方法与步骤(续)常用策略常用策略n自顶向下地进行需求分析自顶向下地进行需求分析n自底向上地设计概念结构自底向上地设计概念结构概念结构设计的方法与步骤(续)第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图第第2步:集成局部视图,得到全局概念结构步:集成局部视图,得到全局概念结构7.3.3 数据抽象与局部视图设计数据抽象数据抽象局部视图设计局部视图设计一、数据抽象概念结构是对现实世界的一种抽象概念结构是对现实世界的一

24、种抽象n从实际的人、物、事和概念中抽取所关心的共从实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节同特性,忽略非本质的细节n把这些特性用各种概念精确地加以描述把这些特性用各种概念精确地加以描述n这些概念组成了某种模型这些概念组成了某种模型数据抽象(续) 三种常用抽象三种常用抽象1. 分类(分类(Classification)n定义某一类概念作为现实世界中一组对象的定义某一类概念作为现实世界中一组对象的类型类型n这些对象具有某些共同的特性和行为这些对象具有某些共同的特性和行为n它抽象了对象它抽象了对象值和型值和型之间的之间的“is member of”的语义的语义n在在E-R模型中

25、,实体型就是这种抽象模型中,实体型就是这种抽象学生张英王平刘勇赵宾数据抽象(续)2. 聚集(聚集(Aggregation)n定义某一类型的组成成分定义某一类型的组成成分n它抽象了对象内部类型和成分之间它抽象了对象内部类型和成分之间“is part of”的语义的语义n在在E-R模型中若干属性的聚集组成了实体型,模型中若干属性的聚集组成了实体型,就是这种抽象就是这种抽象 数据抽象(续)3. 概括(概括(Generalization)n定义类型之间的一种子集联系定义类型之间的一种子集联系n它抽象了类型之间的它抽象了类型之间的“is subset of”的语义的语义n概括有一个很重要的性质:继承性。

26、子类继承概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象。超类上定义的所有抽象。学生本科生研究生超类子类数据抽象(续)数据抽象的用途数据抽象的用途n对需求分析阶段收集到的数据进行分类、对需求分析阶段收集到的数据进行分类、组织(聚集),形成组织(聚集),形成n实体实体n实体的属性,标识实体的码实体的属性,标识实体的码n确定实体之间的联系类型确定实体之间的联系类型(1:1,1:n,m:n)二、局部视图设计设计分设计分E-R图的步骤图的步骤:选择局部应用选择局部应用逐一设计分逐一设计分E-R图图 选择局部应用需求分析阶段,已用多层数据流图和数据需求分析阶段,已用多层数据流图和数据字典描述

27、了整个系统。字典描述了整个系统。设计分设计分E-R图首先需要根据系统的具体情况,图首先需要根据系统的具体情况,在多层的数据流图中在多层的数据流图中选择一个适当层次的选择一个适当层次的数据流图数据流图,让这组图中每一部分对应一个,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为局部应用,然后以这一层次的数据流图为出发点,设计分出发点,设计分E-R图。图。 逐一设计分E-R图任务任务n标定局部应用中的实体、属性、码,标定局部应用中的实体、属性、码,实体间的联系实体间的联系7.3.4 视图的集成各个局部视图即分各个局部视图即分E-R图建立好后,还需要图建立好后,还需要对它们进行合并,集

28、成为一个整体的数据对它们进行合并,集成为一个整体的数据概念结构即总概念结构即总E-R图。图。视图集成的两种方式视图集成的两种方式n一次集成一次集成n逐步累积式逐步累积式视图的集成(续)集成局部集成局部E-R图的步骤图的步骤1. 合并合并2. 修改与重构修改与重构视图的集成(续)一、合并分E-R图,生成初步E-R图各分图存在冲突各分图存在冲突n各个局部应用所面向的问题不同各个局部应用所面向的问题不同由不同的设计人员进行设计由不同的设计人员进行设计各个分各个分E-R图之间必定会存在许多不一致的地方图之间必定会存在许多不一致的地方n合并分合并分E-R图的主要工作与关键所在:合理消图的主要工作与关键所

29、在:合理消除各分除各分E-R图的冲突图的冲突合并分E-R图,生成初步E-R图(续)冲突的种类冲突的种类n属性冲突属性冲突n命名冲突命名冲突n结构冲突结构冲突 属性冲突两类属性冲突两类属性冲突n属性域冲突属性域冲突:属性值的类型、取值范围或取:属性值的类型、取值范围或取值集合不同。值集合不同。n属性取值单位冲突属性取值单位冲突 命名冲突两类命名冲突两类命名冲突n同名异义:同名异义:不同意义的对象在不同的局不同意义的对象在不同的局部应用中具有相同的名字部应用中具有相同的名字 例,局部应用例,局部应用A中将教室称为房间中将教室称为房间 局部应用局部应用B中将学生宿舍称为房间中将学生宿舍称为房间n异名

30、同义(一义多名)异名同义(一义多名):同一意义的对:同一意义的对象在不同的局部应用中具有不同的名字象在不同的局部应用中具有不同的名字 例,有的部门把教科书称为课本例,有的部门把教科书称为课本 有的部门则把教科书称为教材有的部门则把教科书称为教材 结构冲突三类结构冲突三类结构冲突n同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象n同一实体在不同局部视图中所包含的属同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不性不完全相同,或者属性的排列次序不完全相同完全相同n实体之间的联系在不同局部视图中呈现实体之间的联系在不同局部视图中呈现不同的类型不同的类型二、消除

31、不必要的冗余,设计生成基本二、消除不必要的冗余,设计生成基本E-RE-R图图基本任务基本任务n消除不必要的冗余,设计生成基本消除不必要的冗余,设计生成基本E-R图图合并合并初步初步E-R图图分分E-R图图可能存在冗余的数据可能存在冗余的数据和冗余的实体间联系和冗余的实体间联系基本基本E-R图图消除不必要的冗余消除不必要的冗余冗余 冗余的数据冗余的数据是指可由基本数据导出的数据,是指可由基本数据导出的数据,冗余的联系冗余的联系是指可由其他联系导出的联系。是指可由其他联系导出的联系。 冗余数据和冗余联系容易破坏数据库的完整性,给数据库冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难维

32、护增加困难 并不是所有的冗余数据与冗余联系都必须加以消除,有时并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价。为了提高某些应用的效率,不得不以冗余信息作为代价。 概念结构设计的步骤第第1步:抽象数据并设计局部视图步:抽象数据并设计局部视图 抽象数据抽象数据:分类:分类 、聚集、概括、聚集、概括 设计局部视图设计局部视图 选择局部应用选择局部应用 逐一设计分逐一设计分E-R图图标定局部应用中的实体、属性、码,实体间的联系标定局部应用中的实体、属性、码,实体间的联系用用E-R图描述出来图描述出来第第2步:集成局部视图,得到全局概念结构步:集成局部

33、视图,得到全局概念结构 1. 合并分合并分E-R图,生成初步图,生成初步E-R图图 消除冲突:属性冲突、命名冲突、结构冲突消除冲突:属性冲突、命名冲突、结构冲突 2. 修改与重构修改与重构消除不必要的冗余,设计生成基本消除不必要的冗余,设计生成基本E-R图(分析方法、规范图(分析方法、规范化理论)化理论)数据流图 数据流图(数据流图(DFD:Data Flow Diagram)就是组织中信息运动的抽象,就是组织中信息运动的抽象,是信息逻辑系统模型的主要形式。这个模型不涉及硬件、软件、数据结是信息逻辑系统模型的主要形式。这个模型不涉及硬件、软件、数据结构与文件组织,它与对系统的物理描述无关,只是

34、用一种图形及与此相构与文件组织,它与对系统的物理描述无关,只是用一种图形及与此相关的注释来表示系统的逻辑功能,即所开发的系统在信息处理方面要做关的注释来表示系统的逻辑功能,即所开发的系统在信息处理方面要做什么。什么。 由于图形描述简明、清晰,不涉及到技术细节,所描述的内容是面由于图形描述简明、清晰,不涉及到技术细节,所描述的内容是面向用户的,所以即使完全不懂信息技术的用户单位的人员也容易理解。向用户的,所以即使完全不懂信息技术的用户单位的人员也容易理解。因此数据流图是系统分析人员与用户之间进行交流的有效手段,也是系因此数据流图是系统分析人员与用户之间进行交流的有效手段,也是系统设计(即建立所开

35、发的系统的物理模型)的主要依据之一。统设计(即建立所开发的系统的物理模型)的主要依据之一。1.1 数据流图的构成(1)(1)数据流图使用的)数据流图使用的符号符号 DFD由四种基本符号组成。如下图所示。由四种基本符号组成。如下图所示。数据加工(数据加工(P)外部项(外部项(S)数据流(数据流(F)数据存储(数据存储(D)图图 数据流图的基本符号数据流图的基本符号 1.1 数据流图的构成(1) 数据流程图中有以下几种主要元素:数据流程图中有以下几种主要元素: :数据流。数据流是数据在系统内传播的路径,因此由一组成:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅

36、客姓名、年龄、单位、身份证号、分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。词或名词短语命名。 :数据源(终点)。代表系统之外的实体,可以是人、物或其:数据源(终点)。代表系统之外的实体,可以是人、物或其他软件系统。他软件系统。 :对数据的加工(处理)。加工是对数据进行处理的单元,它:对数据的加工(处理)。加工是对数据进行处理

37、的单元,它接收一定的数据输入,对其进行处理,并产生输出。接收一定的数据输入,对其进行处理,并产生输出。 :数据存储。表示信息的静态存储,可以代表文件、文件的一:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。部分、数据库的元素等。 1.1 数据流图的构成(2) 下下图是一个简单的图是一个简单的DFD。它表示数据流。它表示数据流“付款单付款单”从外部项从外部项“客户客户”(源点)流出,经加工(源点)流出,经加工“帐务处理帐务处理”转转换成数据流换成数据流“明细帐明细帐”,再经加工,再经加工“打印帐簿打印帐簿”转换成数转换成数据流据流“帐簿帐簿”,最后流向外部项,最后流向

38、外部项“会计会计”(终点),加工(终点),加工“打印帐簿打印帐簿”在进行转换时,从数据存储在进行转换时,从数据存储“总帐总帐”中读取中读取数据数据。 F3帐簿帐簿F 2 明 细明 细帐帐F 1 付 款付 款单单D总帐总帐打印帐簿打印帐簿P2帐务处理帐务处理P1S 1 客客户户S2会会计计1.1 数据流图的构成(3)(2)数据流)数据流 数据流(数据流(Data Flow)由一个或一组确定的数据组成。)由一个或一组确定的数据组成。 数据流名应能直观地反映数据流的含义。数据流名应能直观地反映数据流的含义。 数据流的流向数据流的流向 数据流可以同名,也可以有相同的数据结构,但必须有不数据流可以同名,

39、也可以有相同的数据结构,但必须有不同的数据或具有不同的含义。同的数据或具有不同的含义。 两个符号两个符号(加工、外部项、数据存储加工、外部项、数据存储)之间可以有多个数据之间可以有多个数据流存在,流存在,DFD并不表明它们之间的任何关系,诸如次序、主并不表明它们之间的任何关系,诸如次序、主次等。次等。 避免错误的数据流命名方法避免错误的数据流命名方法1.1 数据流图的构成(4)(3)加工)加工 加工又称处理亦称变换,它表示对数据流的操作。加工又称处理亦称变换,它表示对数据流的操作。 加工的符号分成上、下两部分,从上到下分别是标识部分和功加工的符号分成上、下两部分,从上到下分别是标识部分和功能描

40、述部分。能描述部分。 标识部分用于标注加工编号,加工编号应具有唯一性,以标识标识部分用于标注加工编号,加工编号应具有唯一性,以标识加工,以加工,以“P”开头。开头。 功能描述部分用来写加工名。为使功能描述部分用来写加工名。为使DFD清晰易读,加工名应简清晰易读,加工名应简单,能概括地说明对数据的加工行为,其详细描述在数据词典单,能概括地说明对数据的加工行为,其详细描述在数据词典中定义。中定义。 加工要逐层分解,以求得分解后的加工功能简单、易于理解。加工要逐层分解,以求得分解后的加工功能简单、易于理解。1.1 数据流图的构成(5)(4)数据存储)数据存储 数据存储是用来存贮数据的。在分层数据存储

41、是用来存贮数据的。在分层DFD中,数据存储一般中,数据存储一般仅属于某一层或某几层,因此又称数据存储为局部文件。现仅属于某一层或某几层,因此又称数据存储为局部文件。现对数据存储符号说明如下:对数据存储符号说明如下: 数据存储名写在开口的长方框内,应概要地说明文件中的主数据存储名写在开口的长方框内,应概要地说明文件中的主要数据。要数据。 数据存储上一定要有数据流。数据存储上一定要有数据流。 为便于说明和管理,数据存储亦应编号,编号写在文件符号为便于说明和管理,数据存储亦应编号,编号写在文件符号左端小方格中,以左端小方格中,以“D”开头。开头。 为避免为避免DFD中出现交叉线,同一数据存储可在多处

42、画出,可中出现交叉线,同一数据存储可在多处画出,可以用下图所示符号表示数据存储重复。以用下图所示符号表示数据存储重复。1.1 数据流图的构成(6)(5)外部项)外部项 源点和终点源点和终点(又称端点又称端点)是系统外的实体,称作外部项。是系统外的实体,称作外部项。它们存在于环境之中,与系统有信息交流,从源点到系统它们存在于环境之中,与系统有信息交流,从源点到系统的信息叫系统的输入;从系统到终点的信息称系统的输出。的信息叫系统的输入;从系统到终点的信息称系统的输出。同同个端点可以是人或其它系统。在个端点可以是人或其它系统。在DFD中引入源点和终中引入源点和终点是为了便于理解系统,所以不需要详细描

43、述它们。它们点是为了便于理解系统,所以不需要详细描述它们。它们可有编号,以可有编号,以“S”开头。开头。1 .2 数据流图的绘制步骤(1) (1)确定所开发的系统的外部项(外部实体),即系统的确定所开发的系统的外部项(外部实体),即系统的数据来源和去处。数据来源和去处。 (2)确定整个系统的输出数据流和输入数据流,把系统作确定整个系统的输出数据流和输入数据流,把系统作为一个加工环节,画出关联图。为一个加工环节,画出关联图。 (3)确定系统的主要信息处理功能,按此将整个系统分解确定系统的主要信息处理功能,按此将整个系统分解成几个加工环节(子系统)确定每个加工的输出与输入数成几个加工环节(子系统)

44、确定每个加工的输出与输入数据流以及与这些加工有关的数据存储。据流以及与这些加工有关的数据存储。 (4)根据自顶向下,逐层分解的原则,对上层图中全部或根据自顶向下,逐层分解的原则,对上层图中全部或部分加工环节进行分解。部分加工环节进行分解。1 .2 数据流图的绘制步骤(2)(5)重复步骤(重复步骤(4),直到逐层分解结束。),直到逐层分解结束。(6)对图进行检查和合理布局,主要检查分解是否恰当、对图进行检查和合理布局,主要检查分解是否恰当、彻底,彻底,DFD中各层是否有遗漏、重复、冲突之处,各层中各层是否有遗漏、重复、冲突之处,各层DFD及同层及同层DFD之间关系是否争取及命名、编号是否确切、之

45、间关系是否争取及命名、编号是否确切、合理等,对错误与不当之处进行修改。合理等,对错误与不当之处进行修改。(7)和用户进行交流,在用户完全理解数据图的内容的基和用户进行交流,在用户完全理解数据图的内容的基础上征求用户的意见。础上征求用户的意见。 1 .2 数据流图的绘制步骤(3)a关联图关联图.3.2图图0GQRLSMABCABCDEFG12356图图2.131NMPGL图图2b顶层图顶层图d三层图三层图c二层图二层图绘制数据流图过程示意图绘制数据流图过程示意图1.3 数据流图的绘制原则 (1)明确系统界面。明确系统界面。 (2)自顶向下逐层扩展。自顶向下逐层扩展。 (3)合理布局。合理布局。

46、(4)数据流图绘制过程,就是系统的逻辑模型的形成过数据流图绘制过程,就是系统的逻辑模型的形成过程,必程,必 须始终与用户密切接触,详细讨论,不断修改,须始终与用户密切接触,详细讨论,不断修改,也要和其他系统建设者共同商讨一求一致意见。也要和其他系统建设者共同商讨一求一致意见。1 .4 绘制数据流图注意事项 (1)关于自顶向下、逐层分解)关于自顶向下、逐层分解 (2)数据流必须通过加工)数据流必须通过加工 (3)数据存储环节一般作为两个加工环节的界面来安排)数据存储环节一般作为两个加工环节的界面来安排 (4)编号)编号1.5 数据流图绘制举例(1)(1)储户将填好的取款单、存折交银行,银行做如下处理:)储户将填好的取款单、存折交银行,银行做如下处理: 审核并查对帐目,将不合格的存折、取款单退回储户,审核并查对帐目,将不合格的存折、取款单退回储户,合格的存折、取款单送取款处理。合格的存折、取款单送取款处理。 处理取款修改帐目,将存折、利息单、结算清单及现金处理取款修改帐目,将存折、利息单、结算清单及现金交储户,同时将取款单存档。交储户,同时

温馨提示

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

评论

0/150

提交评论