数据库系统原理及应用:第6章 数据库设计_第1页
数据库系统原理及应用:第6章 数据库设计_第2页
数据库系统原理及应用:第6章 数据库设计_第3页
数据库系统原理及应用:第6章 数据库设计_第4页
数据库系统原理及应用:第6章 数据库设计_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1、6.1 数据库设计概述数据库设计概述6.2 规范化规范化6.3 需求分析需求分析6.4 概念结构设计概念结构设计6.5 逻辑结构设计逻辑结构设计6.6 数据库的物理设计数据库的物理设计6.7 小结小结 数据库设计的基本步骤数据库设计的基本步骤 需求分析的主要内容和方法需求分析的主要内容和方法 规范化理论规范化理论 概念结构设计的任务与方法概念结构设计的任务与方法 E-RE-R图向关系模型的转换图向关系模型的转换 6.1.1 数据库和信息系统数据库和信息系统 6.1.2 数据库设计的内容数据库设计的内容 6.1.3 数据库的设计方法数据库的设计方法 6.1.4 数据库设计的基本步骤数据库设计的基

2、本步骤数据库数据库 数据库数据库(Database,简称简称DB)是长期储存在计算机内、有组织的、是长期储存在计算机内、有组织的、可共享的数据集合可共享的数据集合信息系统信息系统:是提供信息、辅助人们对环境进行控制和进行决策的系统。:是提供信息、辅助人们对环境进行控制和进行决策的系统。 数据库设计的意义数据库设计的意义:数据库是信息系统的核心和基础,因此建立数:数据库是信息系统的核心和基础,因此建立数据库及其应用系统的技术,是信息系统开发和建设的核心技术。据库及其应用系统的技术,是信息系统开发和建设的核心技术。 什么是数据库设计?什么是数据库设计? 数据库设计是指对于一个给定的应用环境,构造最

3、优的数据库模数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(各种用户的应用需求(信息要求和处理要求信息要求和处理要求)。)。 在数据库领域内,常常把使用数据库的各类系统统称为数据库应在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。用系统。u 数据库的结构设计:数据库的结构设计:是指根据给定的应用环境,进行数据库的模式或外是指根据给定的应用环境,进行数据库的模式或外模式的设计。它包括数据库的概念设计、逻辑设计和物理设计。数据库是模式的设计。它

4、包括数据库的概念设计、逻辑设计和物理设计。数据库是结构化的、各应用程序共享的数据集合,它的结构是静态从、稳定的,形结构化的、各应用程序共享的数据集合,它的结构是静态从、稳定的,形成后在通常情况下是不该变的,所以结构设计又称为静态模型设计。成后在通常情况下是不该变的,所以结构设计又称为静态模型设计。 数据库的结构特性设计过程数据库的结构特性设计过程:先将现实世界中的事物、事物间的联系用:先将现实世界中的事物、事物间的联系用E-R图表示,再将各个分图表示,再将各个分E-R图汇总,得出数据库的概念模型,最后将概念结构图汇总,得出数据库的概念模型,最后将概念结构模型转化为数据库的逻辑结构模型表示。模型

5、转化为数据库的逻辑结构模型表示。u 数据库的行为设计:数据库的行为设计:是指对数据库进行的一系列操作的设计。在数据库系是指对数据库进行的一系列操作的设计。在数据库系统中,用户的行为和动作统中,用户的行为和动作(数据查询和统计、事物处理及报表处理等数据查询和统计、事物处理及报表处理等)通过操通过操作实现,而这些操作有时要通过应用程序来实现,所以数据库的行为设计主作实现,而这些操作有时要通过应用程序来实现,所以数据库的行为设计主要是应用程序的设计。用户的行为总是从数据库中获得某些结果,有的行为要是应用程序的设计。用户的行为总是从数据库中获得某些结果,有的行为还会使数据库的内容发生变化,所以行为是动

6、态的。因此行为设计又称为动还会使数据库的内容发生变化,所以行为是动态的。因此行为设计又称为动态模型设计即应用程序的设计。态模型设计即应用程序的设计。数据库行为特性的设计步骤数据库行为特性的设计步骤:首先要将现实世界中的数据及应用情况用数据:首先要将现实世界中的数据及应用情况用数据流程图和数据字典表示,并详细描述其中的数据操作要求流程图和数据字典表示,并详细描述其中的数据操作要求(即操作对象、方法、即操作对象、方法、频度和实时性要求频度和实时性要求),进而得出系统的功能模块结构和数据库的子模式。,进而得出系统的功能模块结构和数据库的子模式。u 数据库的物理模式设计:数据库的物理模式设计:根据库结

7、构的动态特性根据库结构的动态特性(即数据库应用处理要求即数据库应用处理要求),在选定的在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,从而得出环境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。数据库的存储模式和存取方法。 数据库系统必须适应所在的计算机硬件环境,根据其数据存储设数据库系统必须适应所在的计算机硬件环境,根据其数据存储设备、网络和通信设备、计算机性能等硬件条件设计数据库的规模、数备、网络和通信设备、计算机性能等硬件条件设计数据库的规模、数据存储方式、分布结构以及数据通信方式。据存储方式、分布结构以及数据通信方式。 在数据库设计前,应当选择合

