940 likes | 1.1k Views
第九章 数据库应用系统设计. 章节目录. 9.1 概述. 9.2 数据库结构设计. 9.3 数据库应用系统设计. 9.4 系统调试与运行. 9.1 概述. 管理信息系统是提供管理信息,辅助人们对环境进行控制和决策的系统 。 数据库应用系统是其核心和基础。只有对数据库系统进行合理的逻辑设计和有效的物理设计,才有可能实现管理信息系统的预期功能和达到预期的性能。. R. 概述.
E N D
章节目录 9.1 概述 9.2 数据库结构设计 9.3 数据库应用系统设计 9.4 系统调试与运行
9.1 概述 管理信息系统是提供管理信息,辅助人们对环境进行控制和决策的系统。 数据库应用系统是其核心和基础。只有对数据库系统进行合理的逻辑设计和有效的物理设计,才有可能实现管理信息系统的预期功能和达到预期的性能。 R
概述 数据库应用系统设计通常在一些通用的DBMS支持下进行,涉及硬件、软件、人员各方面因素。设计人员必须深入实际,深入了解应用环境及应用领域专业知识。了解原有系统的功能和应用中的矛盾问题,才有可能设计出符合要求的高性能数据库应用系统。 R
数据库应用系统设计 数据库应用系统设计包括: • 数据库结构设计 • 应用系统功能与性能设计 • 应用程序设计等内容 R
设计一般包括以下几个方面: • 根据给定的应用环境,构造最优的数据库模式,建立数据库,使之能够有效的存储数据;满足用户各种应用需求,充分而又及时地向用户提供各种所需信息。 为此必须研究数据的分布,数据之间的联系,数据库的逻辑结构与物理结构。 R
根据用户应用的需求设计应用程序,提供存储、维护、检索数据的功能,使用户可以方便,快捷、准确地取得所需信息,向用户提供最为友好的人机界面。根据用户应用的需求设计应用程序,提供存储、维护、检索数据的功能,使用户可以方便,快捷、准确地取得所需信息,向用户提供最为友好的人机界面。 R
研究如何使系统具有尽可能优良的性能,尽可能多的实现人工系统所不能达到的功能,尽可能提高数据的安全性,保证数据的完整性,提高数据共享度,提高工作效率,提高决策准确性,最大限度地创造信息效益。研究如何使系统具有尽可能优良的性能,尽可能多的实现人工系统所不能达到的功能,尽可能提高数据的安全性,保证数据的完整性,提高数据共享度,提高工作效率,提高决策准确性,最大限度地创造信息效益。 R
9.2 数据库结构设计 一、数据库结构设计步骤 规范的数据库设计方法中比较著名的是新奥尔良(New Otleans)方法。它将数据库设计分为四个阶段:(1)需求分析(分析用户要求)、(2)概念设计(对信息分析和定义)、(3)逻辑设计(设计的具体实现)、(4)物理设计(物理数据库设计)。 规范设计法本质上仍然是手工设计方法,其基本思想是过程迭代和逐步求精。 R
也可以使用数据库设计工具软件。 目前许多大型数据库厂商将数据库设计工具实用化和产品化,例如,SYBASE公司和ORACLE公司分别推出的PowerDesigner和Design 2000数据库设计工具软件,可以自动地或辅助设计人员完成数据库设计过程中的很多任务。 R
需求分析 二、需求分析 需求分析的任务是具体了解应用环境,了解与分析用户对数据和数据处理的需求,对应用系统的性能的要求,提出新系统的目标,为第二阶段、第三阶段的设计奠定基础。一般需求分析的操作步骤如下所述。 R
1. 了解组织,人员的构成 了解组织结构情况、相互之间信息沟通关系、数据(包括各种报告,报表,凭证、单据)往来联系情况。 在上述调查基础上,首先画出组织机构及工作职能图。 R
以一个学校的基层单位—某大学一个系的管理为例作来简要说明。以一个学校的基层单位—某大学一个系的管理为例作来简要说明。 系的组织机构及工作职能如图9.2所示。 R
2、数据字典(Data Dictionary, DD) 用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字,性质,意义及各类约束条件。 数据字典是系统开发与维护中不可缺少的重要文件。数据与数据元素分别用数据表、数据元素表记载。 R
数据字典还包含开发过程中涉及到的其他数据,例如在程序中使用的常量,变量,数组,集合、函数……要在开发过程中不断补充。数据字典还包含开发过程中涉及到的其他数据,例如在程序中使用的常量,变量,数组,集合、函数……要在开发过程中不断补充。 即使是上述数据、数据元素,许多最终将被认定为数据库中的字段或系统中其他数据,要多作说明。 也有些将不再出现,有些元素的性质、意义会有所改变,都应在开发过程中不断修改和补充。 R
3. 需求分析说明书 需求分析说明书是对需求分析过程的记载与总结,也是将来开发的依据和标准,将作为开发方和最终用户间交接的依据,是一个纲领性的文件。 R
需求分析说明书一般包括下述内容: (1)数据库系统应用范围与环境条件 (2)工作流程图 (3)数据流程图 (4)数据字典(包括数据表与数据元素表) (5)IPO图与加工说明 (6)数据库性能要求 (7)对操作界面的要求 R
(8)各类约束条件 (9)开发目标与方法 (10)组织机构 (11)系统当前状况分析 (12)数据库系统功能设计目标 (13)对系统结构的初步规划 (14)日程进度 (15)验收标准 R
图9. 3 入库工作流程图 图9.3是一个入库工作流程图实例。 R
由工作流程图再进一步抽象,将工作流程图中可以由计算机处理的部分抽象出来,画成数据流程图,可如图9.4所示。由工作流程图再进一步抽象,将工作流程图中可以由计算机处理的部分抽象出来,画成数据流程图,可如图9.4所示。 R
为进一步表示清楚,可用输入_处理_输出图(IPO图)表示。为进一步表示清楚,可用输入_处理_输出图(IPO图)表示。 图9.5 用IPO图描述系统处理过程 R
如果处理过程比较复杂,图示仍不清楚,我们可附加加工说明,用文字详细说明每一步的处理过程和处理逻辑。如果处理过程比较复杂,图示仍不清楚,我们可附加加工说明,用文字详细说明每一步的处理过程和处理逻辑。 在需求分析说明书中,还应具体写明有关处理安全性,时间性,可靠性,适应性等方面的要求,整理形成文档,经批准之后生效。 R
概念结构设计 三、概念结构设计 概念结构设计是在需求分析的基础上对所有数据要求按一定方法进行抽象与综合处理,设计出不依赖于某种具体DBMS的满足用户应用需求的信息结构。 这种信息结构我们称为概念模型。 R
最常用的概念结构设计方法有: • 实体分析法 • 面向对象设计方法 • 属性综合法 R
此处主要讨论实体分析法。这是一种自上而下抽象的方法。此处主要讨论实体分析法。这是一种自上而下抽象的方法。 实体分析法要求根据前面数据需求分析,确定系统范围,确定实体及其属性,画出系统的实体联系模型(E-R图)。 R
第一步划分系统范围。一般数据库应用系统的管理对象不外乎人、财、物、事几个方面。第一步划分系统范围。一般数据库应用系统的管理对象不外乎人、财、物、事几个方面。 • 第二步选择实体。 • 第三步确定联系。通过进一步对它们之间关系的确定,可以得到设备管理的E-R图(本图省去一对一和一对多的联系菱形)如图9.6所示。 • 第四步确定实体的属性。依据需求分析中的数据元素整合得到。 • 最后一步分析和确定全面信息结构。 R
逻辑结构设计 四、逻辑结构设计 逻辑结构设计的任务是把概念模型,例如E-R图转换成所选用的具体的DBMS所支持的数据模型。 此处主要介绍将E-R图转换为关系数据模型的方法,以及设计视图(子模式)的方法。 逻辑结构的设计与算法密切相关,在设计逻辑结构的同时,还要考虑应用程序的设计。 R
1.关系数据模型 • 两个实体间如是一对一联系,在转化为关系模型时,可直接将两实体数据合为一表,属性为原两个实体的全部属性组合。 但是也有些表合为一表后可能因为表中每条记录太长而影响效率。 R
对于一对多联系的两个实体,分别建立两个表,在多方表中增加一方表中的关键字属性,作为其外码,按照参照完整性要求,外码要么为空值,要么必须是一方主码中的一个值。对于一对多联系的两个实体,分别建立两个表,在多方表中增加一方表中的关键字属性,作为其外码,按照参照完整性要求,外码要么为空值,要么必须是一方主码中的一个值。 • 对于多对多联系的两个实体要建立联系实体,其属性由互相联系的各实体的关键字组成。 R
一般来说每建立一个表,在应用系统中都需要建立相应维护程序,设计复杂度加大,工作量加大。因此在一些特殊情况下,我们总设法减少“表”的数量,采用特殊处理方法。一般来说每建立一个表,在应用系统中都需要建立相应维护程序,设计复杂度加大,工作量加大。因此在一些特殊情况下,我们总设法减少“表”的数量,采用特殊处理方法。 R
进行逻辑转换时常遵循一般规律,但也常常根据应用问题实际需要做一些特殊设计使问题简化,并不一定要追求高规范化,问题简化将使设计效率提高,使设计正确率提高,更方便用户使用,而这才应是我们所要达到的目标。进行逻辑转换时常遵循一般规律,但也常常根据应用问题实际需要做一些特殊设计使问题简化,并不一定要追求高规范化,问题简化将使设计效率提高,使设计正确率提高,更方便用户使用,而这才应是我们所要达到的目标。 R
2. 代码设计 在设计关系模型时,为了将来查询统计的需要,也有些是为了标准化的需要,对于某些属性要采用代码。可以是关键字,也可以是为查询或统计应用需要而设计的属性。 R
数据库物理设计 五、数据库物理设计 对一个给定的逻辑数据模型求取与应用需要相适应的物理结构的过程称为数据库物理设计。 这种物理结构主要指数据库在物理设备上的存储结构和存取方法。 R
对于关系数据库系统,数据的存贮结构与存取方法由DBMS决定并自动实现,物理设计主要考虑的是在网络环境下数据库的分布及索引结构。对于关系数据库系统,数据的存贮结构与存取方法由DBMS决定并自动实现,物理设计主要考虑的是在网络环境下数据库的分布及索引结构。 R
1. 两层C/S结构 由服务器、客户机在局部范围内建立局域网,数据库设置在服务器中,客户机中可存放其备份或临时表,就构成所谓两层C/S结构,如图9.7所示。 R
C/S结构服务器中数据被众多客户机程序所共享,它们可以同时读或写服务器中的数据,如有多台客户机中程序对同一数据做读写操作,就可能发生冲突。C/S结构服务器中数据被众多客户机程序所共享,它们可以同时读或写服务器中的数据,如有多台客户机中程序对同一数据做读写操作,就可能发生冲突。 在设计时,对数据可能有如下不同处理形式。 R
一种形式是:在处理时,客户机先向服务器索取数据,然后释放数据库,在客户机端处理数据,最后将结果送回服务器。一种形式是:在处理时,客户机先向服务器索取数据,然后释放数据库,在客户机端处理数据,最后将结果送回服务器。 这种处理方式对服务器、通信线路利用效率较高,但要注意防止并发操作错误。 R
另一种形式是:在处理时,客户机接受用户要求,并发给服务器,在服务器端处理,最后将结果传回客户机显示或打印。另一种形式是:在处理时,客户机接受用户要求,并发给服务器,在服务器端处理,最后将结果传回客户机显示或打印。 这种处理方式网络通信量较小、能防止并发操作错误,但服务器的CPU特别繁忙,反应速度较低,且容易出现死锁或活锁。 R
2. 三层C/S结构(B/S结构) 在Internet网络支持下,系统可更大规模扩大,出现了三层客户/服务器体系结构,即Browser/Server模式,其拓扑结构如图9.8所示。 R
B/S结构使系统从封闭的集中式主机向开放的与平台无关的环境过渡,服务器端可以不只一台主机,可采用主机的群集技术构成,客户端程序极大简化。B/S结构使系统从封闭的集中式主机向开放的与平台无关的环境过渡,服务器端可以不只一台主机,可采用主机的群集技术构成,客户端程序极大简化。 R
在客户端借助web游览器可以处理简单的客户端处理逻辑,显示用户界面及服务器端运行结果。在客户端借助web游览器可以处理简单的客户端处理逻辑,显示用户界面及服务器端运行结果。 web服务器负责接受远程或本地的数据查询请求,然后运行服务器脚本,借助于中间件把数据通过ODBC发送到数据库服务器上以获取相关数据,再把结果数据传回客户的Browser。 数据库服务器端负责管理数据库,处理数据更新及完成查询要求,运行存储过程。 R
3、索引(存储结构) 关系数据库系统中可以用静态或动态两种方式创建索引: • 静态索引指编程人员事先建立相应索引,在应用程序中打开它之后再对表操作。这种操作效率较高。 • 动态索引指在程序中建立索引并使之成为主索引,这种方式较灵活,但在多用户共享并且录改操作比较频繁时会使处理速度变慢。 R