




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 1 2 数据库应用系统关系数据库基本概念 1 2 1 数据库应用系统组成 1 2 3 系统功能的规范化设计 1 2 2 数据库的规范化设计 2 1 2 1数据库应用系统组成 在计算机及其相关网络硬件的支持下 利用数据库管理系统 DBMS 具备的各项功能 我们可以构建符合实际应用需求的数据库 然后 利用数据库管理系统 DBMS 提供的二次开发功能 或使用某一种数据库应用前端开发工具 我们可以编制满足应用需求的应用程序 一个数据库应用系统的组成 包括必要的计算机及其网络硬件 一个合适的数据库管理系统 DBMS 相应的数据及其基本操作集合 数据库 以及一组满足需求的应用程序 3 关于计算机存储容量的计算 必须在考虑数据库管理系统本身所需要的存储及运行空间 应用程序所需要占用的存储及运行空间之外 充分估算数据库数据所需要占用的存储空间 必须保证计算机系统能够保证具有足够的存储容量以支持数据库应用系统的运行需求 关于计算机的运行速度 必须充分考虑数据库应用系统的最大并发任务数 以及每一个任务所能容忍的最大时延 所谓并发任务是指同时有多个用户使用数据库所发生的操作 而所能容忍的最大时延则是指当某一个用户发出数据库操作指令后 所能容忍的等待时间 在进行计算机硬件配置时 应该保证其运行速度足够快 才能够满足数据库应用系统用户的操作需求 4 在数据库应用系统中 数据库是应用系统的基础和核心 因此 合理地设计数据库是数据库应用系统设计的关键 首先 必须在满足应用需求的基础上建立能够正确反映应用事务的数据库模型 这个数据库模型由若干数据实体构成 然后考察各个数据实体之间的关联 此时 必需对数据库模型进行规划化处理 规范化的目的是为了减少冗余数据 提供有效的数据检索方法 避免不合理的插入 删除 修改等数据操作 保持数据一致性 在关系数据库理论中 一个数据库可以有三种不同的规范化形式 1 2 2数据库的规范化设计 5 三种不同的规范化形式 1 第一规范化形式 2 第二规范化形式 3 第三规范化形式 6 1 第一规范化形式 第一规范化形式是指在一个关系 数据表 中没有重复出现的数据组项 即 一个满足第一规范化形式的关系中的每一个属性 字段 都是不可分的数据项 第一规范化形式简称为一范式或1NF 在关系数据库中 任何一个数据表都必然是一个满足1NF的关系 7 2 第二规范化形式 如果在一个满足1NF的关系中 所有非关键字数据元素都完全依赖于关键字 即 如果给定一个关键字 则可以在这个数据表中唯一确定一条记录 则称这个关系满足第二规范化形式 简称二范式或2NF 在数据库应用系统中如果存在不满足2NF的数据表 则将导致数据插入或删除的异常 同时会使得在修改数据时 操作会显得很复杂 稍有不慎则将导致数据的不一致性 8 3 第三规范化形式 如果数据库设计不完善 就会在一些满足2NF的关系中存在某些数据项间接依赖于关键字的情况 我们称这种依赖为 传递依赖 对于那些满足2NF的关系 且其中不存在传递依赖的数据项 则称这个关系满足第三规范化形式 简称三范式或3NF 一个满足3NF的数据库将有效地减少数据冗余 通过对数据库的三种规范化形式的讨论 可以得出这样的结论 数据库的规范化设计应该保证数据库中的所有数据表都能满足2NF 并应力求绝大多数数据表满足3NF 让我们来观察电脑耗材商品进销存管理信息系统中的数据库规范化设计过程 在这个实际应用中 所需要处理的数据可以表1 8描述 9 表1 8 电脑耗材供销管理综合数据表 10 显然 电脑耗材供销管理综合数据表 是一个不满足1NF的数据表 根本就不是一个关系 为了使其形成可以作为关系数据库中的数据表 必须进行数据表的规范化处理 其方法是处理表头使其成为只具有一行表头标题的数据表 如表1 9所示 表1 9所示的数据表即为满足1NF的数据表 11 表1 9处理成为1NF的电脑耗材供销管理综合数据表 12 分析表1 9所示的 处理成为1NF的电脑耗材供销管理综合数据表 可以看到其中没有哪一个数据项能够唯一标识一个数据元组 即表中不存在一个关键字段 因此它不是一个满足2NF的数据表 为此 还须对其进行进一步的规范化处理 使其成为满足2NF的数据表 其处理方法是将其分解为两个数据表 如表1 10和表1 11所示 表1 10和表1 11所示的数据表即为满足2NF的数据表 其中 满足2NF的进货数据记录表 的关键字段为 货号 销售数据记录表 的关键字段为 销售序列号 13 表1 10满足2NF的进货数据记录表 14 表1 11销售数据记录表 15 尽管满足2NF的数据表可以正常应用于关系数据库应用系统 但为了进一步减少数据冗余 还应该对数据表作进一步的规范化处理 例如 在表1 10所示的 满足2NF的进货数据记录表 中 供货人隶属于供货商 他的姓名是通过 供货商 字段传递依赖于 货号 字段的 因此 满足2NF的进货数据记录表 不满足3NF 为了将 满足2NF的进货数据记录表 规范处理成为满足3NF的数据表 可以将 满足2NF的进货数据记录表 拆分为 进货数据记录表 和 供货商名单 如表1 12和1 13所示 16 表1 12进货数据记录表 表1 13供货商名单 17 至此 电脑耗材供销管理综合数据表 经过规范化处理后形成的三个数据表 进货数据记录表 销售数据记录表 供货商名单 均为满足3NF的数据表 由此规范化处理过程可见 数据表的规范化设计过程就是逐步地分析处理原有的人工信息处理表格 首先简化表头 使之成为1NF数据表 接着分解数据表并设定关键字 使之成为2NF数据表 如果可能 继续拆分数据表以消除对关键字段的传递依赖 使之成为3NF数据表 18 1 2 3系统功能的规范化设计 系统功能设计的主要任务是采用 自顶向下 的原则将系统必须具备的功能分解为若干个功能模块 并明确描述各个功能模块的具体功能以及相互调用关系 所谓自顶向下 是指首先设计应用系统的整体功能 接着将系统整体功能分解为一组子功能 如果某一子功能依然比较复杂 则还须拆分该子功能为明细功能 直至每一个明细功能都仅完成一项单一应用操作为止 显然 如何划分系统功能 如何确定每一个功能模块所需具备的单一应用操作 以及如何设计各个功能模块之间的相互调用关系 是数据库应用系统中功能设计的要点 在进行系统功能设计时 应该遵循如下几个规范化设计原则 它们是功能模块间的耦合原则 功能模块的内聚性原则和功能模块调用的扇入 扇出原则 19 三个规范化设计原则 1 功能模块间的耦合原则 2 功能模块的内聚性原则 3 功能模块调用的扇入 扇出原则 20 1 功能模块间的耦合原则 功能模块间的耦合是指功能模块间的相互依赖关系 功能模块间的相互依赖性强则称它们的耦合程度高 功能模块间的耦合程度高则表明它们之间的联系复杂 导致的必然结果就是 对任一功能模块的修改都将要求并行修改与之紧密相联系的那些功能模块 因此也就导致了整个系统功能修改与维护的复杂性 这是应该设法避免的 所谓功能模块间的耦合原则就是在进行系统功能设计时 应该尽可能地降低功能模块间的耦合程度 21 功能模块间的耦合程度低 说明系统功能设计合乎规范 这将有助于减少系统功能修改与维护的复杂性 影响功能模块间的耦合程度的最主要因素模块之间信息传递的复杂性 如果两个模块之间仅存在调用与被调用的关系 而不存在任何信息传递 则表明这两个模块之间的耦合程度最低 这种类型的耦合称为简单耦合 是系统功能设计中最理想的情况 但遗憾的是 能够实现简单耦合的模块并不常见 经常遇见的情况是 两个功能模块之间不仅存在着调用与被调用的关系 而且还存在着信息传递的关系 按照耦合程度由高到底的顺序可将功能模块间的耦合类型分为 数据耦合 控制耦合 公共耦合和内容耦合 22 功能模块间的耦合原则的分类 1 数据耦合 2 控制耦合 3 公共耦合 4 内容耦合 23 1 数据耦合 如果两个功能模块之间不仅存在着调用与被调用的关系 而且还需要相互交换数据 也就是模块之间的通信方式是数据传递或称参数交换 这种耦合类型称为数据耦合 数据耦合是一种常用的模块耦合类型 24 2 控制耦合 如果模块A与模块B之间不仅存在着调用与被调用的关系 而且模块A还通过向模块B传递信息来控制模块B的内部逻辑 则称这种耦合类型为控制耦合 控制耦合是一种应该尽量少用的耦合类型 25 3 公共耦合 如果两个功能模块都和同一个公用数据域有关 或与某几个公共环境变量紧密相连 则称这两个功能模块间存在公共耦合 公共耦合会给应用系统的维护带来困难 应该尽量避免使用 26 4 内容耦合 如果一个模块运行与另一个模块的当前内部数据有关 则称这种耦合内容耦合 这是一种极其有害的耦合类型 在系统功能设计中必需避免 27 2 功能模块的内聚性原则 功能模块的内聚性是指功能模块内部各项操作动作的组合强度 内聚性的强弱将直接影响系统功能实现的优劣 一般来说 功能模块内部应该具有很强的内聚性 它的各个操作动作都是密切相关的 是为了完成一个共同的功能而组合在一起的 功能模块的内聚性是度量模块功能强度的一个相对指标 主要表现在模块内部各项操作为了执行模块功能而组合在一起的相关程度 模块内部操作组合的形式按照由高到底的顺序为 功能组合 顺序组合 通信组合 过程组合 暂时组合 逻辑组合 偶然组合 28 2 功能模块的内聚性原则的分类 1 功能组合 2 顺序组合 3 通信组合 4 过程组合 5 暂时组合 6 逻辑组合 7 偶然组合 29 1 功能组合 如果一个功能模块内部的各个组成部分的操作动作全都为执行同一个功能而存在 并且只执行这一个功能 则称该功能模块的这种组合形式为功能组合 功能组合模块的内聚性最高 是功能模块的最佳组合形式 30 2 顺序组合 如果一个功能模块内部的各个组成部分执行的几个操作动作有这样的特征 前一个操作动作所产生的输出数据是下一个操作动作的输入数据 则称该功能模块的这种组合形式为顺序组合 顺序组合的模块具有较高的内聚性 对于难以实现功能组合的功能模块而言 顺序组合也是一种很好的模块组合形式 31 3 通信组合 如果一个功能模块内部的各个组成部分的操作动作全都使用相同的输入数据或产生相同的输出数据 则称该功能模块的这种组合形式为通信组合 通信组合模块的内聚性低于顺序组合模块 在某些情况下 也是一种可以接受的模块组合形式 32 4 过程组合 如果一个功能模块内部的各个组成部分的操作动作各不相同 彼此也没有什么联系 却须受同一个控制流的支配来决定各自的执行顺序 则称该功能模块的这种组合形式为过程组合 过程组合模块的内聚性较低 在系统功能设计中应尽量避免采用 33 5 暂时组合 如果在一个功能模块内部的各个组成部分中 各项操作动作均与时间有关 则称该功能模块的这种组合形式为暂时组合 也称为时间组合 暂时组合模块的内聚性较低 同时会导致与其他模块之间的耦合程度提高 致使系统维护困难 因此 暂时组合是一种不可采用的模块组合形式 34 6 逻辑组合 如果在一个功能模块内部的各个组成部分中 各项操作动作逻辑上相似 但功能却彼此无关 则称该功能模块的这种组合形式为逻辑组合 逻辑组合模块的内聚性很低 系统功能维护非常困难 是一种必需避免的模块组合形式 35 7 偶然组合 如果在一个功能模块内部的各个组成部分中 各项操作动作彼此没有任何关系 则称该功能模块的这种组合形式为偶然组合 偶然组合纯属系统功能设计不当造成的结果 只要认真地进行系统功能分析与设计 是不会产生偶然组合模块的 36 3 功能模块调用的扇入 扇出原则 模块的扇出 FanOut 表达了一个功能模块对它的直属下级模块的控制范围 模块的扇出系数是指其直属下级功能模块的个数 一个功能模块的扇出系数大 表明其直属下级多 即被其控制的子模块多 这意味着这个功能模块的功能繁多 因此它的内聚性可能较低 所以应该尽量把一个功能模块的扇出系数控制在较小的范围内 一般来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级财务会计(河南财经政法大学)知到智慧树答案
- 死因监测培训试题及答案
- 2025大连安居客平台全程监管下的二手房买卖合同
- 2025年度绿色金融垫资撤押贷款合同及碳排放权抵押担保协议
- 2025版蔬菜种植与农产品电商平台合作合同
- 2025年新型农业灌溉系统安装与运营管理合同
- 2025年水利工程桩基施工与生态修复合同
- 2025版跨境电商合作万能合同范本
- 数据驱动的实时监控与异常检测-洞察及研究
- 2025二手公寓房买卖及贷款担保与房屋租赁服务合同
- 2025年学历类自考专业(学前教育)学前儿童发展-学前教育原理参考题库含答案解析(5套)
- 日本设备销售合同范本
- 2025年芜湖市鸠江区医院招聘16名工作人员笔试参考题库附答案解析
- T-CBDA 86-2025 建筑幕墙、采光顶及金属屋面工程质量验收标准
- 厨房消防安全培训
- 小陈 税务风险应对常见指标与答复思路
- 2025年《中华人民共和国档案法》知识培训试题及答案
- 2025至2030年中国建筑膜行业市场调查研究及发展趋势预测报告
- 变电站新员工培训课件
- 《海上风电场工程测量规程》(NB-T 10104-2018)
- 2021年成都中医药大学辅导员招聘笔试试题及答案解析
评论
0/150
提交评论