8、适的在数据库设计前,应当选择合适的DBMS和主语言系统,使之适和主语言系统,使之适合数据库系统的要求。应当了解选定的合数据库系统的要求。应当了解选定的DBMS和主语言系统的特点,和主语言系统的特点,利用其数据操作和数据控制的优势,适应其特殊要求和限制,并使两利用其数据操作和数据控制的优势,适应其特殊要求和限制,并使两者能较好地配合。者能较好地配合。 为了提高数据库用户及数据库管理管理员的应用和管理数据库系为了提高数据库用户及数据库管理管理员的应用和管理数据库系统的水平,应当让他们充分参与设计数据库的工作,使之对数据库设统的水平,应当让他们充分参与设计数据库的工作,使之对数据库设计过程的每个细节

9、都了解的比较清楚。这样,不但能够提高设计效率,计过程的每个细节都了解的比较清楚。这样,不但能够提高设计效率,而且有助于数据库用户即数据库管理员对数据库进行管理、扩充和维而且有助于数据库用户即数据库管理员对数据库进行管理、扩充和维护等日常工作。护等日常工作。 数据库设计过程是一种自上而下的、逐步逼近设计目标的过程。数据库设计过程是一种自上而下的、逐步逼近设计目标的过程。其其数据库设计过程如下图所示。数据库设计过程是结构设计和行为设计分数据库设计过程如下图所示。数据库设计过程是结构设计和行为设计分离设计、相互参照、反复探寻的过程。数据库的逻辑模式设计要与事物离设计、相互参照、反复探寻的过程。数据库

10、的逻辑模式设计要与事物设计相结合起来,以支持全部事物处理的要求;为了更有效地支持事务设计相结合起来,以支持全部事物处理的要求;为了更有效地支持事务处理,还需要进行数据库的物理结构设计,以实现数据存取功能;数据处理,还需要进行数据库的物理结构设计,以实现数据存取功能;数据库的子模式则根据应用程序的需要而设计的。在数据库系统设计中,结库的子模式则根据应用程序的需要而设计的。在数据库系统设计中,结构特性设计和行为特性设计必须相结合才能达到其设计目标。数据库系构特性设计和行为特性设计必须相结合才能达到其设计目标。数据库系统设计者应当具有战略眼光,考虑到当前、近期和远期三个时间段的用统设计者应当具有战略

11、眼光,考虑到当前、近期和远期三个时间段的用户需求。设计的系统应当能完全满足用户当前和近期对系统的数据需求,户需求。设计的系统应当能完全满足用户当前和近期对系统的数据需求,对远期的数据需求有相应的处理方案。数据库系统设计者应充分考虑到对远期的数据需求有相应的处理方案。数据库系统设计者应充分考虑到系统可能的扩充与改变,使设计出的系统有较强的生命力。系统可能的扩充与改变,使设计出的系统有较强的生命力。在数据库的结构设计过在数据库的结构设计过程中程中 的数据收集、分析的数据收集、分析阶段应结合考虑行为设阶段应结合考虑行为设计过程中对用户的业务计过程中对用户的业务流程的分析,相互参照,流程的分析,相互参

12、照,相互补充,以完善两方相互补充,以完善两方面的设计;要把结构设面的设计;要把结构设计过程中的逻辑结构设计过程中的逻辑结构设计阶段与行为设计过程计阶段与行为设计过程中的事物设计综合考虑;中的事物设计综合考虑;设计数据库的子模式要设计数据库的子模式要结合应用程序的设计。结合应用程序的设计。n 数据库的基本知识和数据库设计技术;数据库的基本知识和数据库设计技术;n 计算机科学的基础知识;计算机科学的基础知识;n 程序设计的方法和技巧;程序设计的方法和技巧;n 软件工程的原理和方法;软件工程的原理和方法;n 应用领域的知识;应用领域的知识;u 试凑法试凑法 设计方法缺乏科学理论和工程方法的支持,工程

13、质量难以保证;设计方法缺乏科学理论和工程方法的支持,工程质量难以保证; 投入使用后就会发现各种问题,增加系统维护的代价;投入使用后就会发现各种问题,增加系统维护的代价;p 设计质量与设计人员的经验和水平有关设计质量与设计人员的经验和水平有关p 问题问题p 方法方法 根据自己对用户需求的理解,按照自己习惯的方式进行设计问题:根据自己对用户需求的理解,按照自己习惯的方式进行设计问题:u 新奥尔良新奥尔良(New Orleans)法法p 将数据库设计分为四个阶段将数据库设计分为四个阶段 需求分析需求分析分析用户需求;分析用户需求; 概念设计概念设计信息分析与定义;信息分析与定义; 逻辑设计逻辑设计设

14、计实现;设计实现; 物理设计物理设计物理数据库设计;物理数据库设计;u 基于基于ER模型设计法模型设计法u 基于基于3NF设计法设计法u 基于抽象语法规范设计法基于抽象语法规范设计法数据库设计之前,首先必须选定参加设计的人员,包括数据库设计之前,首先必须选定参加设计的人员,包括系统分析员、数据库系统分析员、数据库设计人员、程序员、用户、数据库管理员设计人员、程序员、用户、数据库管理员。 数据库设计的六个阶段数据库设计的六个阶段设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 需求分析是数据库设计的第一步,其任务是准确了解并分析

15、需求分析是数据库设计的第一步,其任务是准确了解并分析用户对系统的需要和要求,弄清系统要达到的目标和实现的功能。用户对系统的需要和要求,弄清系统要达到的目标和实现的功能。需求分析是否做的充分与准确,决定着在其上构建数据库大厦的需求分析是否做的充分与准确,决定着在其上构建数据库大厦的速度与质量。如果需求分析做得不好,会影响整个系统的性能,速度与质量。如果需求分析做得不好,会影响整个系统的性能,甚至会导致整个数据库设计返工重做。甚至会导致整个数据库设计返工重做。 概念结构设计会使整个数据库设计的关键。在概念结构的设概念结构设计会使整个数据库设计的关键。在概念结构的设计过程中,设计者要对用户需求进行综

