数据库技术及应用第7章数据库系统的设计方法.ppt
《数据库技术及应用第7章数据库系统的设计方法.ppt》由会员分享,可在线阅读,更多相关《数据库技术及应用第7章数据库系统的设计方法.ppt(128页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7 7章章 数据库系统的设计方法数据库系统的设计方法 数据库技术及应用第7章数据库系统的设计方法 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.1 数据库系统设计概述数据库系统设计概述 7.1.1数据库系统设计的内容数据库系统设计的内容主要包括数据库的结构特性设计、数据库的行为特性设计和数据库的物理模式设计。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1.数据库的结构特性设计数据库的结
2、构特性是指数据库的逻辑结构特征。由于数据库的结构特性是静态的,一般情况下不会轻易变动,因此数据库的结构特性设计又称为数据库的静态结构设计。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 数据库的结构特性设计过程如下:将现实世界中的事物、事物间的联系用E-R图表示。将各个分E-R图汇总,得出数据库的概念结构模型。将概念结构模型转化为数据库的逻辑结构模型。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2.数据库的行为特性设计数据库的行为特性设计是指确定数据库用户的行为和动作,并设计出数据库应用系统的系统层次结构、功能结构和系统数据流图,确定数据库的子模式。第第7 7章章 数据
3、库系统的设计方法数据库系统的设计方法 数据库行为特性的设计步骤为:将现实世界中的数据及应用情况用数据流程图和数据字典表示,并详细描述其中的数据操作要求(即操作对象、方法、频度和实时性要求)。确定系统层次结构。确定系统的功能模块结构。确定数据库的子模式。确定系统数据流图。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3.数据库的物理模式设计数据库的物理模式设计要求是:根据库结构的动态特性(即数据库应用处理要求),在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.1.2数据库系统
4、设计应注意的问题1.应考虑到计算机硬件、软件和干件的实际情况在进行数据库设计时,应当考虑三方面的内容:(1)数据库系统的硬件条件。(2)数据库管理系统和数据库应用系统开发软件的特点。(3)数据库用户的技术水平和管理水平。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2.应使结构特性设计和行为特性设计紧密结合数据库的设计过程是一种自上而下的、逐步逼近设计目标的过程。数据库的设计过程是结构设计和行为设计分离设计、相互参照、反复探寻的过程。图7-1所示为数据库设计的过程图。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-1数据库设计过程第第7 7章章 数据库系统的设计方法
5、数据库系统的设计方法 7.1.3数据库设计的基本方法现实世界的信息结构复杂且应用环境多种多样,在很长一段时间内,数据库设计是采用手工试凑法进行的。手工试凑法设计数据库与设计人员的经验和水平有直接关系,它更像是一种技艺而不是工程技术。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.1.4数据库系统设计的基本步骤图7-2所示为数据库设计的步骤和各个阶段应完成的基本任务,下面就具体内容进行介绍。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-2数据库设计的步骤第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1.需求分析阶段需求分析是数据库设计的第一步,也是最困
6、难、最耗时间的一步。2.概念结构设计阶段概念结构设计是整个数据库设计的关键。在概念结构的设计过程中,设计者要对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和DBMS的概念模型。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3.逻辑结构设计阶段数据逻辑结构设计的主要任务是将概念结构转换为某个DBMS所支持的数据模型,并将其性能进行优化。4.数据库物理设计阶段数据库物理设计的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储位置、数据存储结构和存取方法。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 5.数据库实施阶段在数据库实施阶段中,系统设计
7、人员要运用DBMS提供的数据操作语言和宿主语言,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行系统试运行。6.数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中,必须不断地对其结构性能进行评价、调整和修改。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 表7-1数据库结构设计过程的各个阶段及描述第第7 7章章 数据库系统的设计方法数据库系统的设计方法 表7-1中有关处理特性的设计描述、设计原理、设计方法、工具等具体内容,在软件工程和信息系统设计等其他相关课程中有详细介绍。这里主要讨论有关数据特性的问题,包括数
8、据特性的描述、如何参照处理特性、完善数据模型设计等问题。在图7-3中描述了数据库结构设计不同阶段要完成的不同级别的数据模式。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-3数据库的各级模式第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.2 系统需求分析系统需求分析7.2.1需求分析的任务和方法1.系统需求调查的内容调查是系统需求分析的重要手段,只有通过对用户的调查研究,才能得出需要的信息。调查的目的是获得数据库所需数据情况和数据处理要求。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 调查的具体内容有以下三方面:(1)数据库中的信息内容。(2)数据处理
9、内容。(3)数据安全性和完整性要求。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2.系统需求的调查步骤调查用户需求的具体步骤是:了解现实世界的组织机构情况。了解相关部门的业务活动情况。(3)确定新系统的边界。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3.系统需求调查的方法计算机工作人员应当在熟悉了现实世界的业务后,协助用户提出对新系统的各种要求。在系统需求调查过程中,可以根据不同的问题和条件,使用不同的调查方法。4.系统需求分析方法调查了解了用户的需求以后,需要进一步分析和表达用户的需求。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 SA方法从最上层的
10、系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。SA方法把任何一个系统都抽象为图7-4的形式。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-4系统高层抽象图第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.2.2数据字典及其表示1.数据项数据项是不可再分的数据单位,它的描述为数据项=数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2.数据结构数据结构的描述为数据结构=数据结构名,含义说明,组成,数据项或数据结构3.数据流数据流是数据结构在系统内传输的路径。数据流的描述通常
11、为数据流=数据流名,说明,流出过程,流入过程,组成:数据结构,平均流量,高峰期流量第第7 7章章 数据库系统的设计方法数据库系统的设计方法 4.数据存储数据存储是数据及其结构停留或保存的地方,也是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。数据存储的描述通常为数据存储=数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式第第7 7章章 数据库系统的设计方法数据库系统的设计方法 5.处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息,通常包括以下内容:处理过程=处理过程名,说明,输
12、入:数据流,输出:数据流,处理:简要说明图7-5所示是一个数据流程图的实例。图中包括外部项、存储框和处理框以及数据流,它们需要数据字典对其内容进行详细说明。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-5一个数据流程图的实例第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.3 概念结构的设计概念结构的设计7.3.1概念结构的特点及设计方法1.概念结构设计的方法概念结构设计的方法有四种:(1)自顶向下:首先定义全局概念结构的框架,然后逐步细化为完整的全局概念结构。(2)自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构的设计方法。第第7 7
13、章章 数据库系统的设计方法数据库系统的设计方法 (3)逐步扩张:先定义最重要的核心概念结构,然后向外扩充,生成其他概念结构,直至完成总体概念结构。(4)混合策略:用自顶向下策略设计一个全局概念结构的框架,然后以它为骨架,集成由自底向上策略中设计的各局部概念结构。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2.概念结构的设计步骤按照图7-6所示的自顶向下分析需求与自底向上设计概念结构方法,概念结构的设计可分为两步:第一步是抽象数据并设计局部视图;第二步是集成局部视图,得到全局的概念结构。其设计步骤如图7-7所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-6自顶
14、向下分析需求与自底向上概念结构设计第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-7概念结构的设计步骤第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.3.2数据抽象与局部视图设计1.数据抽象的三种基本方法数据抽象的三种基本方法是分类、聚集和概括。(1)分类。(2)聚集。(3)概括。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-8职工分类示意图第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-9职工属性聚集实例第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-10更复杂的聚集第第7 7章章 数据库系统的设计方法数据库系统
15、的设计方法 图7-11概括表示示意图第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2.设计分E-R图设计分E-R图的具体做法是:(1)选择局部应用。(2)设计分E-R图。图7-12所示的是一个由属性上升为用实体集表示的实例。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-12“职称”由属性上升为实体的示意图第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-13病房作为一个属性或实体的例子第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.3.3视图的集成视图集成就是把设计好的各子系统的分E-R图综合成一个系统的总E-R图。视图的集成可以有两种
16、方法:(1)一种方法是多个分E-R图一次集成,如图7-14(a)所示;(2)另一种方法是逐步集成,用累加的方法一次集成两个分E-R图,如图7-14(b)所示。(1)合并E-R图。(2)修改和重构初步E-R图。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-14视图集成的两种方法第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1.合并分E-R图,生成初步E-R图由于各个局部应用所面向的问题是不同的,而且通常是由不同的设计人员进行不同局部的视图设计,这样就会导致各个分E-R图之间必定会存在许多不一致的地方,即产生冲突问题。分E-R图之间的冲突主要有三类:属性冲突、命名冲突
17、和结构冲突。(1)属性冲突。它主要有以下两种情况:属性域冲突,即属性值的类型、取值范围或取值集合不同。属性取值单位冲突。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (2)命名冲突。它主要有以下两种情况:同名异义冲突,即不同意义的对象在不同的局部应用中具有相同的名字。异名同义冲突,即意义相同的对象在不同的局部应用中有不同的名字。(3)结构冲突。它有以下三种情况情况:同一对象在不同的应用中具有不同的抽象。同一实体在不同分E-R图中的属性组成不一致。实体之间的联系在不同的分E-R图中呈现不同的类型。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-15合并两个分E-R图时
18、的综合第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2.消除不必要的冗余,设计基本E-R图(1)用分析方法消除冗余。(2)用规范化理论消除冗余。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-16消除冗余的实例第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4 数据库逻辑结构的设计数据库逻辑结构的设计E-R图表示的概念模型是用户数据要求的形式化。逻辑结构设计的任务就是把概念模型结构转换成某个具体的DBMS所支持的数据模型。通常,把概念模型向逻辑模型的转换过程分为三步进行:第第7 7章章 数据库系统的设计方法数据库系统的设计方法 把概念模型转换成一般的数
19、据模型。将一般的数据模型转换成特定的DBMS所支持的数据模型。通过优化方法将特定的DBMS所支持的数据模型转化为优化的数据模型。概念模型向逻辑模型的转换步骤如图7-17所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-17逻辑结构设计的步骤第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4.1概念模型向网状模型转换1.不同型实体集及其联系的转换规则概念模型中的实体集和不同型实体集间的联系可按下列规则转换为网状模型中的记录和系:(1)每个实体集转换成一个记录。(2)每个1:n的二元联系转换成一个系,系的方向由1方实体记录指向n方实体记录。(3)每个m:n的二元联
20、系,在转换时要引入一个连结记录,并形成两个系,系的方向由实体记录方指向连结记录方。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (4)K(3)个实体型之间的多元联系,在转换时也引入一个连结记录,并将联系转换成K个实体记录型和连结记录型之间的K个系,系的方向均为实体型指向连结记录,如图7-19所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-18二元联系的概念模型向网状模型的转换实例(a)1:n联系的转换实例;(b)m:n联系的转换实例第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-19多元联系的概念模型向网状模型的转换实例第第7 7章章 数据库系
21、统的设计方法数据库系统的设计方法 2.同型实体之间联系的模型转换规则(1)对于同一实体集的一对多联系,在向网状模型转换时要引入一个连结记录,并转换为两个系,系的方向不同。图7-20(a)为职工中领导联系的转换实例。(2)对于同一实体集之间的m:n联系,转换时也要引入一个连结记录,所转换的两个系均由实体记录方指向连结记录方。图7-20(b)为部件中构成联系的转换实例。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-20同一实体集间联系的概念模型向网状模型的转换实例(a)1:n联系的转换实例;(b)m:n联系的转换实例第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4
22、.2概念模型向关系模型的转换将E-R图转换成关系模型要解决两个问题:(1)如何将实体集和实体间的联系转换为关系模型。(2)如何确定这些关系模型的属性和码。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1.实体集的转换规则概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。2.实体集间联系的转换规则在向关系模型的转换时,实体集间的联系可按以下规则转换:(1)1:1联系的转换方法。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 【例7-1】将图7-21中含有1:1联系的E-R图转换为关系模型。该例有三种方案可
23、供选择(注:关系模型中标有下划线的属性为码):方案1:联系形成的关系独立存在,转换后的关系模型为职工(职工号,姓名,年龄)产品(产品号,产品名,价格)负责(职工号,产品号)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-21二元11联系转换为关系模型的实例第第7 7章章 数据库系统的设计方法数据库系统的设计方法 方案2:“负责”与“职工”两关系合并,转换后的关系模型为职工(职工号,姓名,年龄,产品号)产品(产品号,产品名,价格)方案3:“负责”与“产品”两关系合并,转换后的关系模型为职工(职工号,姓名,年龄)产品(产品号,产品名,价格,职工号)第第7 7章章 数据库系统的设计方
24、法数据库系统的设计方法 (2)1:n联系的转换方法。在向关系模型转换时,实体间的1:n联系可以有两种转换方法:一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 【例7-2】将图7-22中含有1:n联系的E-R图转换为关系模型。该转换有两种转换方案可供选择:方案1:1:n联系形成的关系独立存在。仓库(仓库号,地点,面积)产品(产品号,产品名,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 应用 数据库 系统 设计 方法
限制150内