数据库讲稿演示第四章a.ppt_第1页
数据库讲稿演示第四章a.ppt_第2页
数据库讲稿演示第四章a.ppt_第3页
数据库讲稿演示第四章a.ppt_第4页
数据库讲稿演示第四章a.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统基础 1 数据库基础理论 石油大学 北京 计算机系朱瑛 数据库系统基础 2 第四章数据库设计 一 数据库设计概述二 需求分析三 概念结构设计四 逻辑结构设计五 物理设计与实施 数据库系统基础 3 4 1数据库设计概述 在数据库领域内 常把使用数据库的各类系统称为数据库应用系统 DBAS 数据库系统基础 4 一 数据库与信息系统信息系统 是提供信息 辅助人们对环境进行控制和决策的系统 数据库 是信息系统的核心 它把信息系统中大量的数据按一定的模型组织起来 提供存储 维护 检索数据的功能 使信息系统可以方便 及时 准确地从数据库中获得所需的信息 数据库系统基础 5 二 数据库设计的特点数据库建设是硬件和软件的结合 数据库应用系统的设计包括两部分 结构特性的设计和行为特性的设计 结构设计就是设计各级数据库模式 决定数据库系统的信息内容 行为设计它决定数据库系统的功能 是事务处理等应用程序的设计 数据库系统基础 6 图 4 1 结构设计和行为设计分离的数据库设计 现实世界 数据分析 功能分析 概念模型设计 功能模型 功能说明 逻辑数据库设计 事务设计 物理数据库设计 程序说明 子模式设计 应用程序设计 建立数据库 程序调试 数据库 程序运行 数据库系统基础 7 三 数据库设计步骤数据库系统设计和使用过程是将现实世界的数据经过人为的加工和计算机处理之后又为现实世界提供信息的过程 整个系统建设过程划分为前后相继的两个大阶段 每一阶段又各分为几个具体步骤 数据库系统的分析和设计阶段需求分析 概念结构设计 逻辑结构设计 数据库系统基础 8 物理结构设计 应用程序设计及调试 性能测试与确认 数据库系统实现和运行数据库实施 数据库运行 数据库维护 数据库重组 整个开发过程是一个不断返回修改 调整的迭代过程 如图4 2 数据库系统基础 9 数据库系统基础 10 4 2需求分析 系统的需求分析有经历下列步骤 调查研究当前系统的工作状况 即进行详细的用户调查 通过对调查内容的 分析 与 抽象 列出经过用户许可的目标系统需求 对上述需求进行 数据分析 和 功能分析 分别得出系统对数据和数据应用两方面的需求 数据库系统基础 11 用户需求主要包括以下三方面 信息需求 用户要从数据库获得的信息内容 信息需求定义了新系统应该提供的所有信息 应描述清楚系统中数据的性质及其联系 处理需求 即完成什么处理功能及处理方式 处理需求定义了新系统数据处理的操作 应描述操作执行的场合 频率 操作对数据的影响等等 安全性和完整性要求 在定义信息需求和处理需求的同时必须相应确定安全性 完整性约束 数据库系统基础 12 一 收集资料该阶段必须耐心细致地了解现行业务处理流程 对新系统的要求 收集全部数据资料 如报表 合同 档案 单据 计划等等 数据库系统基础 13 二 分析整理分析的过程是对所收集到的数据进行抽象的过程 抽象是对实际事物或事件的人为处理 抽取共同的本质特性 忽略细微末节 并用各种概念精确地加以描述 这些概念组成某种模型 数据库系统基础 14 三 数据流图在数据流图中 用命名的箭头表示数据流 用圆圈表示处理 用矩形或其它形状表示数据存储 数据库系统基础 15 报销单 审查 付款凭证 分录 图 4 3 数据流图示意 报销人 报销登记 数据库系统基础 16 四 数据字典数据元素的名称 同义词 性质 取值范围 提供者 来源 使用者 去向 控制权限 保密要求 使用频率 数据量 数据之间联系的语义说明 各个部门对数据的要求及数据处理要求 数据库系统基础 17 需求分析阶段的成果应形成文档资料 主要包括 各项业务的数据流程图DFD及有关说明 对各类数据描述的集合 即数据字典 DataDictionary DD 数据库系统基础 18 五 用户确认需求分析得到的DFD图集和数据字典中的内容必须返回始用户 并且用非专业术语与用户交流 在反馈时 设计者与用户一起检查与修改那些没有如实反映现实世界的错误或遗漏 修改DFD图 补充数据字典的过程可能需要反复多次 最终取得用户的认可 数据库系统基础 19 例 某汽车修理厂根据业务发展的需要 决定建立一个管理信息系统 以代替人工管理 目标系统取名为 汽车修理管理信息系统 QCXL MIS 通过用户调查 初步整理出以下的结果 当前系统工作状况5种单据 4种帐册和3种主要报表 数据库系统基础 20 当前系统单据一览表 表 4 1 编号 名 称 填 写 人 D1 D2 D3 D4 D5 修车登记单 汽车修理单 零件领用单 零件入库单 修车发票 送修人 修理派工员和修理工 修理工 仓库管理员 财务人员 数据库系统基础 21 表中D1由送修人填写 修理派工员据此开出修理单D2 分派给指定的修理工执行 如果在修理中需要更换零件 一律由修理工填写零件领用单D3向仓库领用 修理结束后 修理工将D2交回派工员 然后转财务部门结帐并开修车发票D5 D4在零件入库时由仓库管理员验收并且填写 数据库系统基础 22 当前系统帐册一览表 表 4 2 编号 名 称 建 帐 根 据 Z1 Z2 Z3 Z4 汽车登记册 修理工名册 汽车修理台帐 库存零件台帐 D1 人事部门资料 D2 D3 库房资料 数据库系统基础 23 当前系统报表一览表 表 4 3 编号 名 称 数据来源 B1 B2 B3 零件耗用月报表 修理工资月报表 零件订货计划 Z3 Z4 Z3 Z2 Z4 数据库系统基础 24 对目标系统的应用需求用数据文件代替现用的全部帐册 具有对各种数据文件装入和修改的功能 能计算修车费用和开发票 能找出需要订货的零件 编制并打印零件订货计划 按现行格式和内容编制和打印零件耗用月报表和修理工资月报表 有多种查询和统计功能 数据库系统基础 25 数据分析确定各个单项数据在目标系统中的名称 与4种帐册相关的数据 Z1 牌号 型号 生产厂 车主名 地址 电话 Z2 工号 姓名 小时工资 进厂日期 地址 电话 Z3 编号 牌号 项目 工号 修理小时 修理费 零件费 总计 零件号 数量 送修日期 完工日期 Z4 零件号 零件名 成本 价格 库存量 最低库存 订货量 数据库系统基础 26 与5种单据相关的数据 D1 牌号 型号 生产厂 项目 车主名 电话 地址 D2 编号 牌号 工号 项目 修理小时 零件号 数量 送修日期 完工日期 D3 编号 零件号 数量 D4 零件号 零件名 成本 数量 与3种报表相关的数据 B1 零件名 数量 价格 零件费 利润 B2 工号 姓名 修理小时 小时工资 月工资 B3 零件名 订货量 成本 总计 定义数据项的取值与类型 数据库系统基础 27 数据库系统基础 28 定义目标系统的数据流 数据库系统基础 29 功能分析登记功能 用于把各种手填单据中的数据及时登记到数据库文件中 开修车发票 根据修理单记载的修理小时和零件用量记载的耗用零件 按规定的算式计算出修理费和零件费 然后打印发票 打印报表 包括两种月报表 零件耗用和工资津贴 和一种季报表 零件订货 查询和统计 满足对数据库中各种数据的查询 统计和分析等需求 数据库系统基础 30 4 3概念结构设计 概念结构设计的目标是产生反映全组织信息需求的整体数据库概念结构 即概念模式 它必须独立于计算机的任何数据模型 不受特定的数据库管理系统的限制 不考虑计算机软硬件技术细节 方便与用户交流 数据库系统基础 31 描述概念结构的工具是E R图 用实体联系方法对具体数据进行抽象加工 将实体集合抽象成实体类型 用实体间联系的类型反映现实世界事物问的内在联系 概念结构设计又可分为局部视图设计和视图集成两个步骤 数据库系统基础 32 需求分析 数据流图 数据字典 征求 局部 E R 图 用户 意见 综合 E R 图 逻辑结构设计 图 4 17 概念结构设计步骤 数据抽象 局部视图设计 视图集成 数据库系统基础 33 E R方法的基本步骤包括 设计局部E R图 综合成初步E R图 优化成基本E R图 数据库系统基础 34 一 基本E R模型的扩充实体子类 所谓子类是指实体中有一定共同特点的子集 如 学生实体中包含本科生 研究生 大专生三个子类 相对于子类而言 学生实体可以称为超类 例 将图中的 工人 实体分为 操作工 和 保养工 两个子类 把两个实体间的多个联系转换成实体与子类之间的单一联系 数据库系统基础 35 保养 使用 保养工 操作 保养 职工 设备 职工 设备 使用 数据库系统基础 36 二 设计局部E R图一个应用的局部E R图反映出具体应用的视图 首先 根据需求分析阶段产生的各个部门的数据流图和数据字典中相关数据 设计出各项应用的局部E R图 确定实体和属性确定联系类型画出局部E R图 数据库系统基础 37 修 理 小时 牌号 车主名 地址 工号 工资 零件号 使用 项目 价格 编号 牌号 工号 修理小时 零件号 零件用量 图 5 19 开修车发票 局部 E R 图 修理工 汽车 修理单 零件 数据库系统基础 38 三 综合成初步E R图局部视图设计完成之后 下一步是视图集成 视图集成又包括综合和优化两个步骤 局部E R图的合并 先考查同名实体类型 再考查具有相同关键字的实体类型 消除冲突 由于局部E R图是各部门局部应用的反映 各个局部E R图之间难免出现不一致的地方 称之为冲突 一般有三种类型的冲突 数据库系统基础 39 属性冲突 如属性域的冲突和属性取值精度或单位的冲突等 命名冲突 包括属性名 实体名 联系名之间的同名异义或者异名同义问题 结构冲突 同一个对象在不同的局部E R图中有不同的表示 前两种冲突可以通过讨论协商等行政手段来解决 统一规定基本数据的名称与性质 为了消除结构冲突 具体调整手段可以考虑以下几种 数据库系统基础 40 对同一个实体的属性取各个分E R图相同实体属性的并集 根据综合应用的需要 把属性转变为实体 或者把实体变为属性 实体联系要根据应用语义进行综合调整 数据库系统基础 41 工号 姓名 地址 电话 牌号 型号 生产厂 修理 出生 进厂 小时 车主名 地址 电话 日期 日期 工资 零件费 送修日期 修理小时 最低库存 库存量 完工日期 使用 订货量 修理费 工号 成本 总计 编号 项目 牌号 数量 价格 零件名 零件号 图 5 20 初始的总体 E R 模型 修理工 汽车 修理单 零件 数据库系统基础 42 四 初步E R图的优化初步E R是在对现实世界进行调查研究之后综合出来的全局和整体概念模式 但并不一定是最优的 要经过仔细分析找出潜在的数据冗余 再根据应用需求确定是否消除 消除冗余属性 在各个局部E R图中不应该有冗余属性存在 但是将它们综合成全局E R图之后 则可能出现冗余 数据库系统基础 43 例 删去修理单中的3个属性 零件费 修理费 和 总计 因为这3个属性数据均可以从其它数据计算得到 另外 将实体 汽车 分解为 汽车 和 车主 两个实体 因为汽车的属性集中实际上已含有汽车与车主两个方面的信息 如果一个车主送修了多辆汽车 则车主名及其地址与电话就会多次重复存储 造成数据冗余 分开后的两个实体是 汽车 牌号 型号 生产厂 车主 车主名 地址 电话 消除冗余联系 冗余的联系是指通过其它实体问的联系可以推导出来的间接联系 数据库系统基础 44 工号 姓名 地址 电话 生产厂 修理 出生 进厂 小时 车主名 型号 日期 日期 工资 送修日期 修理小时 最低库存 库存量 完工日期 使用 订货量 工号 成本 编号 项目 牌号 数量 价格 零件名 零件号 4 21汽车修理管理信息系统概念模型 修理工 汽车 修理单 零件 车主 牌号 地址 电话 图 数据库系统基础 45 4 4逻辑结构设计 数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据模型的过程 从E R图所示的概念模型可以转换成任何一种具体DBMS所支持的数据模型 如网状模型 层次模型 关系模型 面向对象模型 这里仅讨论关系数据库逻辑设计问题 即讨论如何把经过优化的综合E R图转换成为关系模型 数据库系统基础 46 关系数据库逻辑设计的结果是一组关系模式的定义 逻辑设计过程可分为如图4 22所示的具体步骤 即 初始关系模式设计 规范化处理 模式评价与修正 数据库系统基础 47 处理需求 是 是否修正 否 进入物理数据阶段 图 4 22 关系数据库逻辑设计 从 E R 图导出初始数据库模式 关系模式规范化 模式评价 以 DBMS 语法描述 模式修正 E R模型 DBMS特性 数据库系统基础 48 一 初始关系模式设计转换原则如下 一个实体转换为一个关系模式 实体的属性就是关系的属性 实体的关键字就是关系的关键字 一个1 1的联系转换为一个关系 每个实体的关键字都是关系的候选关键字 一个1 n的联系转换为一个关系 多方实体的关键字是关系的关键字 数据库系统基础 49 一个n m的联系转换为一个关系 联系中各实体关键字的组合组成关系的关键字 组合关键字 具有相同关键字的关系可以合并 例 将汽车修理管理信息系统E R图转换成一组初始关系模式 1 把每一实体转换为一个关系实体 修理工对应的关系 修理工 工号 姓名 地址 电话 出生年月 进厂日期 小时工资 数据库系统基础 50 实体 汽车对应关系 汽车 牌号 型号 生产厂 实体 修理单对应关系 修理单 编号 牌号 工号 项目 修理小时 送修日期 完工日期 实体 零件对应关系 零件库存表 零件号 零件名 成本 价格 库存量 最小库存 订货量 实体 车主对应关系 车主 车主名 地址 电话 2 把每一联系转换为关系 数据库系统基础 51 联系 使用所联系的实体及关键字 修理单 关键字是 编号 零件库存表 关键字是 零件号 对应关系 零件用量表 编号 零件号 数量 联系 属于所联系的实体及关键字 汽车 关键字是 牌号 车主 关键字是 车主名 对应关系 汽车归属表 车主名 牌号 联系 修理所联系的实体及关键字 修理单 关键字是 编号 汽车 关键字是 牌号 修理工 关键字是 工号 对应关系 修理 编号 牌号 工号 项目 修理小时 送修日期 完工日期 数据库系统基础 52 3 改进转换结果修理工 工号 姓名 地址 电话 出生年月 进厂日期 小时工资 修理单 编号 牌号 工号 项目 修理小时 送修日期 完工日期 汽车 牌号 型号 生产厂 车主名 车主 车主名 地址 电话 零件库存表 零件号 零件名 成本 价格 库存量 最小库存 订货量 零件用量表 编号 零件号 数量 数据库系统基础 53 二 规范化处理在这一步将对数据库的初始逻辑模型进行规范化处理 首先要确定规范化的级别 即要求所有的关系模式都达到第几范式 由于函数依赖是现实环境中最重要的 最大量的数据依赖 一般提出3NF或BCNF的要求就足够了 规

温馨提示

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

评论

0/150

提交评论