16、合、归纳和抽象,形成一计过程中,设计者要对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和个独立于具体计算机和DBMS的概念模型。的概念模型。 数据逻辑结构设计的主要任务是将概念结构转换为某个数据逻辑结构设计的主要任务是将概念结构转换为某个DBMS所所支持的数据模型,并将其性能进行优化。支持的数据模型,并将其性能进行优化。 数据库物理设计的主要任务是为逻辑数据模型选取一个最适数据库物理设计的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构和存取方法。合应用环境的物理结构,包括数据存储结构和存取方法。 在数据库实施阶段中,系统设计人员要运用在数据库实施阶段中,系

17、统设计人员要运用DBMS提供的数据提供的数据操作语言和操作语言和宿主语言宿主语言(比方说用比方说用VC做数据库,那么做数据库,那么C+就是宿主就是宿主语言,它是语言,它是SQL的宿主的宿主 ),根据数据库的逻辑设计和物理设计的,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行系结果建立数据库、编制与调试应用程序、组织数据入库并进行系统试运行。统试运行。 数据库应用系统经过试运行后即可投入正式运行。在数据系数据库应用系统经过试运行后即可投入正式运行。在数据系统运行过程中,必须不断地对其结构性能进行评价、调整和修改。统运行过程中,必须不断地对其结构性能进行评价

18、、调整和修改。 在设计过程中,应把数据库的结构设计和数据处理的操作设在设计过程中,应把数据库的结构设计和数据处理的操作设计紧密结合起来,这两个方面的需求分析、数据抽象、系统设计计紧密结合起来,这两个方面的需求分析、数据抽象、系统设计及实现等各个阶段应同时进行,相互参照和相互补充。事实上,及实现等各个阶段应同时进行,相互参照和相互补充。事实上,如果不了解应用环境对数据的处理要求或没有考虑如何去实现这如果不了解应用环境对数据的处理要求或没有考虑如何去实现这些处理要求,是不可能设计出一个良好的数据库结构的。些处理要求,是不可能设计出一个良好的数据库结构的。设计阶段设计阶段 设计描述设计描述数据数据处

19、理处理需求分析需求分析数据字典、全系统中数据项、数据字典、全系统中数据项、数据流、数据存储描述数据流、数据存储描述数据流图和判定表数据流图和判定表(判定树判定树)、数据字典中、数据字典中处理过程的描述处理过程的描述概念结构概念结构设计设计概念模型概念模型(E-R)、图数据字典、图数据字典系统说明书包括:新系统要求、方案和系统说明书包括:新系统要求、方案和概图;反映新系统信息流的数据流图概图;反映新系统信息流的数据流图逻辑结构逻辑结构设计设计某种数据模型:关系或非关某种数据模型:关系或非关系模型系模型系统结构图系统结构图(模块结构模块结构)物理设计物理设计存储安排、方法选择、存取存储安排、方法选

20、择、存取路径建立路径建立模块设计、模块设计、IPO表表实施阶段实施阶段编写模式、装入数据、数据编写模式、装入数据、数据库试运行库试运行程序编码、编译连接、测试程序编码、编译连接、测试运行维护运行维护性能监测、转储性能监测、转储/恢复、数据恢复、数据库重组和重构库重组和重构新旧系统转换、运行、维护新旧系统转换、运行、维护(修正性、适修正性、适应性、改善性维护应性、改善性维护)上述数据库设计的原则和设计过程概括起来,可用下表进行描述上述数据库设计的原则和设计过程概括起来,可用下表进行描述 表中有关处理特性的设计描述、设计原理、设计方法、工具等具体内容,表中有关处理特性的设计描述、设计原理、设计方法

21、、工具等具体内容,在软件工程和信息系统设计等其他相关课程中有详细介绍,这里在软件工程和信息系统设计等其他相关课程中有详细介绍,这里主要讨论有主要讨论有关数据特性的问题,包括数据特性的描述、如何参照处理特性、完善数据模关数据特性的问题,包括数据特性的描述、如何参照处理特性、完善数据模型设计等问题型设计等问题。下图描述了数据库结构设计不同阶段要完成的不同级别的数据模式。下图描述了数据库结构设计不同阶段要完成的不同级别的数据模式。 6.2.1 需求分析的任务和方法需求分析的任务和方法 需求分析就是分析用户的要求。在需求分析阶段,系统分析需求分析就是分析用户的要求。在需求分析阶段,系统分析员将分析结果

22、用数据流程图和数据字典表示。需求分析的结果是员将分析结果用数据流程图和数据字典表示。需求分析的结果是否能够准确地反映用户的实际要求,将直接影响到后面各个阶段否能够准确地反映用户的实际要求,将直接影响到后面各个阶段的设计,并影响到系统的设计是否合理和实用。的设计,并影响到系统的设计是否合理和实用。 需求分析的主要任务需求分析的主要任务详细调查现实世界要处理的对象详细调查现实世界要处理的对象(组织、部组织、部门、企业等门、企业等);充分了解原系统;充分了解原系统(手工系统或计算机系统手工系统或计算机系统)的概况和发展前的概况和发展前景;明确用户的各种需求;收集支持系统目标的基础数据及其处理方法;景

