第10讲 设计数据完整性.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10讲 设计数据完整性

第 10讲 设计数据完整性 大型数据库应用(SQL Server 2008) 本讲要点 关系数据库设计概述 设计数据完整性 数据库表的规范化 1 2 3 关系数据库简单严谨,四十多年来有了长 足发展,现在已经成为事实上的标准,当今几 乎所有的数据库产品都是基于关系数据库的. 数据库设计是数据库应用的一个关键因素, 设计结构合理、功能齐全的数据库对于提高数 据库应用程序的开发效率和程序的性能都是非 常重要的. 数据库设计是指对于一个给定的应用环境, 构造最优的数据模式,建立数据库,使其能够 有效地存储数据记录,并能满足各种应用需求. 一. 关系数据库设计概述 对于一个数据密集型应用来说,数据库设 计是它的一个核心部分,但对于大型的软件系 统设计来说, 它只是其中一个部分. 数据库设计的过程可以分为 6 步. (1) 需求分析 (2) 概念数据库设计 (3) 逻辑数据库设计 (4) 模式的细化 (5) 物理数据库设计 (6) 应用与安全设计 进行数据库规划是所有数据库编程的第一步, 也是最重要的一步. 首先,列出客户所关心的所有数据和建立这 个数据库的主要目的. 这可以通过收集各种相关 的数据报表和表格来完成. 需求分析是数据库设 计的第一阶段,不断的调查与研究,了解组织机 构的情况,了解部门的业务流程等系统需求,对 于设计好数据库是非常重要的. 然后,数据表规划是整个数据库设计中技巧 性最强的一个步骤. 数据表要满足第三范式. 数据库规划 规划数据库有以下三条基本原则: ● 数据库中的记录个数应该反映现实世界 对象的个数. 如果一个对象的实例在现实世界中 存在,则在数据库中有且只有一条记录存在. ● 每行记录的字段应该表达现实世界对象 的属性. ● 现实世界对象之间的关系应该反映在数 据库记录之间的关系上. 数据库规划基本原则 关系数据库的目的是建立现实世界的模型. 基于这一点, 用来实施数据完整性的规则和方法 无论对于理论和数据库开发的实践都很重要. 数据完整性是指存储在数据库中的数据的正 确性和相容性. 设计数据完整性的目的是为了确保数据的质 量. 即防止数据库中存在不符合语义的数据, 防 止错误信息的输入和输出. 二. 设计数据完整性 表是存储数据的主要对象, 设计数据库的关键 是设计表结构. 本节我们将学习如何评价和设计好的数据库 表,控制数据冗余,从而避免数据异常,这就是 规范化. 为了识别和鉴赏好的表结构的特性,考察一 个不好的表结构是很有用的. 利用这种方法,我 们将学会如何设计好的表结构,如何修改已有的 不好的表结构. 三. 数据库表的规范化 通过规范化不仅可以消除数据异常,而且适 当规范化的表结构实际上要比没有规范化的来得 简单,它还能反映出一个组织的实际运行情况. 拥有好的关系数据库软件,并不足以避免 数据冗余. 即使在一个好的数据库设计中, 也有 可能生成不好的表结构. 规范化 那么,如何识别不好的表结构,如何创建 好的表结构呢?两个问题的答案都是基于规范 化的. 规范化是给实体分配属性的过程. 它能 够减少但不能够消除数据冗余;相反,它通过 生成有控制的冗余来连接数据库表. 规范化 规范化通过一系列称为范式的阶段来完成. 最前面的三个阶段分别叫做第一范式 (1NF)、 第二范式 (2NF)和第三范式 (3NF). 从结构化 的观点来看,2NF 比 1NF 好,3NF 比 2NF 好. 对于大多数的事物数据库设计,我们只要能规 范到 3NF 就已经足够了. 虽然规范化是数据库设计的一个重要组成 部分,但是并不是规范化级别越高越好. 通常, 范式级别越高,产生制定输出所要求的连接就 越多,系统对终端用户请求的响应就越慢. 三种范式 我们考察某建筑公司的一个简单数据库行 为. 该公司管理几个建筑项目,每个项目都有 它自己的项目号、项目名、员工等属性,每个 员工有员工号、姓名和职位级别等属性. 公司根据每个合同需要花费的小时数来向 客户收费. 每小时的报酬由员工的职位决定. 该应用周期性地生成信息报表. 由这个报 表对应地生成一个表.

文档评论(0)

2232文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档