10-数据库设计-需求分析.ppt_第1页
10-数据库设计-需求分析.ppt_第2页
10-数据库设计-需求分析.ppt_第3页
10-数据库设计-需求分析.ppt_第4页
10-数据库设计-需求分析.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6部分数据库设计 6 1数据库设计概述6 2系统需求分析6 3概念结构设计6 4逻辑结构设计6 5数据库物理设计6 6数据库实施6 7数据库运行和维护 6 1 1数据库设计的任务 内容和特点6 1 1 1数据库设计的任务数据库设计是指根据用户需求研制数据库结构的过程 具体地说 是指对于一个给定的应用环境 构造最优的数据库模式 建立数据库及其应用系统 使之能有效的存储数据 满足用户的信息要求和处理要求 也就是把现实世界中的数据 根据各种应用处理的要求 加以合理地组织 满足硬件和操作系统的特性 利用已有的DBMS来建立能够实现系统目标的数据库 6 1数据库设计概述 数据库设计的任务如下图所示 数据库设计 信息需求 处理需求 信息需求 典型应用程序 DBM特性 硬件和操作系统特性 数据库设计的任务 数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容 1 数据库的结构设计数据库的结构设计是指根据给定的应用环境 进行数据库的模式的设计 它包括数据库的概念设计 逻辑设计和物理设计 数据库模式是各应用程序共享的结构 是静态的 稳定的 一经形成后通常情况下是不容易改变的 所以结构设计又称为静态模型设计 6 1 1 2数据库设计的内容 2 数据库的行为设计数据库的行为设计是指确定数据库用户的行为和动作 而在数据库系统中 用户的行为和动作指用户对数据库的操作 这些要通过应用程序来实现 所以数据库的行为设计就是应用程序的设计 用户的行为总是使数据库的内容发生变化 所以行为设计是动态的 行为设计又称为动态模型设计 6 1 1 2数据库设计的内容 6 1 1 3数据库设计的特点 在70年代末80年代初 人们为了研究数据库设计方法学的便利 曾主张将结构设计和行为设计两者分离 随着数据库设计方法学的成熟和结构化分析 设计方法的普遍使用 人们主张将两者作一体化的考虑 这样可以缩短数据库的设计周期 提高数据库的设计效率 现代数据库的设计的特点是强调结构设计与行为设计相结合 是一种 反复探寻 逐步求精 的过程 首先从数据模型开始设计 以数据模型为核心进行展开 数据库设计和应用系统设计相结合 建立一个完整 独立 共享 冗余小 安全有效的数据库系统 6 1 1 3数据库设计的特点 数据库设计的全过程 6 1 2数据库设计方法简述 数据库设计方法主要有直观设计法和规范设计法直观设计法也叫手工试凑法 它是最早使用的数据库设计方法 这种方法依赖于设计者的经验和技巧 缺乏科学理论和工程原则的支持 设计的质量很难保证 常常是数据库运行一段时间后又发现各种问题 这样再重新进行修改 增加了系统维护的代价 因此这种方法越来越不适应信息管理发展的需要 为了改变这种情况 1978年10月 来自三十多个国家的数据库专家在美国新奥尔良 NewOrleans 市专门讨论了数据库设计问题 他们运用软件工程的思想和方法 提出了数据库设计的规范 这就是著名的新奥尔良法 它是目前公认的比较完整和权威的一种规范设计法 新奥尔良法将数据库设计分成需求分析 分析用户需求 概念设计 信息分析和定义 逻辑设计 设计实现 和物理设计 物理数据库设计 目前 常用的规范设计方法大多起源于新奥尔良法 并在设计的每一阶段采用一些辅助方法来具体实现 下面简单介绍几种常用的规范设计方法 6 1 2数据库设计方法简述 1 基于E R模型的数据库设计方法基于E R模型的数据库设计方法是由陈品山于1976年提出的数据库设计方法 其基本思想是在需求分析的基础上 用E R 实体 联系 图构造一个反映现实世界实体之间联系的企业模式 然后再将此企业模式转换成基于某一特定的DBMS的概念模式 6 1 2数据库设计方法简述 2 基于3NF的数据库设计方法基于3NF的数据库设计方法是由S Atre提出的结构化设计方法 其基本思想是在需求分析的基础上 确定数据库模式中的全部属性和属性间的依赖关系 将它们组织在一个单一的关系模式中 然后再分析模式中不符合3NF的约束条件 将其进行投影分解 规范成若干个3NF关系模式的集合 其具体设计步骤分为五个阶段 6 1 2数据库设计方法简述 基于3NF的数据库设计方法 1 设计企业模式 利用规范化得到的3NF关系模式画出企业模式 2 设计数据库的概念模式 把企业模式转换成DBMS所能接受的概念模式 并根据概念模式导出各个应用的外模式 3 设计数据库的物理模式 存储模式 4 对物理模式进行评价 5 实现数据库 3 基于视图的数据库设计方法 此方法先从分析各个应用的数据着手 其基本思想是为每个应用建立自己的视图 然后再把这些视图汇总起来合并成整个数据库的概念模式 合并过程中要解决以下问题 1 消除命名冲突 2 消除冗余的实体和联系 3 进行模式重构 在消除了命名冲突和冗余后 需要对整个汇总模式进行调整 使其满足全部完整性约束条件 6 1 3数据库设计的步骤 和其他软件一样 数据库的设计过程可以使用软件工程中的生存周期的概念来说明 称为 数据库设计的生存期 它是指从数据库研制到不再使用它的整个时期 按规范设计法可将数据库设计分为六个阶段 1 系统需求分析阶段 2 概念结构设计阶段 3 逻辑结构设计阶段 4 物理设计阶段 5 数据库实施阶段 6 数据库运行与维护阶段 该方法是分阶段完成的 每完成一个阶段 都要进行设计分析 评价一些重要的设计指标 把设计阶段产生的文档组织评审 与用户进行交流 如果设计的数据库不符合要求则进行修改 这种分析和修改可能要重复若干次 以求最后实现的数据库能够比较精确地模拟现实世界 能较准确地反映用户的需求 设计一个完善的数据库应用系统往往是六个阶段的不断反复的过程 数据库设计中 前两个阶段是面向用户的应用要求 面向具体的问题 中间两个阶段是面向数据库管理系统 最后两个阶段是面向具体的实现方法 前四个阶段可统称为 分析和设计阶段 后两个阶段称为 实现和运行阶段 六个阶段的主要工作各有不同 1 系统需求分析阶段需求分析是整个数据库设计过程的基础 要收集数据库所有用户的信息内容和处理要求 并加以规格化和分析 这是最费时 最复杂的一步 但也是最重要的一步 相当于待构建的数据库大厦的地基 它决定了以后各步设计的速度与质量 需求分析做得不好 可能会导致整个数据库设计返工重做 在分析用户需求时 要确保用户目标的一致性 2 概念结构设计阶段概念设计是把用户的信息要求统一到一个整体逻辑结构中 此结构能够表达用户的要求 是一个独立于任何DBMS软件和硬件的概念模型 3 逻辑结构设计阶段逻辑设计是将上一步所得到的概念模型转换为某个DBMS所支持的数据模型 并对其进行优化 4 物理设计阶段物理设计是为逻辑数据模型建立一个完整的能实现的数据库结构 包括存储结构和存取方法 上述分析和设计阶段是很重要的 如果做出不恰当的分析或设计 则会导致一个不恰当或反应迟钝的应用系统 5 数据库实施阶段根据物理设计的结果把原始数据装入数据库 建立一个具体的数据库并编写和调试相应的应用程序 应用程序的开发目标是开发一个可依赖的有效的数据库存取程序 来满足用户的处理要求 6 数据库运行与维护阶段这一阶段主要是收集和记录实际系统运行的数据 数据库运行的记录用来提高用户要求的有效信息 用来评价数据库系统的性能 进一步调整和修改数据库 在运行中 必须保持数据库的完整性 并能有效地处理数据库故障和进行数据库恢复 在运行和维护阶段 可能要对数据库结构进行修改或扩充 可以看出 以上六个阶段是从数据库应用系统设计和开发的全过程来考察数据库设计的问题 因此 它既是数据库也是应用系统的设计过程 在设计过程中 努力使数据库设计和系统其他部分的设计紧密结合 把数据和处理的需求收集 分析 抽象 设计和实现在各个阶段同时进行 相互参照 相互补充 以完善两方面的设计 按照这个原则 数据库过程各个阶段的设计可用下图描述 在上图有关处理特性的描述中 采用的设计方法和工具属于软件工程和管理信息系统等课程中的内容 本书不再讨论 这里重点介绍数据特性的设计描述以及在结构特性中参照处理特性设计以完善数据模型设计的问题 数据库的设计步骤 数据库各个设计阶段的描述 6 2需求分析 需求分析就是分析用户的需要与要求需求分析是设计数据库的起点需求分析的结果是否准确地反映了用户的实际要求 将直接影响到后面各个阶段的设计 并影响到设计结果是否合理和实用 需求分析重点与难点 需求分析的重点是调查 收集与分析用户在数据管理中的信息要求 处理要求 安全性与完整性要求 信息要求用户需要从数据库中获得信息的内容与性质由用户的信息要求可以导出数据要求 即在数据库中需要存储哪些数据 需求分析重点与难点 处理要求对处理功能的要求对处理的响应时间的要求对处理方式的要求 批处理 联机处理 新系统的功能必须能够满足用户的信息要求 处理要求 安全性与完整性要求 需求分析重点与难点 确定用户最终需求的难点用户缺少计算机知识 开始时无法确定计算机究竟能为自己做什么 不能做什么 因此无法一下子准确地表达自己的需求 他们所提出的需求往往不断地变化 设计人员缺少用户的专业知识 不易理解用户的真正需求 甚至误解用户的需求 新的硬件 软件技术的出现也会使用户需求发生变化 需求分析重点与难点 解决方法设计人员必须采用有效的方法 与用户不断深入地进行交流 才能逐步得以确定用户的实际需求也可根据粗糙的需求快速给出原型 使得用户可依据此原型整理出改进意见 从而确定实际需求 需求分析过程 需求获取需求分析与表达 需求获取 与客户交流询问 跟班调查 查阅单据 开调研会 请领域专家座谈等形成需求文档描述组织机构 部门与岗位职责 部门业务活动等重点关注信息要求 处理要求和完全性与完整性要求确定系统边界 需求分析与表达 分析和表达用户的需求的常用方法自顶向下的结构化分析方法 StructuredAnalysis 简称SA方法 面向对象的分析方法SA方法从最上层的系统组织机构入手 采用逐层分解的方式分析系统 并用数据流图和数据字典描述系统 需求分析的方法 数据流图 数据流图 DataFlowDiagram 是从实际系统抽象出来的 用特定的符号反映系统的数据传递和变换过程的图 它是系统的逻辑模型 与实际系统中具体的处理人员 处理工具和处理方式等无关 只反映数据处理和传送的过程和方向 数据流图的成分 数据流 沿箭头方向传递数据的通道 描述数据的流向 处理 对流入的数据进行的操作 数据流图的核心 数据存储 与处理有关的数据集合 实体 描述数据流的起点和终点 数据流图的画法 自顶向下 逐步求精的方法顶层图 描述系统的范围和边界底层图 描述一个简单的独立功能中间图 描述上一层的某个处理 分解成几个独立的功能由外向里的原则 在绘制顶层图时先考虑整个系统的输入和输出数据流 然后再考虑系统内部的其他元素 注意事项 恰当地命名 处理框编号 数据流图绘制过程 1 首先把任何一个系统都抽象为 数据流图细化过程 2 分解处理功能和数据 1 分解处理功能将处理功能的具体内容分解为若干子功能 再将每个子功能继续分解 直到把系统的工作过程表达清楚为止 2 分解数据在处理功能逐步分解的同时 其所用的数据也逐级分解 形成若干层次的数据流图数据流图表达了数据和处理过程的关系 数据流图细化过程 3 表达方法处理过程 用判定表或判定树来描述数据 用数据字典来描述3 将分析结果再次提交给用户 征得用户的认可 数据流图实例 例 某学校排课业务流程调研如下 1 教务科根据各专业教学计划统计出各班级下学期所开课程情况 并将该表交各专业教研室主任 2 各教研室主任为本室教师安排课程 每位教师写出自己的上课要求 一并交教务科 3 教务科安排排课人员排课 4 将班级课表交班主任 教师课表交任课教师和督导室 5 各班课表和教师课表都要留一份存档 排课业务第一层DFD图 教学计划 教师课表 排课时间要求 教师课表 各班课表 教务科 任课教师 任课教师 督导室 班主任 教师课表 各班课表 安排课程 排课业务第二层DFD图 教学计划 各班课程安排 分配表教师任务 教师课表 各班课表 各班课表 教师课表 时间要求 确定下学期各班课程 排课 各教研室主任 教师课表 各班课表 教务科 任课教师 督导室 班主任 售书系统DFD 顶层 领书单进书通知 购书单缺书单 售书系统DFD 1层 领书单进书通知 进书通知 购书单缺书单 F1教材存量表 F2缺书登记表 销售记录 销售记录 采购记录 采购记录 数据字典 数据字典 DataDictionary 是各类数据描述的集合数据字典是进行详细的数据收集和数据分析所获得的主要结果数据字典在数据库设计中占有很重要的地位 数据字典 数据字典中有五类条目 数据项数据流数据存储处理过程数据结构数据项是数据的最小组成单位若干个数据项可以组成一个数据结构数据字典通过对数据项和数据结构的定义来描述数据流 数据存储的逻辑内容 数据字典中常用的符号 表示 与 表示 或 即选择括号中的某一项 表示 重复 即括号中的项要重复若干次 表示 可选 即括号中的项可有可无 数据项 数据项是不可再分的数据单位对数据项的描述数据项描述 数据项名 数据项含义说明 别名 数据类型 长度 取值范围 取值含义 与其他数据项的逻辑关系 取值范围 与其他数据项的逻辑关系定义了数据的完整性约束条件 数据项 数据项名称 CourseName说明 课程的名称别名 课程名数据类型 String数据长度 30 数据结构 数据结构反映了数据之间的组合关系 一个数据结构可以由若干个数据项组成 也可以由若干个数据结构组成 或由若干个数据项和数据结构混合组成 对数据结构的描述数据结构描述 数据结构名 含义说明 组成 数据项或数据结构 数据结构 数据结构名称 教师课表说明 记录教师上课时间组成 教师名称 课程名称 周次 星期几 时间 数据流 数据流是数据结构在系统内传输的路径 对数据流的描述数据流描述 数据流名 说明 数据流来源 数据流去向 组成 数据结构 平均流量 高峰期流量 数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间 每天 每周 每月等 里的传输次数高峰期流量则是指在高峰时期的数据流量 数据流 数据流名称 教师课表说明 下学期教师上课时间表数据流来源 排课数据流去向 任课教师 督导室 D1教师课表数据流组成 教师姓名 课程名 星期 节次 数据流的流通量 300份 学期 数据存储 数据存储是数据结构停留或保存的地方 也是数据流的来源和去向之一 对数据存储的描述数据存储描述 数据存储名 说明 编号 流入的数据流 流出的数据流 组成 数据结构 数据量 存取方式 流入的数据流 指出数据来源流出的数据流 指出数据去向数据量 每次存取多少数据 每天 或每小时 每周等 存取几次等信息存取方法 批处理 联机处理 检索 更新 顺序检索 随机检索 处理过程 处理过程的具体处理逻辑一般用判定表或判定树来描述 数据字典中只需要描述处理过程的说明性信息处理过程说明性信息的描述处理过程描述 处理过程名 说明 输入 数据流 输出 数据流 处理 简要说明 处理过程 续 简要说明 主要说明该处理过程的功能及处理要求功能 该处理过程用来做什么处理要求 处理频度要求 如单位时间里处理多少事务 多少数据量 响应时间要求等处理要求是后面物理设计的输入及性能评价的标准 数据字典例子 例 学生学籍管理子系统的数据字典 数据项 以 学号 为例 数据项 学号含义说明 唯一标识每个学生别名 学生编号类型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论