23、;明确用户的各种需求;收集支持系统目标的基础数据及其处理方法;确定新系统的功能和边界。确定新系统的功能和边界。 1. 系统需求调查的内容系统需求调查的内容 调查是系统需求分析的重要手段,只有通过对用户的调查研究,才调查是系统需求分析的重要手段,只有通过对用户的调查研究,才能得出需要的信息。能得出需要的信息。调查的目的是获得数据库所需数据情况和数据处理调查的目的是获得数据库所需数据情况和数据处理要求。要求。调查的具体内容有以下调查的具体内容有以下3个方面:个方面:p 数据库中的信息内容数据库中的信息内容数据库中需存储那些数据,它包括用户将数据库中需存储那些数据,它包括用户将 从数据库中直接获得或

24、间接导出的信息的内容和性质。从数据库中直接获得或间接导出的信息的内容和性质。p 数据处理内容数据处理内容用户要完成什么数据处理功能;用户对数据处理用户要完成什么数据处理功能;用户对数据处理 响应时间的要求;数据处理的工作方式响应时间的要求;数据处理的工作方式(是批处理还是联机处理是批处理还是联机处理)。p 数据安全性和完整性要求数据安全性和完整性要求数据的保密措施和存取控制要求;数数据的保密措施和存取控制要求;数 据自身的或数据间的约束限制。据自身的或数据间的约束限制。2. 系统需求的调查步骤系统需求的调查步骤确定用户的最终需求是一件非常的苦难的事情,其主要原因为:确定用户的最终需求是一件非常

25、的苦难的事情,其主要原因为: 用户缺少计算机专业知识,不知道计算机能做什么,不能做什么,用户缺少计算机专业知识,不知道计算机能做什么,不能做什么, 因而不能准确地表达自己的要求;因而不能准确地表达自己的要求; 设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至可设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至可 能误解用户的需求。能误解用户的需求。调查用户需求的具体步骤是:调查用户需求的具体步骤是:p 了解现实世界的组织结构情况了解现实世界的组织结构情况 在系统分析时,要对管理对象所涉及的行政组织机构进行了解,弄在系统分析时,要对管理对象所涉及的行政组织机构进行了解,弄清所设计的

26、数据库系统与那些部门相关,这些部门以及下属各个单位的清所设计的数据库系统与那些部门相关,这些部门以及下属各个单位的联系和职责是什么。联系和职责是什么。p 了解相关部门的业务活动情况了解相关部门的业务活动情况 弄清了与数据库系统相关的部门后,就要深入到这些部门了解他们弄清了与数据库系统相关的部门后,就要深入到这些部门了解他们的业务活动情况。通过调查,需要掌握的信息是:各部门需要输入和使的业务活动情况。通过调查,需要掌握的信息是:各部门需要输入和使用什么数据;在部门中是如何加工处理这些数据的;各部门需要输出什用什么数据;在部门中是如何加工处理这些数据的;各部门需要输出什么信息;输出到什么部门;输出

27、数据的格式是什么。么信息;输出到什么部门;输出数据的格式是什么。p 确定新系统的边界确定新系统的边界 对前面调查结果进行初步分析后,要确定出数据库系统的边界。即对前面调查结果进行初步分析后,要确定出数据库系统的边界。即搞清楚:那些功能现在就有计算机完成;那些功能将来准备让计算机完搞清楚:那些功能现在就有计算机完成;那些功能将来准备让计算机完成;那些功能或活动由人工完成。由计算机完成的功能就是新系统应该成;那些功能或活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。实现的功能。3. 系统需求调查的方法系统需求调查的方法常用的调查方法有以下常用的调查方法有以下6种:种:p 跟班作业跟班作

28、业数据库设计人员亲身参加业务工作,以便能够深入了解业务数据库设计人员亲身参加业务工作,以便能够深入了解业务活动情况,比较准确地理解用户的需求,但比较耗时间和精力;活动情况,比较准确地理解用户的需求,但比较耗时间和精力;p 开调查会开调查会数据库设计人员可以通过与用户座谈的方式来了解业务活动数据库设计人员可以通过与用户座谈的方式来了解业务活动情况及用户需求。座谈会或调查会的参加者可以互相讨论、启发和补充;情况及用户需求。座谈会或调查会的参加者可以互相讨论、启发和补充;p 请专人介绍请专人介绍对于某些业务活动的重要环节,可以请业务熟练的专家或对于某些业务活动的重要环节,可以请业务熟练的专家或用户介

29、绍业务专业知识和业务活动情况,设计人员从中了解并询问相关问题用户介绍业务专业知识和业务活动情况,设计人员从中了解并询问相关问题p 询问询问对某些调查中的问题,可以找专人询问;对某些调查中的问题,可以找专人询问;p 设计调查表请用户填写设计调查表请用户填写数据库设计人员可以提前设计一个合理的、详数据库设计人员可以提前设计一个合理的、详细的业务活动及数据要求调查表,并将此表发给相关的用户。用户根据表中的细的业务活动及数据要求调查表,并将此表发给相关的用户。用户根据表中的 要求,经过认真地思考、充分准备后填写表中的内容。如果调查表设计合理,要求,经过认真地思考、充分准备后填写表中的内容。如果调查表设

