数据库设计概述与需求分析
e 数据库设计概述与需求分析事务处理是计算机应用的主要领域。各种信息系统,如管理信 息系统(MIS)、决策支持系统(DSS)、办公室自动化系统(OAS) 以及计算机集成生产系统等的发展,使数据库成为数据的核心 存储形式。设计一个在整体性、完整性和共享性方面性能良好 的数据库,是这些应用系统取得成功的必要条件。 数据库设计是指对特定的应用环境,提供一个反映最优数据模 型与处理模式的逻辑设计,以及一个反映合理存储结构与存取 方法的物理设计,使用某个DBMS建立起能反映客观信息及其 联系、满足用户要求的数据库。 数据库设计有两种方法。一种是以处理需求为主,兼顾信息需 求,称为面向过程的方法;另一种是以信息需求为主,兼顾处 理需求,称为面向数据的方法。前者在过去使用较多,后者在 现在使用较多。原因是近年大型系统的特点是数据结构复杂而 处理流程相对简单。本章的设计主导思想即基于后者方法。 第一节 数据库设计概述 第二节 需求分析
数据库设计概述与需求分析
e1第一节 数据库设计概述 性能良好的数据库是应用系统成功的基础和保证。但一 个性能良好的数据库的设计和开发却是一项庞大而复杂 的工程。从事数据库设计的人员,不仅要具备数据库知 识和数据库设计技术,还要有系统开发的实际经验。数 据库设计人员必须深入实际环境,密切联系用户,了解 需求,学习业务,这样可以少走弯路,提高设计的成效。 一. 数据库设计问题 二. 数据库的生命周期 三. 数据库设计过程
数据库设计概述与需求分析
e11一.数据库设计问题 基本问题:为应用领域给出优化的数据库逻辑结构和物理结构, 使之满足用户的信息管理要求和数据操作要求, 支持应用系统的开发和运行。 设计目标:为用户和应用系统提供高效率的运行环境。 效率是指数据库的存取效率和存储空间的利用率。 约束条件 1 计算机软硬件环境 2 数据库管理系统的能力 3 用户操作要求和信息要求 4 完整性和安全性约束 目标函数: 设Fi和cost(Ti)分别是事务Ti的运行频度与时间开销, 则数据库模式S的时间复杂性为 Tcost(S)=∑Ficost(Ti) 设空间复杂性为Scost(S),则数据库模式S运行成本为 PT Tcost(T)+ PS Scost(S) 其中PT和PS分别为时间和空间的运行开销单价 数据库设计问题: 在给定约束下求解一个数据库模式S使运行成本最小化.
数据库设计概述与需求分析
e12 二 数据库的生命周期需求分析和概念设计 独立于DBMS,逻辑设 计和物理设计与具体 的DBMS密切相关. 修改与调整 实 现 和 操 作 阶 段
数据库的生命周期模型是观察数据库演变过程的重要工具. 数据库的生命周期各阶段的工作如下图:调查分析,定义信息与应用, 定义DB操作,数据字典
预测应用的改变 分 析 和 设 计 阶 段 概念 设计 用各种图表工具 准确描述应用领域 的信息模式, 支持用户各种事务 满足安全性和完整性 确定关系的规范形式 在逻辑级上高效支持 数据库事务的运行
需求 分析
操作与监督
数据库的实现 物理 设计
逻辑 设计
数据在外存的组织方式和访问方法 物理级高效支持数据库事务运行
数据库设计概述与需求分析
.数据库设计 数据库的设计 图 设计的 需求分析 概 念设计 DBMS 设计 与具 设计 的DBMS 调查分析 定义信息与应用 定义DB操作 需求分析 数据字典 需求分析说明书 预测应用的改变 现实世界 概念数据库设计 用各种图表工具 准确描述应用领域 概念数据库模式 的信息模式, 用 各种 确定DBMS 数据库设计
e13需 求 定 义 概 念 模 式 逻 辑 式 式 物 理 模 式 模
数据库模式 数据库设计 数据库模式
确定 数据
的 的
数据库设计概述与需求分析
e2 第二节 需求分析
需求分析是数据库设计的基础,其错误将影响到整个设计。需 求分析也是令设计人员感到最繁琐和困难的一个阶段。 任务:调查应用领域,对各种应用的信息要求和操作要求, 进行详细分析,形成需求分析说明书 目标:给出应用领域中 (1)数据项与数据项之间的关系 (2)数据操作任务的详细定义,为后续设计作准备。 步骤:五个步骤见下图
调查:组织结构业务职能; 1.对应用领域的调查分析 分析:定义信息和应用, 用数据流图描述现系统逻辑模型 2.定义数据库系统支持的信息和应用 从数据流程图 产生应用定义表和信息定义表 3.定义数据库操作任务 从应用定义表和信息定义表产生DBIPO图
4.定义数据项
从DBIPO图和信息模型产生数据字典
5.预测应用领域未来改变 提高新系统对环境的适应性,降低维护成本.
数据库设计概述与需求分析
e21
步骤1:应用领域的调查分析 调查阶段:调查应用领域的组织结构、业务流程和数据流程。 1.调查应用领域的组织结构和各职能部门的相互关系。 2.反复专访座谈了解各部门的职能、业务过程、方法和信息。 3.通过专访座谈了解各部门之间在应用和信息上的依赖关系。 分析阶段:对应用领域进行分析并抽象出逻辑模型。 1.根据第一阶段的结果进行分析,抽象出应用领域中流动信息 (信源和信宿)、存储信息、各种应用的定义以及他们间的联系; 2.用数据流图描述现行系统的逻辑模型,即信息流动和加工处 理等详细情况。独立于系统的实现.下边是数据流图的示例。 数据的源 点或终点 数据处理应用 需存储 流动数据 的数据 数据流图使用的符号 仓 库 管 理 员 库存清单 产生 库存 报表清单
采 购 员
处理 定货 定货信息 事务 信息 数据流图一个示例
数据库设计概述与需求分析
e22步骤2:定义数据库系统支持的信息和应用
考察原有系统的数据流图,哪些应用和信息应收进系统开发范 围,并对其定义,形成 应用定义表:应用的编号、名称、功能,IO信息; 信息定义表:信息的编号、名称、内容、来源和去向 应用定义表 应用功能定义 输入信息
编号 应用名称
输出信息
信息定义表 编号 信息集名 内容定义 产生此集的应用 使用该集的应用
数据库设计概述与需求分析
e23
数据库操 数据库操 步骤3:定义数据库操作任务 作任务1 作任务2 操作任务是指应用某个相对独立的事务。 数据库应用1 数据库操作任务与应用是多对多的关系。 从应用定义中划分数据库操作任务的规则: 数据库操 数据库操 1.它是某个数据库应用的组成部分; 作任务2 作任务3 2.它是一个独立的计算机执行单位; 数据库应用2 3.它的每个数据库操作具有原子性,即 当任务成功完成时,各操作对数据库的影响同时存在; 否则,各操作对数据库的影响必须全部撤消。 即:数据库操作任务要么完全成功,要么恢复数据库为原态; 4.它有明确的输入输出数据项(原子数据项)定义 数据库操作任务的定义可采用DBIPO图,下边是DBIPO图的示例 操作任务名:__ 编号:__ 所属应用号:__ 功能:__ 输入数据项:__ 输出数据项:__ 数据库操作定义:_________________________ 使用频率__ 操作记录数__ 响应时间__ 注释__ DBIPO图的示例
数据库设计概述与需求分析
e24
步骤4:定义数据项 数据项定义是以数据库操作任 务定义为基础,步骤如下: 1.从DBIPO提取原子数据项; 2.把有联系者撮合为组, 以组为单位定义数据项, 组内的原子数据项称为属性;数据项组名: 特征 属性名1属性名2属性名3 3.根据用户和实际领域的信 编号: 编号: 编号: 息模型补充其它数据项; 4.写出数据项如下的描述信息:类型 宽度 语义定义:名字和实际意义; 完整性约束:数据的类型、 小数位 宽度、小数位、值约束和空 单位 值约束 值约束等; 5.把各数据项的描述信息按右 允许空值 值个数 表格式组成数据字典。
数据库设计概述与需求分析
e25步骤5:预测现行系统的未来改变 提供预测信息作为数据库设计的参考, 是为了提高新系统对环境发展的适应性和降低维护成本。 例如大学教务管理系统中的排课应用子系统, 可以提出这样的预测: 将来可能需要在每天中午时段和周末假日排课。 通过与用户共同讨论,在以下方面形成预测信息: 1.应用领域中已有的信息,而未被数据库系统使用; 2.实际领域中各种应用功能可能的扩充、较少和改变; 3.上述改变对数据库支持的信息和应用带来的影响。 讨论清楚后,形成现行系统的未来改变预测说明书。