




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7 7章章 数据库系统的设计方法数据库系统的设计方法 第第7章章 数据库系统的设计方法数据库系统的设计方法 7.1 数据库系统设计概述数据库系统设计概述7.2 系统需求分析系统需求分析 7.3 概念结构的设计概念结构的设计 7.4 数据库逻辑结构的设计数据库逻辑结构的设计 7.5 数据库物理结构的设计数据库物理结构的设计 7.6 数据库的实施和维护数据库的实施和维护 7.7 数据库应用系统的设计数据库应用系统的设计习题习题7 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.1 数据库系统设计概述数据库系统设计概述 7.1.1 数据库系统设计的内容 数据库系统设计的内容主要包括
2、数据库的结构特性设计、数据库的行为特性设计和数据库的物理模式设计。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1. 数据库的结构特性设计 数据库的结构特性是指数据库的逻辑结构特征。由于数据库的结构特性是静态的,一般情况下不会轻易变动,因此数据库的结构特性设计又称为数据库的静态结构设计。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 数据库的结构特性设计过程如下: 将现实世界中的事物、事物间的联系用E-R图表示。 将各个分E-R图汇总,得出数据库的概念结构模型。 将概念结构模型转化为数据库的逻辑结构模型。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 数
3、据库的行为特性设计 数据库的行为特性设计是指确定数据库用户的行为和动作,并设计出数据库应用系统的系统层次结构、功能结构和系统数据流图,确定数据库的子模式。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 数据库行为特性的设计步骤为: 将现实世界中的数据及应用情况用数据流程图和数据字典表示,并详细描述其中的数据操作要求(即操作对象、方法、频度和实时性要求)。 确定系统层次结构。 确定系统的功能模块结构。 确定数据库的子模式。 确定系统数据流图。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3. 数据库的物理模式设计 数据库的物理模式设计要求是:根据库结构的动态特性(即数据库
4、应用处理要求),在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.1.2 数据库系统设计应注意的问题 1. 应考虑到计算机硬件、软件和干件的实际情况 在进行数据库设计时,应当考虑三方面的内容: (1) 数据库系统的硬件条件。 (2) 数据库管理系统和数据库应用系统开发软件的特点。 (3) 数据库用户的技术水平和管理水平。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 应使结构特性设计和行为特性设计紧密结合 数据库的设计过程是一种自上而下的、逐步逼近设计目标的过程。数据库
5、的设计过程是结构设计和行为设计分离设计、相互参照、反复探寻的过程。 图7-1所示为数据库设计的过程图。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-1 数据库设计过程 是 否 满 意 ?否是企 业数 据 分 析概 念 模 型 设 计逻 辑 模 式 设 计物 理 模 式 设 计用 户 子 模 式 设 计加 载 试 验 数 据性 能 考 核加 载 数 据 库投 入 运 行 维 护用 户 业 务 活 动 分 析层 次 结 构 和 功 能 模 型事 务 设 计程 序 说 明应 用 程 序 设 计调 试 和 运 行第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.1.3
6、数据库设计的基本方法 现实世界的信息结构复杂且应用环境多种多样,在很长一段时间内,数据库设计是采用手工试凑法进行的。手工试凑法设计数据库与设计人员的经验和水平有直接关系,它更像是一种技艺而不是工程技术。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.1.4 数据库系统设计的基本步骤 图7-2所示为数据库设计的步骤和各个阶段应完成的基本任务,下面就具体内容进行介绍。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-2 数据库设计的步骤需求分析阶段概念结构设计阶段逻辑结构设计阶段物理设计阶段数据库实施阶段数据库运行和维护阶段不满意不满意应用需求(数据、处理)转换规则、
7、DBMS要求和优化方法应用要求,DBMS详细特征和限制需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计,性能预测物理实现试验性运行使用、维护数据库第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1. 需求分析阶段 需求分析是数据库设计的第一步,也是最困难、最耗时间的一步。 2. 概念结构设计阶段 概念结构设计是整个数据库设计的关键。在概念结构的设计过程中,设计者要对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和DBMS的概念模型。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3. 逻辑结构设计阶段 数据逻辑结构设计的主要任务是将概念结构转换
8、为某个DBMS所支持的数据模型,并将其性能进行优化。 4. 数据库物理设计阶段 数据库物理设计的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储位置、数据存储结构和存取方法。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 5. 数据库实施阶段 在数据库实施阶段中,系统设计人员要运用DBMS提供的数据操作语言和宿主语言,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行系统试运行。 6. 数据库运行和维护阶段 数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中,必须不断地对其结构性能进行评价、调整和修改。第第7
9、7章章 数据库系统的设计方法数据库系统的设计方法 表7-1 数据库结构设计过程的各个阶段及描述第第7 7章章 数据库系统的设计方法数据库系统的设计方法 表7-1中有关处理特性的设计描述、设计原理、设计方法、工具等具体内容,在软件工程和信息系统设计等其他相关课程中有详细介绍。这里主要讨论有关数据特性的问题,包括数据特性的描述、如何参照处理特性、完善数据模型设计等问题。 在图7-3中描述了数据库结构设计不同阶段要完成的不同级别的数据模式。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-3 数据库的各级模式 转换映像应用1应用2应用3概念模式应用1综合映像应用要求应用要求应用要求应用
10、4应用要求逻辑模式外模式应用2应用3外模式外模式外模式应用4内模式第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.2 系统需求分析系统需求分析 7.2.1 需求分析的任务和方法 1. 系统需求调查的内容 调查是系统需求分析的重要手段,只有通过对用户的调查研究,才能得出需要的信息。调查的目的是获得数据库所需数据情况和数据处理要求。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 调查的具体内容有以下三方面:(1) 数据库中的信息内容。 (2) 数据处理内容。 (3) 数据安全性和完整性要求。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 系统需求的调查步
11、骤调查用户需求的具体步骤是: 了解现实世界的组织机构情况。 了解相关部门的业务活动情况。(3) 确定新系统的边界。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3. 系统需求调查的方法 计算机工作人员应当在熟悉了现实世界的业务后,协助用户提出对新系统的各种要求。在系统需求调查过程中,可以根据不同的问题和条件,使用不同的调查方法。 4. 系统需求分析方法 调查了解了用户的需求以后,需要进一步分析和表达用户的需求。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 SA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。SA方法把任何一个系统都抽象为图7-4
12、的形式。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-4 系统高层抽象图 数据流数据流数据来源处理数据存储数据输出第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.2.2 数据字典及其表示 1. 数据项 数据项是不可再分的数据单位,它的描述为 数据项 = 数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 数据结构 数据结构的描述为 数据结构 = 数据结构名,含义说明,组成,数据项或数据结构 3. 数据流 数据流是数据结构在系统内传输的路径。数据流的描述通常为 数据流 = 数据
13、流名,说明,流出过程,流入过程,组成:数据结构,平均流量,高峰期流量第第7 7章章 数据库系统的设计方法数据库系统的设计方法 4. 数据存储 数据存储是数据及其结构停留或保存的地方,也是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。数据存储的描述通常为 数据存储 = 数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式第第7 7章章 数据库系统的设计方法数据库系统的设计方法 5. 处理过程 处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息,通常包括以下内容: 处理过程 = 处理过程名,说
14、明,输入:数据流,输出:数据流,处理:简要说明 图7-5所示是一个数据流程图的实例。图中包括外部项、存储框和处理框以及数据流,它们需要数据字典对其内容进行详细说明。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-5 一个数据流程图的实例 D1在校学生学生学籍表学生科删除记录a退学通知学生c派遣证各系学分记录bD3退学处理D2成绩记录P1毕业处理P2学生c学生科aD4第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.3 概念结构的设计概念结构的设计 7.3.1 概念结构的特点及设计方法 1. 概念结构设计的方法 概念结构设计的方法有四种: (1) 自顶向下:首先定义全
15、局概念结构的框架,然后逐步细化为完整的全局概念结构。 (2) 自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构的设计方法。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (3) 逐步扩张:先定义最重要的核心概念结构,然后向外扩充,生成其他概念结构,直至完成总体概念结构。 (4) 混合策略:用自顶向下策略设计一个全局概念结构的框架,然后以它为骨架,集成由自底向上策略中设计的各局部概念结构。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 概念结构的设计步骤 按照图7-6所示的自顶向下分析需求与自底向上设计概念结构方法,概念结构的设计可分为两步:
16、第一步是抽象数据并设计局部视图;第二步是集成局部视图,得到全局的概念结构。其设计步骤如图7-7所示。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-6 自顶向下分析需求与自底向上概念结构设计 需求分析(自顶向下)概念结构设计(自底向上)(应用1)需求需求1需求n需求1.1需求1.2需求n.1需求n.2概念模式概念模式 概念模式概念模式概念模式1概念模式n(应用n )全局概念模式第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-7 概念结构的设计步骤 需求分析数据流图数据字典分E-R图用户是否满意?NY数据抽象、局部视图的设计视图集成逻辑结构设计总E-R图第第7
17、7章章 数据库系统的设计方法数据库系统的设计方法 7.3.2 数据抽象与局部视图设计 1. 数据抽象的三种基本方法 数据抽象的三种基本方法是分类、聚集和概括。 (1) 分类。 (2) 聚集。 (3) 概括。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-8 职工分类示意图张小英 王丽平 柳勇李成职工第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-9 职工属性聚集实例 职工实体型属性职工号姓名工资性别年龄第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-10 更复杂的聚集 部门部门号名称领导姓名年龄性别工资第第7 7章章 数据库系统的设计方法数据库
18、系统的设计方法 图7-11 概括表示示意图 超类子类职工技术人员干部第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 设计分E-R图设计分E-R图的具体做法是:(1) 选择局部应用。(2) 设计分E-R图。图7-12所示的是一个由属性上升为用实体集表示的实例。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 聘任n1职工职工号姓名年龄职称职工号姓名年龄职工号姓名年龄职称职称职工图7-12 “职称”由属性上升为实体的示意图第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-13 病房作为一个属性或实体的例子 n1n1住院号姓名病房号病人病人住院号姓名住在病房医
19、疗医生第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.3.3 视图的集成 视图集成就是把设计好的各子系统的分E-R图综合成一个系统的总E-R图。视图的集成可以有两种方法: (1) 一种方法是多个分E-R图一次集成,如图7-14(a)所示; (2) 另一种方法是逐步集成,用累加的方法一次集成两个分E-R图,如图7-14(b)所示。 (1) 合并E-R图。 (2) 修改和重构初步E-R图。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-14 视图集成的两种方法 (E-R)1(E-R)2(E-R)n初步E-R基本E-R(E-R)1(E-R)2(E-R)12(E-R)3
20、初步E-R基本E-R(a)(b)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1. 合并分E-R图,生成初步E-R图 由于各个局部应用所面向的问题是不同的,而且通常是由不同的设计人员进行不同局部的视图设计,这样就会导致各个分E-R图之间必定会存在许多不一致的地方,即产生冲突问题。 分E-R图之间的冲突主要有三类:属性冲突、命名冲突和结构冲突。 (1) 属性冲突。它主要有以下两种情况: 属性域冲突,即属性值的类型、取值范围或取值集合不同。 属性取值单位冲突。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (2) 命名冲突。它主要有以下两种情况: 同名异义冲突,即不同意义的对
21、象在不同的局部应用中具有相同的名字。 异名同义冲突,即意义相同的对象在不同的局部应用中有不同的名字。 (3) 结构冲突。它有以下三种情况情况: 同一对象在不同的应用中具有不同的抽象。 同一实体在不同分E-R图中的属性组成不一致。 实体之间的联系在不同的分E-R图中呈现不同的类型。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-15 合并两个分E-R图时的综合 nmpnm构成nnmmp产品零件数量产品数量零件供应供应商产品构成零件数量1数量2供应供应商(E-R)1(E-R)2(E-R)12第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 消除不必要的冗余,设计基本E
22、-R图(1) 用分析方法消除冗余。(2) 用规范化理论消除冗余。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-16 消除冗余的实例 mnn1mnmn产品构成零件使用用量Q3零件数Q1消耗材料库存量Q4存放仓库存放量Q5耗用量Q2第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4 数据库逻辑结构的设计数据库逻辑结构的设计 E-R图表示的概念模型是用户数据要求的形式化。逻辑结构设计的任务就是把概念模型结构转换成某个具体的DBMS所支持的数据模型。 通常,把概念模型向逻辑模型的转换过程分为三步进行:第第7 7章章 数据库系统的设计方法数据库系统的设计方法 把概念模型
23、转换成一般的数据模型。 将一般的数据模型转换成特定的DBMS所支持的数据模型。 通过优化方法将特定的DBMS所支持的数据模型转化为优化的数据模型。 概念模型向逻辑模型的转换步骤如图7-17所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-17 逻辑结构设计的步骤转换规则DBMS优化方法概念模型一般数据模型特定的DBMS优化的数据模型第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4.1 概念模型向网状模型转换 1. 不同型实体集及其联系的转换规则 概念模型中的实体集和不同型实体集间的联系可按下列规则转换为网状模型中的记录和系: (1) 每个实体集转换成一个记录
24、。 (2) 每个1:n的二元联系转换成一个系,系的方向由1方实体记录指向n方实体记录。 (3) 每个m:n的二元联系,在转换时要引入一个连结记录,并形成两个系,系的方向由实体记录方指向连结记录方。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (4) K(3)个实体型之间的多元联系,在转换时也引入一个连结记录,并将联系转换成K个实体记录型和连结记录型之间的K个系,系的方向均为实体型指向连结记录,如图7-19所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-18 二元联系的概念模型向网状模型的转换实例 (a) 1:n联系的转换实例;(b) m:n联系的转换实例1n
25、部门-职工系mn部门部门-职工职工部门职工学生选课课程学生课程学生选课课程选课选课(a)(b)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-19 多元联系的概念模型向网状模型的转换实例mnpSet1Set2Set3部件部件工程供应工程供应部件工程供应部件工程供应第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 同型实体之间联系的模型转换规则 (1) 对于同一实体集的一对多联系,在向网状模型转换时要引入一个连结记录,并转换为两个系,系的方向不同。图7-20(a)为职工中领导联系的转换实例。 (2) 对于同一实体集之间的m:n联系,转换时也要引入一个连结记录,所转换
26、的两个系均由实体记录方指向连结记录方。图7-20(b)为部件中构成联系的转换实例。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-20 同一实体集间联系的概念模型向网状模型的转换实例 (a) 1:n联系的转换实例;(b) m:n联系的转换实例1n上件下件nm职工领导职工-连结职工连结连结-职工(a)部件构成数量部件连结(b)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4.2 概念模型向关系模型的转换 将E-R图转换成关系模型要解决两个问题: (1) 如何将实体集和实体间的联系转换为关系模型。 (2) 如何确定这些关系模型的属性和码。第第7 7章章 数据库系统
27、的设计方法数据库系统的设计方法 1. 实体集的转换规则 概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。 2. 实体集间联系的转换规则 在向关系模型的转换时,实体集间的联系可按以下规则转换: (1) 1:1联系的转换方法。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 【例7-1】将图7-21中含有1:1联系的E-R图转换为关系模型。 该例有三种方案可供选择(注:关系模型中标有下划线的属性为码): 方案1:联系形成的关系独立存在,转换后的关系模型为 职工(职工号,姓名,年龄) 产品(产品号,产品名,价格) 负责(
28、职工号,产品号)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-21 二元1 1联系转换为关系模型的实例11职工负责年龄姓名职工号产品产品号产品名价格第第7 7章章 数据库系统的设计方法数据库系统的设计方法 方案2:“负责”与“职工”两关系合并,转换后的关系模型为 职工(职工号,姓名,年龄,产品号) 产品(产品号,产品名,价格) 方案3:“负责”与“产品”两关系合并,转换后的关系模型为 职工(职工号,姓名,年龄) 产品(产品号,产品名,价格,职工号)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (2) 1:n联系的转换方法。 在向关系模型转换时,实体间的1:n联系可
29、以有两种转换方法:一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 【例7-2】将图7-22中含有1:n联系的E-R图转换为关系模型。 该转换有两种转换方案可供选择: 方案1:1:n联系形成的关系独立存在。 仓库(仓库号,地点,面积) 产品(产品号,产品名,价格) 仓储(仓库号,产品号,数量) 方案2:联系形成的关系与n端对象合并。 仓库(
30、仓库号,地点,面积) 产品(产品号,产品名,价格,仓库号,数量)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-22 二元1:n联系转换为关系模型的实例n1仓库号地点面积仓库仓储数量产品产品号产品名价格第第7 7章章 数据库系统的设计方法数据库系统的设计方法 【例7-3】图7-23中含有同实体集的1:n联系,将它转换为关系模型。 该例题转换的方案如下: 方案1:转换为两个关系模型。 职工(职工号,姓名,年龄) 领导(领导工号,职工号) 方案2:转换为一个关系模型。 职工(职工号,姓名,年龄,领导工号)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-23 实体集内
31、部1:n联系转换为关系模型的实例 1n职工号姓名年龄职工领导第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (3) m:n联系的转换方法。 在向关系模型转换时,一个m:n联系转换为一个关系。 【例7-4】将图7-24中含有m:n二元联系的E-R图转换为关系模型。 该例题转换的关系模型如下(注:关系中标有下划线的属性为码): 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,学时数) 选修(学号,课程号,成绩)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-24 m:n二元联系转换为关系模型的实例mn学号姓名年龄性别学生选修成绩课程课程号课程名学时数第第7 7章章
32、数据库系统的设计方法数据库系统的设计方法 【例7-5】将图7-25中含有同实体集间m:n联系的E-R图转换为关系模型。 转换的关系模型如下(注:关系中标有下划线的属性为码): 零件(零件号,名称,价格) 组装(组装件号,零件号,数量)第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-25 同一实体集内m:n联系转换为关系模型的实例 nm零件号名称价格零件组装数量第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (4) 三个或三个以上实体集间的多元联系的转换方法。 要将三个或三个以上实体集间的多元联系转换为关系模型,可根据以下两种情况采用不同的方法处理: 对于一对多的多元联
33、系,转换为关系模型的方法是修改n端实体集对应的关系,即将与联系相关的1端实体集的码和联系自身的属性作为新属性加入到n端实体集中。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 对于多对多的多元联系,转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本身的属性,码为各实体码的组合。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 【例7-6】将图7-26中含有多实体集间的多对多联系的E-R图转换为关系模型。 转换后的关系模型如下: 供应商(供应商号,供应商名,地址) 零件(零件号,零件名,单价) 产品(产品号,产品名,型号) 供应(供应商
34、号,零件号,产品号,数量) 其中,关系中标有下划线的属性为码。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-26 多实体集间联系转换为关系模型的实例 nmp供应商号供应商名地址供应商供应数量零件产品零件号零件名单价产品号产品名型号第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3. 关系合并规则 在关系模型中,具有相同码的关系,可根据情况合并为一个关系。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4.3 用户子模式的设计 1. 使用更符合用户习惯的别名 前面提到,在合并各分E-R图时应消除命名的冲突,这在设计数据库整体结构时是非常必要的。 2.
35、 对不同级别的用户可以定义不同的子模式 由于视图能够对表中的行和列进行限制,所以它还具有保证系统安全性的作用。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3. 简化用户对系统的使用 利用子模式可以简化使用,方便查询。实际工作中经常要使用某些很复杂的查询,这些查询包括多表连接、限制、分组、统计等。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.4.4 数据库逻辑结构设计的实例 假如要为某基层单位建立一个“基层单位”数据库。通过调查得出,用户要求数据库中存储下列基本信息: 部门:部门号,名称,领导人编号。 职工:职工号,姓名,性别,工资,职称,照片,简历。 工程:工
36、程号,工程名,参加人数,预算,负责人。 办公室:地点,编号,电话。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 这些信息的关联的语义为 每个部门有多个职工,每个职工只能在一个部门工作。 每个部门只有一个领导人,领导人不能兼职。 每个部门可以同时承担若干工程项目,数据库中应记录每个职工参加项目的日期。 一个部门可有多个办公室。 每个办公室只有一部电话。 数据库中还应存放每个职工在所参加的工程项目中承担的具体职务。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1. 概念模型的设计 调查得到数据库的信息要求和语义后,还要进行数据抽象,才能得到数据库的概念模型。 设基层单位数据
37、库的概念模型如图7-27所示。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-27 基层单位数据库的概念模型n111n1n1nmn1部门办公领导工作职工办公室承担负责参加工程日期具体职务第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 关系模型的设计 图7-26的E-R图可按规则转换一组关系模型。表7-2中列出了这组关系模型及相关信息。表中的一行为一个关系模型,关系的属性根据数据字典得出。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 表7-2 基层单位数据库的关系模型信息 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.5 数据库物理结
38、构的设计数据库物理结构的设计 数据库的物理设计可以分为两步进行: 确定数据的物理结构,即确定数据库的存取方法和存储结构。 对物理结构进行评价。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.5.1 数据库物理结构设计的内容和方法 由于不同的数据库产品所提供的物理环境、存取方法和存储结构各不相同,供设计人员使用的设计变量、参数范围也各不相同,所以数据库的物理设计没有通用的设计方法可以遵循,仅有一般的设计内容和设计原则供数据库设计者参考。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 数据库设计者在确定数据存取方法时,必须清楚三种相关信息: (1) 数据库查询事务的信息,它
39、包括查询所需要的关系、查询条件所涉及的属性、连接条件所涉及的属性、查询的投影属性等信息。 (2) 数据库更新事务的信息,它包括更新操作所需要的关系、每个关系上的更新操作所涉及的属性、修改操作要改变的属性值等信息。 (3) 每个事务在各关系上运行的频率和性能要求。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.5.2 关系模式存取方法的选择 1. 索引存取方法的选择 选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引,哪些属性列建立组合索引,哪些索引建立惟一索引等。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 选择索引方法的基本原则是: (1) 如果一
40、个属性经常在查询条件中出现,则考虑在这个属性上建立索引;如果一组属性经常在查询条件中出现,则考虑在这组属性上建立组合索引。 (2) 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (3) 如果一个属性经常在连接操作的连接条件中出现,则考虑在这个属性上建立索引;同理,如果一组属性经常在连接操作的连接条件中出现,则考虑在这组属性上建立索引。 (4) 关系上定义的索引数要适当,并不是越多越好,因为系统为维护索引要付出代价,查找索引也要付出代价。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 聚
41、簇存取方法的选择 为了提高某个属性或属性组的查询速度,把这个属性或属性组上具有相同值的元组集中存放在连续的物理块上的处理称为聚簇,这个属性或属性组称为聚簇码。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 聚簇设计时可分两步进行:先根据规则确定候选聚簇,再从候选聚簇中去除不必要的关系。 设计候选聚簇的原则是: (1) 对经常在一起进行连接操作的关系可以建立聚簇。 (2) 如果一个关系的一组属性经常出现在相等、比较条件中,则该单个关系可建立聚簇。 (3) 如果一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可建立聚簇。 (4) 如果关系的主要应用是通过聚簇码进行访问或连接,而
42、其他属性访问关系的操作很少时,可以使用聚簇。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.5.3 确定数据库的存储结构 1. 确定数据的存放位置 为了提高系统性能,应根据应用情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。有多个磁盘的计算机,可以采用下面几种存取位置的分配方案:第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (1) 将表和索引放在不同的磁盘上,这样在查询时由于两个磁盘驱动器并行工作,可以提高物理I/O读写的效率。 (2) 将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效。 (3) 将日志文件、备份文件与数
43、据库对象(表,索引等)放在不同的磁盘上,以改进系统的性能。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 (4) 对于经常存取或存取时间要求高的对象(如表、索引)应放在高速存储器(如硬盘)上,对于存取频率小或存取时间要求低的对象(如数据库的数据备份和日志文件备份等只在故障恢复时才使用)。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 确定系统配置 DBMS产品一般都提供了一些系统配置变量和存储分配参数供设计人员和DBA对数据库进行物理优化。 3. 评价物理结构 物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可能会产生多种设计方案。 第
44、第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.6 数据库的实施和维护数据库的实施和维护 7.6.1 数据的载入 组织数据入库是数据库实施阶段最主要的工作。目前的DBMS产品没有提供通用的转换工具,其主要原因在于应用环境千差万别,源数据也各不相同,因而不存在通用的转换规则。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.6.2 数据库的试运行 在部分数据输入到数据库后,就可以开始对数据库系统进行联合调试的工作了,从而进入到数据库的试运行阶段。 数据库试运行阶段的主要工作包括以下两个方面: (1) 实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否
45、满足设计要求。 (2) 测试系统的性能指标,分析其是否符合设计目标。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 数据库的安全性、完整性控制 在数据库运行过程中,由于应用环境的变化,对安全性的要求也会发生变化。 3. 数据库性能的监督、分析和改造 在数据库运行过程中,监督系统运行、对监测数据进行分析并找出改进系统性能的方法是数据库管理员的又一重要任务。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 4. 数据库的重组织与重构造 数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库的性能下降。 第第7 7章章 数
46、据库系统的设计方法数据库系统的设计方法 7.7 数据库应用系统的设计数据库应用系统的设计 7.7.1 数据库系统的层次结构 根据数据库系统的构造方式,可以把数据库系统分为三类:桌面型数据库系统、两层结构的数据库系统和多层结构的数据库系统。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 1. 桌面型数据库系统 当我们把DBMS、数据库和数据库应用系统安排在同一台计算机中时,数据库中的数据只让本机的应用程序独自使用,这种结构为桌面型数据库系统。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 两层结构的数据库系统 两层结构的数据库系统有两种构造方式:客户机/服务器(Clie
47、nt/Server,简称C/S)结构和浏览器/服务器(Browser/Server,简称B/S)结构。 两层结构的数据库系统是数据库与网络技术相结合的产物,其结构如图7-28所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-28 两层数据库系统结构示意图数据库服务器客户机1客户机2浏览器2浏览器1第第7 7章章 数据库系统的设计方法数据库系统的设计方法 当系统规模增大到一定程度时,两层结构的数据库系统就会暴露出以下缺陷: (1) 启动的客户机端程序或打开的浏览器越多,同数据库服务器建立的连接就会越多,服务器端的负担就会越重。 第第7 7章章 数据库系统的设计方法数据库系统的
48、设计方法 (2) 由于客户机端在分发程序时不仅要分发EXE文件,还要分发与数据访问及数据管理相关的动态链接库,所以如果客户机的地理位置比较分散,则客户端程序就难以分发。 (3) 一旦数据库服务器的软、硬件出现问题,所有前端的应用将都会终止。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3. 多层数据库系统结构 为了解决两层数据库系统出现的问题,人们提出了多层数据库系统结构。多层数据库系统结构中最有代表性的是三层数据库系统结构,其结构如图7-29所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-29 三层数据库系统结构示意图数据库服务器应用服务器1客户机1客户机2
49、应用服务器2浏览器1浏览器2第第7 7章章 数据库系统的设计方法数据库系统的设计方法 7.7.2 数据库应用系统的设计方法及实例 1. 系统功能分析 系统功能分析的主要工作是:确定系统要完成的各种数据管理及其他功能,将确定的系统功能分类,并确定每类功能中所包括的细节功能。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 经过实际分析和考察,高校图书管理系统应具有如下功能: (1) 图书征订管理:包括图书征订数据的录入、修改、删除等功能。 (2) 图书编目管理:包括图书数目信息的录入、修改等功能。 (3) 图书典藏管理:包括新书分配、库室调配等功能。第第7 7章章 数据库系统的设计方法数
50、据库系统的设计方法 (4) 图书流通管理:包括图书借阅、续借、图书返还、图书查询等功能。 (5) 系统用户管理:包括系统用户数据的录入、修改与删除等功能。 (6) 读者数据管理:包括读者类别管理,读者个人数据的录入、修改和删除等功能。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 2. 系统模块设计 系统模块设计的任务是:根据系统功能分析对系统功能进行模块化处理,得出系统功能模块及其结构图。 系统功能模块结构一般为树形结构。对于高校图书管理系统来说,经过模块化分析得到的系统功能模块结构图如图7-30所示。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 3. 开发与运行环境的
51、选择 数据库系统的开发与运行环境包括系统运行所使用的操作系统、应用系统开发工具及数据库管理系统。 第第7 7章章 数据库系统的设计方法数据库系统的设计方法 4. 系统实现过程分析 在实现过程中,首先需要根据系统功能分析设计出需要的数据库,包括各个基本表和相互联系的详细结构。 在实现各功能模块时,也采用先模块后集成的方式,即各个系统功能模块分别进行独立设计和调试,在设计系统主窗体时才将各个功能模块通过主窗体的菜单系统集成到一起,最后进行设计和调试。第第7 7章章 数据库系统的设计方法数据库系统的设计方法 图7-30 高校图书管理系统功能模块结构图用户数据录入用户数据修改用户数据删除用户口令修改读者类别管理读者数据录入读者数据编辑征订数据录入征订数据修改征订数据审校书目数据录入书目数据修改书目数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石楼县2025年数学四下期末监测试题含解析
- 江苏省宿迁市泗洪县2025届四年级数学第二学期期末联考试题含解析
- 江苏省常州市武进区礼嘉中学2025届高三5月模拟(三模)语文试题含解析
- 酒泉市金塔县2025年数学三下期末联考模拟试题含解析
- 个人购房合同样本
- 智慧农业技术-提升农村人居环境质量
- 大型超市收银员劳动合同书
- 辽宁省辽阳市灯塔市2019-2020学年八年级上学期期末物理试题【含答案】
- 劳动合同续签意向协议书范本
- 个人产品分销合同
- 草坪、草木地被及花卉种植检查记录表
- 食品销售流程图
- 工程检测计划
- 《数据结构》课件(完整版)
- JJG 2-1999 木直尺检定规程-(高清现行)
- 描写音乐治愈心灵的英文句子
- (整理)变频器电力电缆标准
- 《西方音乐史》课件柴可夫斯基
- 人力资源部岗位廉洁风险点及防范措施
- PRS-778S500-100-090721技术使用说明书
- 求一个数比另一个数多几少几应用题
评论
0/150
提交评论