30、计合理,这种方法很有效,也易于为用户接受;这种方法很有效,也易于为用户接受;p 查阅现实世界的数据记录查阅现实世界的数据记录调查中还需要查阅与原系统有关的数据记录,调查中还需要查阅与原系统有关的数据记录,包括账本、档案或文献等。包括账本、档案或文献等。在系统需求调查中,用户的积极参与和配合是做好调查的关键!做需求在系统需求调查中,用户的积极参与和配合是做好调查的关键!做需求调查时调查时 ,往往需要同时采用上述多种方法。,往往需要同时采用上述多种方法。4. 系统需求分析方法系统需求分析方法 分析和表达用户需求的方法很多,常用的有结构化分析方法分析和表达用户需求的方法很多,常用的有结构化分析方法(

31、Structure Analysis 简称简称SA方法方法),它是一种简单实用的方法。,它是一种简单实用的方法。 SA方法从最上层的系统组织结构入手,采用自顶向下、逐层分解的方方法从最上层的系统组织结构入手,采用自顶向下、逐层分解的方式分析系统。式分析系统。SA方法把任何一个系统都抽象为下图的形式:方法把任何一个系统都抽象为下图的形式: 上图给出的只是最高层次的抽象系统概貌。要反映更详细的内容,可上图给出的只是最高层次的抽象系统概貌。要反映更详细的内容,可将一个处理更能分解为若干子功能,每个子功能还可以继续分解,直到把将一个处理更能分解为若干子功能,每个子功能还可以继续分解,直到把系统工作过程

32、表示清楚为止。在处理功能逐步分解的同时,他们所用的数系统工作过程表示清楚为止。在处理功能逐步分解的同时,他们所用的数据也逐级分解,形成若干层次的据也逐级分解,形成若干层次的数据流图数据流图。 6.2.2 数据流图数据流图 数据流图数据流图(DFDData Flow Didgram)描述去系统中数据的流向及对描述去系统中数据的流向及对数据所做的加工和处理,即描述数据的流动、处理和存储的逻辑关系。数据所做的加工和处理,即描述数据的流动、处理和存储的逻辑关系。 数据流图由数据流图由4种元素组成:种元素组成:数据流、数据处理、数据存储、数据源及数数据流、数据处理、数据存储、数据源及数据终点据终点(也称

33、作外部实体也称作外部实体)。 数据流是具有名字且有流向的一组数据,就是动态数据结构。用标有数据流是具有名字且有流向的一组数据,就是动态数据结构。用标有名字的箭头表示。一个数据流可以是记录或数据项,如下图所示:名字的箭头表示。一个数据流可以是记录或数据项,如下图所示: 数据处理表示对数据所进行的加工和变换,在数据流图中用椭圆形表数据处理表示对数据所进行的加工和变换,在数据流图中用椭圆形表示。指向处理的数据流为该处理的输入数据,离开处理的数据流为该处理示。指向处理的数据流为该处理的输入数据,离开处理的数据流为该处理的输出数据,如下图所示:的输出数据,如下图所示: 数据存储表示用数据库形式数据存储表

34、示用数据库形式(或文件形式或文件形式)所存储的数据,是静态的数所存储的数据,是静态的数据结构。对其进行的存取分别以指向或离开数据存储的箭头表示,如下图据结构。对其进行的存取分别以指向或离开数据存储的箭头表示,如下图所示:所示: 数据源及数据终点表示当前系统的数据来源或数据去向,也称作外部数据源及数据终点表示当前系统的数据来源或数据去向,也称作外部实体,用矩形框表示,如下图所示:实体,用矩形框表示,如下图所示: 6.2.3 数据字典及其表示数据字典及其表示 数据字典是在数据流图的基础上,对数据流图中的各个元素进行详细数据字典是在数据流图的基础上,对数据流图中的各个元素进行详细的定义与描述,起到对

35、数据流图进行补充说明的作用。的定义与描述,起到对数据流图进行补充说明的作用。 数据字典是各类数据描述的集合,包含数据流图中所有元素的定义,数据字典是各类数据描述的集合,包含数据流图中所有元素的定义,是给开发人员提供对于系统的更确切的描述信息。是给开发人员提供对于系统的更确切的描述信息。 数据库的数据字典包括以下元素的定义:数据库的数据字典包括以下元素的定义:数据项、数据结构、数据流、数据项、数据结构、数据流、数据存储和处理过程。数据存储和处理过程。1. 数据项数据项不可再分的数据单位,对应于关系模型中的属性。对不可再分的数据单位,对应于关系模型中的属性。对数据项的描述如下:数据项的描述如下:数

36、据项数据项=数据项名,数据项含义说明,别名,数据类型,长度,取值范数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系围,取值含义,与其他数据项的逻辑关系其中:取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条其中:取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据完整性检验功能的依据。件,是设计数据完整性检验功能的依据。2. 数据结构数据结构反映了数据之间的组合关系,是若干数据项有实际反映了数据之间的组合关系,是若干数据项有实际意义的集合。一个数据结构可以由若干个数据项组成,也可以由意义的集合。一个数据结构可以由若干个数据项组成

37、,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述为:对数据结构的描述为:数据结构数据结构=数据结构名,含义说明,组成:数据结构名,含义说明,组成:数据项或数据结构数据项或数据结构3. 数据流数据流是数据结构在系统内传输的路径,是流动的、动态的是数据结构在系统内传输的路径,是流动的、动态的数据结构。对数据流的描述为:数据结构。对数据流的描述为:数据流数据流=数据流名,说明,数据流来源,数据流去向,组成:数据流名,说明,数据流来源,数据流去向,组成:数据结数据结构构,平均流量,高峰期流量,平均流量,高峰期流量

