您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 数据库原理与技术程学先第二版第7章
1数据库系统设计概述数据库结构设计应用程序结构设计退出本章要点2第7章数据库应用系统设计本章学习目标:7.1概述7.2数据库结构设计7.2.1数据库结构设计步骤7.2.2需求分析7.2.3概念结构设计7.2.4逻辑结构设计7.2.5数据库物理设计7.3应用程序结构设计3R管理信息系统是提供管理信息,辅助人们对环境进行控制和决策的系统。数据库应用系统是其核心和基础。只有对数据库系统进行合理的逻辑设计和有效的物理设计,才有可能实现管理信息系统的预期功能和达到预期的性能。数据库系统设计概述P1834数据库应用系统设计通常在一些通用的DBMS支持下进行,涉及硬件、软件、人员各方面因素。设计人员必须深入实际,深入了解应用环境及应用领域专业知识。了解原有系统的功能和应用中的矛盾问题,才有可能设计出符合要求的高性能数据库应用系统。R数据库系统设计概述5数据库应用系统设计包括:数据库结构设计应用系统功能与性能设计应用程序设计等内容。R数据库系统设计概述6R数据库系统设计概述设计一般包括以下几个方面:根据给定的应用环境,构造最优的数据库模式,建立数据库,使之能够有效的存储数据;满足用户各种应用需求,充分而又及时地向用户提供各种所需信息。为此必须研究数据的分布,数据之间的联系,数据库的逻辑结构与物理结构。7R数据库系统设计概述根据用户应用的需求设计应用程序,提供存储、维护、检索数据的功能,使用户可以方便,快捷、准确地取得所需信息,向用户提供最为友好的人机界面。8R研究如何使系统具有尽可能优良的性能,尽可能多的实现人工系统所不能达到的功能,尽可能提高数据的安全性,保证数据的完整性,提高数据共享度,提高工作效率,提高决策准确性,最大限度地创造信息效益。数据库系统设计概述910R数据库结构设计P184一、数据库结构设计步骤规范的数据库设计方法中比较著名的是新奥尔良(NewOtleans)方法。它将数据库设计分为四个阶段:(1)需求分析(分析用户要求)、(2)概念结构设计(对信息分析和定义)、(3)逻辑结构设计(设计的具体实现)、(4)物理设计(物理数据库设计)。规范设计法本质上仍然是手工设计方法,其基本思想是过程迭代和逐步求精。11也可以使用数据库设计工具软件。目前许多大型数据库厂商将数据库设计工具实用化和产品化,例如,SYBASE公司和ORACLE公司分别推出的PowerDesigner和Design2000数据库设计工具软件,可以自动地或辅助设计人员完成数据库设计过程中的很多任务。12R数据库结构设计二、需求分析需求分析的任务是具体了解应用环境,了解与分析用户对数据和数据处理的需求,对应用系统的性能的要求,提出新系统的目标,为第二阶段、第三阶段的设计奠定基础。一般需求分析的操作步骤如下所述。131.了解组织,人员的构成了解组织结构情况、相互之间信息沟通关系、数据(包括各种报告,报表,凭证、单据)往来联系情况。在上述调查基础上,首先画出组织机构及工作职能图。R数据库结构设计14R数据库结构设计以一个学校的基层单位—某大学一个系的管理为例作来简要说明。系的组织机构及工作职能如图7.2.1所示。15R数据库结构设计162、数据字典(DataDictionary,DD)用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字,性质,意义及各类约束条件。数据字典是系统开发与维护中不可缺少的重要文件。数据与数据元素分别用数据表、数据元素表记载。R数据库结构设计17R数据库结构设计数据表、数据元素表的格式如下表所示。18数据字典还包含开发过程中涉及到的其他数据,例如在程序中使用的常量,变量,数组,集合、函数……要在开发过程中不断补充。即使是上述数据、数据元素,许多最终将被认定为数据库中的字段或系统中其他数据,要多作说明。也有些将不再出现,有些元素的性质、意义会有所改变,都应在开发过程中不断修改和补充。R数据库结构设计19R数据库结构设计3.需求分析说明书需求分析说明书是对需求分析过程的记载与总结,也是将来开发的依据和标准,将作为开发方和最终用户间交接的依据,是一个纲领性的文件。20需求分析说明书一般包括下述内容:(1)数据库系统应用范围与环境条件(2)工作流程图(3)数据流程图(4)数据字典(包括数据表与数据元素表)(5)IPO图与加工说明(6)数据库性能要求(7)对操作界面的要求数据库结构设计21(8)各类约束条件(9)开发目标与方法(10)组织机构(11)系统当前状况分析(12)数据库系统功能设计目标(13)对系统结构的初步规划(14)日程进度(15)验收标准数据库结构设计22R数据库结构设计图7.2.2是一个入库工作流程图实例。23R数据库结构设计由工作流程图再进一步抽象,将工作流程图中可以由计算机处理的部分抽象出来,画成数据流程图,可如图7.2.3所示。24R数据库结构设计25R数据库结构设计为进一步表示清楚,可用输入_处理_输出图(IPO图)表示。26如果处理过程比较复杂,图示仍不清楚,我们可附加加工说明,用文字详细说明每一步的处理过程和处理逻辑。在需求分析说明书中,还应具体写明有关处理安全性,时间性,可靠性,适应性等方面的要求,整理形成文档,经批准之后生效。R数据库结构设计27R数据库结构设计28三、概念结构设计概念结构设计是在需求分析的基础上对所有数据要求按一定方法进行抽象与综合处理,设计出不依赖于某种具体DBMS的满足用户应用需求的信息结构。这种信息结构我们称为概念模型。R数据库结构设计29最常用的概念结构设计方法有:实体分析法面向对象设计方法属性综合法R数据库结构设计30此处主要讨论实体分析法。这是一种自上而下抽象的方法。实体分析法要求根据前面数据需求分析,确定系统范围,确定实体及其属性,画出系统的实体联系模型(E-R图)。R数据库结构设计31第一步划分系统范围。一般数据库应用系统的管理对象不外乎人、财、物、事几个方面。第二步选择实体。第三步确定联系。通过进一步对它们之间关系的确定,可以得到设备管理的E-R图(本图省去一对一和一对多的联系菱形)如图7.2.4所示。第四步确定实体的属性。依据需求分析中的数据元素整合得到。最后一步分析和确定全面信息结构。R数据库结构设计32R数据库结构设计33R四、逻辑结构设计逻辑结构设计的任务是把概念模型,例如E-R图转换成所选用的具体的DBMS所支持的数据模型。此处主要介绍将E-R图转换为关系数据模型的方法,以及设计视图(子模式)的方法。逻辑结构的设计与算法密切相关,在设计逻辑结构的同时,还要考虑应用程序的设计。数据库结构设计341.关系数据模型两个实体间如是一对一联系,在转化为关系模型时,可直接将两实体数据合为一表,属性为原两个实体的全部属性组合。但是也有些表合为一表后可能因为表中每条记录太长而影响效率。R数据库结构设计35R对于一对多联系的两个实体,分别建立两个表,在多方表中增加一方表中的关键字属性,作为其外码,按照参照完整性要求,外码要么为空值,要么必须是一方主码中的一个值。对于多对多联系的两个实体要建立联系实体,其属性由互相联系的各实体的关键字组成。数据库结构设计36R一般来说每建立一个表,在应用系统中都需要建立相应维护程序,设计复杂度加大,工作量加大。因此在一些特殊情况下,我们总设法减少“表”的数量,采用特殊处理方法。数据库结构设计37进行逻辑转换时常遵循一般规律,但也常常根据应用问题实际需要做一些特殊设计使问题简化,并不一定要追求高规范化,问题简化将使设计效率提高,使设计正确率提高,更方便用户使用,而这才应是我们所要达到的目标。R数据库结构设计382.代码设计在设计关系模型时,为了将来查询统计的需要,也有些是为了标准化的需要,对于某些属性要采用代码。可以是关键字,也可以是为查询或统计应用需要而设计的属性。R数据库结构设计39R五、数据库物理设计对一个给定的逻辑数据模型求取与应用需要相适应的物理结构的过程称为数据库物理设计。这种物理结构主要指数据库在物理设备上的存储结构和存取方法。数据库结构设计40对于关系数据库系统,数据的存贮结构与存取方法由DBMS决定并自动实现,物理设计主要考虑的是在网络环境下数据库的分布及索引结构。R数据库结构设计41R1.两层C/S结构由服务器、客户机在局部范围内建立局域网,数据库设置在服务器中,客户机中可存放其备份或临时表,就构成所谓两层C/S结构,如图7.2.5所示。数据库结构设计42R数据库结构设计43C/S结构服务器中数据被众多客户机程序所共享,它们可以同时读或写服务器中的数据,如有多台客户机中程序对同一数据做读写操作,就可能发生冲突。在设计时,对数据可能有如下不同处理形式。R数据库结构设计44•一种形式是:在处理时,客户机先向服务器索取数据,然后释放数据库,在客户机端处理数据,最后将结果送回服务器。这种处理方式对服务器、通信线路利用效率较高,但要注意防止并发操作错误。R数据库结构设计45另一种形式是:在处理时,客户机接受用户要求,并发给服务器,在服务器端处理,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小、能防止并发操作错误,但服务器的CPU特别繁忙,反应速度较低,且容易出现死锁或活锁。R数据库结构设计462.三层C/S结构(B/S结构)在Internet网络支持下,系统可更大规模扩大,出现了三层客户/服务器体系结构,即Browser/Server模式,其拓扑结构如图7.2.6所示。R数据库结构设计47R数据库结构设计48B/S结构使系统从封闭的集中式主机向开放的与平台无关的环境过渡,服务器端可以不只一台主机,可采用主机的群集技术构成,客户端程序极大简化。R数据库结构设计49在客户端借助web游览器可以处理简单的客户端处理逻辑,显示用户界面及服务器端运行结果。web服务器负责接受远程或本地的数据查询请求,然后运行服务器脚本,借助于中间件把数据通过ODBC发送到数据库服务器上以获取相关数据,再把结果数据传回客户的Browser。数据库服务器端负责管理数据库,处理数据更新及完成查询要求,运行存储过程。R数据库结构设计503、索引(存储结构)关系数据库系统中可以用静态或动态两种方式创建索引:静态索引指编程人员事先建立相应索引,在应用程序中打开它之后再对表操作。这种操作效率较高。动态索引指在程序中建立索引并使之成为主索引,这种方式较灵活,但在多用户共享并且录改操作比较频繁时会使处理速度变慢。R数据库结构设计51通常设计管理信息系统均采用模块化设计方法。模块指可以执行的,完成对数据维护、查询、统计计算等功能的应用程序文件。它们组合成树状结构,用户可以利用水平下拉菜单(见图7.3.1)选择某个模块并执行。R应用程序结构设计52R应用程序结构设计53树状结构是分层的,处于枝节点的模块一般负责数据通信、选择控制等操作,叶级模块具体进行数据维护、数据处理等操作。例如“系管理系统”第一级的模块有教师管理子系统、学生管理子系统、设备管理子系统、系办公系统、教学管理子系统、课程管理子系统、图书管理子系统等子系统级控制模块,还有系统管理、编辑、帮助、退出等栏目。R应用程序结构设计541.登录模块的设计整个系统常有一个登录程序模块,负责环境设置、系统初始化、引导登录与转入主控制模块。该模块的作用是提示用户输入用户名并回答口令,只有当回答正确后才允许程序继续往下运行,保证只有被授权进入的用户才能使用系统的程序。同时在登录模块中将记录用户名和其他用户信息,供程序查验权限时使用。R应用程序结构设计55R应用程序结构设计56R应用程序结构设计登录操作通常基于一个用户信息数据表,其字段常有如姓名、工号或代码、部门、相片、口令、职务、职称等内容,其中部门、职务、职称主要用在角色控制中,如果系统中无角色控制,可以无需这类信息。572.设计菜单程序数据库系统相对文件系统的一大优势是可以针对应用需要量身定做应用系统,其一大特点是可以对每一应用针对性地建立处理模块与引导程序,用户无需学习,只用鼠标
本文标题:数据库原理与技术程学先第二版第7章
链接地址:https://www.777doc.com/doc-4122497 .html