38、其中:数据流来源是说明该数据流来自哪个过程。数据流去向是说明该数其中:数据流来源是说明该数据流来自哪个过程。数据流去向是说明该数据流将到哪个过程去,平均流量是指在单位时间据流将到哪个过程去,平均流量是指在单位时间(每天、每周、每月等每天、每周、每月等)里里的传输次数,高峰期流量则是指在高峰时期的数据流量。的传输次数,高峰期流量则是指在高峰时期的数据流量。4. 数据存储数据存储是数据结构停留或保存的地方,这里的停留或保存是数据结构停留或保存的地方,这里的停留或保存的地方不是指某种存储介质,而是指数据项之间的一种逻辑存储的地方不是指某种存储介质,而是指数据项之间的一种逻辑存储关系,也是数据流的来源

39、和去向之一。数据存储定义的目的是根关系,也是数据流的来源和去向之一。数据存储定义的目的是根据实际问题确定最终数据库需要存储那些信息,是一种静态的数据实际问题确定最终数据库需要存储那些信息,是一种静态的数据结构。对数据存储的描述如下:据结构。对数据存储的描述如下:数据存储数据存储=数据存储名,说明,编号,流入的数据流,流出的数据流,数据存储名,说明,编号,流入的数据流,流出的数据流,组成:组成:数据结构数据结构,数据量,存取频度,存取方式,数据量,存取频度,存取方式其中:流入的数据流指出数据来源;流出的数据流指出数据去向;数据量其中:流入的数据流指出数据来源;流出的数据流指出数据去向;数据量是指

40、每次存取多少数据,存取频度是指每天是指每次存取多少数据,存取频度是指每天(或每小时、每周等或每小时、每周等)存取几次、存取几次、每次存取多少数据等信息。存取方式有:批处理或联机处理;检索或更新;每次存取多少数据等信息。存取方式有:批处理或联机处理;检索或更新;顺序检索或随机检索。顺序检索或随机检索。数据结构、数据流、数据存储的关系:数据结构是多个数据项数据结构、数据流、数据存储的关系:数据结构是多个数据项(属性属性)的集的集合,是一种抽象的概念;数据流是一种具体的、动态的流动的数据结构;合,是一种抽象的概念;数据流是一种具体的、动态的流动的数据结构;数据存储是存储在数据库中的多个数据项的集合,

41、是一种具体的、静态的数据存储是存储在数据库中的多个数据项的集合,是一种具体的、静态的数据结构。数据结构。5. 处理过程处理过程数据字典中只需要描述处理过程的说明性信息,处数据字典中只需要描述处理过程的说明性信息,处理过程说明性信息的描述如下:理过程说明性信息的描述如下:处理过程处理过程=处理过程名,说明,输入:处理过程名,说明,输入:数据流数据流,输出:,输出:数据流数据流,处理:,处理:简要说明简要说明其中:其中:“简要说明简要说明”主要是说明该处理过程用来做什么主要是说明该处理过程用来做什么(而不是怎么做而不是怎么做)及及处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间要求处理

42、频度要求,如单位时间里处理多少事务、多少数据量、响应时间要求等,是后面物理设计的输入及性能评价的标准。等,是后面物理设计的输入及性能评价的标准。处理过程的具体处理逻辑一般用判定表或判定树来描述。处理过程的具体处理逻辑一般用判定表或判定树来描述。例例1. 开发一个学校管理系统。开发一个学校管理系统。1、系统最高层数据流图。、系统最高层数据流图。 经过可行性分析和初步需求调查,抽象出该系统最高层数据流经过可行性分析和初步需求调查,抽象出该系统最高层数据流图。该系统由教师管理子系统、学生管理子系统和后勤管理子系图。该系统由教师管理子系统、学生管理子系统和后勤管理子系统组成,每个子系统分别配备一个开发

43、小组。统组成,每个子系统分别配备一个开发小组。2、子系统、子系统 进一步细化各个子系统。其中,学生管理子系统开发小组通过进一步细化各个子系统。其中,学生管理子系统开发小组通过进行统一的需求调查,明确了该子系统的主要功能是进行学籍管进行统一的需求调查,明确了该子系统的主要功能是进行学籍管理和课程管理,包括学生报到、入学、毕业、以及学生上课情况理和课程管理,包括学生报到、入学、毕业、以及学生上课情况的管理。通过详细的信息流程分析和数据收集后,生成该子系统的管理。通过详细的信息流程分析和数据收集后,生成该子系统的学籍管理的数据流程图,如下页图中所示。的学籍管理的数据流程图,如下页图中所示。3、数据字

44、典、数据字典 以学生学籍管理子系统为例,学生学籍管理子系统的数据字以学生学籍管理子系统为例,学生学籍管理子系统的数据字典如下:典如下:数据项数据项 下面以下面以“学生学生”为例说明。为例说明。学生管理子系统中学籍管理的数据流图学生管理子系统中学籍管理的数据流图数据项名:学号数据项名:学号含义说明:唯一标识每个学生含义说明:唯一标识每个学生别名:学生编号别名:学生编号类型:字符型类型:字符型长度:长度:8取值范围:取值范围:0000000099999999取值含义:前取值含义:前2位标别该学生所在年级,后位标别该学生所在年级,后6位按顺序编号位按顺序编号数据项还有:姓名、出生日期、性别、宿舍编号

45、、地址、人数、班数据项还有:姓名、出生日期、性别、宿舍编号、地址、人数、班级号、学生人数、职工号、教室地址、容量、教室编号、档案号级号、学生人数、职工号、教室地址、容量、教室编号、档案号等。等。数据结构数据结构数据结构名:学生;含义说明:是学籍管理子系统的主体数据数据结构名:学生;含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息;组成:学号,姓名,性别,结构,定义了一个学生的有关信息;组成:学号,姓名,性别,年龄,所在系,年级。年龄,所在系,年级。数据结构名:宿舍;数据结构说明:定义了一个宿舍的有关信数据结构名:宿舍;数据结构说明:定义了一个宿舍的有关信息;组成:息;组成:宿

46、舍编号,地址,人数宿舍编号,地址,人数。数据结构名:档案材料;组成:数据结构名:档案材料;组成:档案号,档案号,。数据结构名:班级;组成:数据结构名:班级;组成:班级号,学生人数班级号,学生人数。数据结构名:班主任;组成:数据结构名:班主任;组成:职工号,姓名,性别,是否为职工号,姓名,性别,是否为优秀班主任优秀班主任。数据结构名:教室;组成:数据结构名:教室;组成:教室编号,地址,容量教室编号,地址,容量。数据结构名:课程;组成:数据结构名:课程;组成:课程名,课程号,书名课程名,课程号,书名。数据流数据流下面以下面以“体检结果体检结果”为例说明。为例说明。数据流:体检结果数据流:体检结果说

47、明:学生参加体格检查的最终结果说明:学生参加体格检查的最终结果数据流来源:体检数据流来源:体检数据流去向:批准数据流去向:批准组成:学号、姓名、性别、身高、体重、血压等组成:学号、姓名、性别、身高、体重、血压等平均流量:平均流量:高峰期流量:高峰期流量:数据存储数据存储下面以下面以“学生登记表学生登记表”为例说明。为例说明。数据存储:学生登记表数据存储:学生登记表说明:记录学生的基本情况说明:记录学生的基本情况流入数据流:流入数据流:流出数据流:流出数据流:组成:学生数据结构组成:学生数据结构数据量:每年数据量:每年3000张张存取方式:随机存取存取方式:随机存取数据存储还有:体检表、毕业登记

48、表、宿舍分配表、教室情况数据存储还有:体检表、毕业登记表、宿舍分配表、教室情况表、课程表、学生选课情况表、宿舍情况表、班级情况表等。表、课程表、学生选课情况表、宿舍情况表、班级情况表等。数据处理数据处理下面以下面以“分配宿舍分配宿舍”为例说明。为例说明。处理过程名:分配宿舍处理过程名:分配宿舍说明:为所有新生分配学生宿舍说明:为所有新生分配学生宿舍输入:学生、宿舍输入:学生、宿舍输出:宿舍安排输出:宿舍安排处理:在新生报到后,为所有新生分配学生宿舍。要求同一间处理:在新生报到后,为所有新生分配学生宿舍。要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿宿舍只能安排同一性别的学生,

49、同一个学生只能安排在一个宿舍中,每个学生的居住面积不小于舍中,每个学生的居住面积不小于3平方米。安排新生宿舍的平方米。安排新生宿舍的处理时间应不超过处理时间应不超过15分钟。分钟。数据处理还有:学生选课、分配教室等。数据处理还有:学生选课、分配教室等。 6.3.1 概念结构设计的任务概念结构设计的任务 在需求分析阶段,得到了用户在现实世界的具体要求,这是远远不在需求分析阶段,得到了用户在现实世界的具体要求,这是远远不够的。接下来还要将其转化为计算机能够识别的信息世界的结构。将需够的。接下来还要将其转化为计算机能够识别的信息世界的结构。将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程

50、就是概求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程就是概念结构设计。概念结构设计的任务是,将需求分析的结果进行概念化抽念结构设计。概念结构设计的任务是,将需求分析的结果进行概念化抽象。抽象出的概念结构要能真实、充分地反映现实世界,易于被人所理象。抽象出的概念结构要能真实、充分地反映现实世界,易于被人所理解,容易更改,容易向某一种解,容易更改,容易向某一种DBMS转换。转换。 6.3.2 概念结构设计的方法概念结构设计的方法 人们提出了许多种概念模型,目前被广泛采用的是实体人们提出了许多种概念模型,目前被广泛采用的是实体联系模型联系模型(即(即E-R模型)。模型)。 概括起来,概念结

51、构设计的方法有以下四种:概括起来,概念结构设计的方法有以下四种:自顶向下、自底向上、自顶向下、自底向上、逐步扩张、混合策略。逐步扩张、混合策略。自顼向下自顼向下 首先定义全局概念结构的框架,即全局首先定义全局概念结构的框架,即全局E-R模型,然后再逐步细化(局模型,然后再逐步细化(局部部E-R模型),如下图所示。模型),如下图所示。自底向上自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构,如下图所示。结构,如下图所示。逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步首先定义

52、最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构,如下图所示。生成其他概念结构,直至总体概念结构,如下图所示。混合策略混合策略 将自顶向下和自底向上相结合。用自顶向下策略设计一个全局概念结构将自顶向下和自底向上相结合。用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由底向上策略中设计的各局部概念结构。的框架,以它为骨架集成由底向上策略中设计的各局部概念结构。最常采用的策略是自底向上的方法,即自顶向下地进行需求分析,然后再最常采用的策略是自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构,其方法如下图所示:自底向上地设计概念结构

53、,其方法如下图所示: 6.3.3 概念结构的设计的步骤概念结构的设计的步骤概念结构的设计可分为两步:概念结构的设计可分为两步: 抽象数据并设计局部视图;抽象数据并设计局部视图; 集成局部视图,得到全局的概念结构。集成局部视图,得到全局的概念结构。其设计步骤如下图所示:其设计步骤如下图所示: 数据抽象与局部视图设计数据抽象与局部视图设计 概念结构是对现实世界的一种抽象。所谓抽象就是抽取现实世界的共同概念结构是对现实世界的一种抽象。所谓抽象就是抽取现实世界的共同特性,忽略非本质的细节,并把这些共同特性用各种概念精确地加以描述,特性,忽略非本质的细节,并把这些共同特性用各种概念精确地加以描述,形成某

54、种模型。形成某种模型。 利用数据抽象方法可以对现实世界抽象,得出概念模型的实体集及属性。利用数据抽象方法可以对现实世界抽象,得出概念模型的实体集及属性。 数据抽象有三种基本方法:数据抽象有三种基本方法:分类、聚集和概括分类、聚集和概括。p 分类分类 分类分类(Classification)就是定义某一类概念作为现实世界中一组对象的就是定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。分类抽象了对象值和型之类型,这些对象具有某些共同的特性和行为。分类抽象了对象值和型之间的间的“成员成员”的语义。在的语义。在E-R模型中,实体集就是这种抽象。模型中,实体集就是这种抽象。

55、例如,在企业环境中,张小英是职工中的一员,她具有职工们共有的特例如,在企业环境中,张小英是职工中的一员,她具有职工们共有的特性和行为:在某个部门工作,参与某个工程的设计或施工。与张小英属性和行为:在某个部门工作,参与某个工程的设计或施工。与张小英属同一对象的还有王丽萍等其他职工。下图是职工的分类示意图:同一对象的还有王丽萍等其他职工。下图是职工的分类示意图:p 聚集聚集 聚集聚集(Aggregation)是定义某一类型的组成部分,它抽象了对象内部类型是定义某一类型的组成部分,它抽象了对象内部类型和对象内部和对象内部“组成部分组成部分”的语义。若干属性的聚集组成了实体型。例如把的语义。若干属性的

56、聚集组成了实体型。例如把实体集实体集“职工职工”的的“职工号职工号”、“姓名姓名”等属性聚集为实体型等属性聚集为实体型“职工职工”,如下图所示:如下图所示: 事实上,现实世界的事物是非常复杂,某些类型的组成部分可能仍然是事实上,现实世界的事物是非常复杂,某些类型的组成部分可能仍然是一个聚集,这是一种更复杂的聚集。某一类型的成分仍然是一个聚集,如一个聚集,这是一种更复杂的聚集。某一类型的成分仍然是一个聚集,如下图所示:下图所示:p 概括概括 概括概括(Generalization)定义了类型之间的一种子集联系,它抽象了类型之定义了类型之间的一种子集联系,它抽象了类型之间的间的“所属所属”的语义。

57、例如职工是个实体集,技术人员、干部也是实体集,的语义。例如职工是个实体集,技术人员、干部也是实体集,但技术人员、干部均是职工的子集。我们把职工成为超类但技术人员、干部均是职工的子集。我们把职工成为超类(Super class),技,技术人员、干部称为职工的子类术人员、干部称为职工的子类(Subclass)。在。在E-R模型中用双竖边的矩形框模型中用双竖边的矩形框表示子类,用直线加小圆圈表示超类表示子类,用直线加小圆圈表示超类子类的联系,如下图所示:子类的联系,如下图所示: 概括的一个重要性质是继承性。继承性指子类继承超类中定义的所有抽概括的一个重要性质是继承性。继承性指子类继承超类中定义的所有

58、抽象。例如技术人员、干部可以有自己的特殊属性,但都继承了他们的超类象。例如技术人员、干部可以有自己的特殊属性,但都继承了他们的超类属性,即技术人员和干部都具有职工类型的属性。属性,即技术人员和干部都具有职工类型的属性。设计分设计分E-R图图 概念结构设计是利用抽象机制对需求分析阶段收集到的数据进行分类、概念结构设计是利用抽象机制对需求分析阶段收集到的数据进行分类、组织组织(聚集聚集),形成实体集、属性和码,确定实体集之间的联系类型,形成实体集、属性和码,确定实体集之间的联系类型(一对一、一对一、一对多或多对多的联系一对多或多对多的联系),进而设计分,进而设计分E-R图。设计分图。设计分E-R图

59、的具体做法如下:图的具体做法如下:1. 选择局部应用选择局部应用 选择局部应用是根据系统的具体情况,在多层的数据流图中选择一个适选择局部应用是根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,作为设计分当层次的数据流图,作为设计分E-R图的出发点,并让数据流图中的每一部图的出发点,并让数据流图中的每一部分都对应一个局部应用。选择好局部应用之后,就可以对每个局部应用逐分都对应一个局部应用。选择好局部应用之后,就可以对每个局部应用逐一设计分一设计分E-R图了。图了。2. 设计分设计分E-R图图 在设计分在设计分E-R图前,局部应用的数据流图应已经设计几好,局部应用所图前,局部应用的

60、数据流图应已经设计几好,局部应用所涉及的数据应当也已经收集在相应的数据字典中了。在设计分涉及的数据应当也已经收集在相应的数据字典中了。在设计分E-R图时,要图时,要根据局部应用的数据流图中标定的实体集、属性和码,并结合数据字典中根据局部应用的数据流图中标定的实体集、属性和码,并结合数据字典中的相关描述内容,确定的相关描述内容,确定E-R图中的实体、实体之间的联系。图中的实体、实体之间的联系。 设计分设计分E-R图主要完成以下工作:确定实体图主要完成以下工作:确定实体(集集)、确定实体、确定实体(集集)的属性、的属性、确定实体间的联系。确定实体间的联系。 确定实体确定实体(集集) 实体(集)是指

温馨提示

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

评论

0/150

提交评论