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.数据库设计

数据库设计 湖北省软件产业基地培训中心 ?课程目标 数据库设计步骤 关系规范化 数据完整性 数据库设计 数据库设计是从用户对数据的需求出发,研究并构造数据库的过程 设计的目标 数据库设计 设计步骤 数据库设计 需求分析: 了解分析用户的信息及对应用处理的要求 1、确定数据范围 2、分析数据应用过程 3、收集与分析数据 4、整理文档 数据库设计 概念分析: 对需求进行抽象和综合处理,并按特定的方法设计出满足需求的概念模型 采取自顶向下、先局部后整体的方法 数据库设计 实现设计 将概念设计的模型转换为等价的并为特定DBMS所支持的数据模型结构 数据库设计 物理设计 选择最适合的应用环境,以确定数据库在存储设备上的存储结构及存取方法。 需考虑用户对数据一致性、完整性、安全性的要求 数据库设计 实施和维护 数据库定义、数据装载,应用程序的编制与调试。 在运行过程中不断地改进、扩展和完善 数据库设计 各阶段的说明表示 概念设计:E-R图 实现设计:数据表图 理解数据冗余 冗余意味着数据的重复 冗余增加了更新、 加入、和删除数据的时间 它也增加了磁盘空间的使用,因此磁盘的输入/输出也增加了。 理解数据冗余(续) 冗余可能导致以下问题: 1、 插入, 修改, 和删除数据可能导致数据的不一致性 2、不必要地使用额外磁盘空间 规范化的定义 规范化是一种科学的方法,通过使用某些规则把复杂的表格结构分解为简单的表格结构 可以降低表中的冗余和消除不一致和解决磁盘空间利用的问题 规范化导致于满足某些特定规则和表示某些规范形式的表的建立 规则 每一个表格应有一个标识符 每一个表格应当存储单个实体类型的数据 值或列的重复应当尽量避免 接受NULL的列应当避免 功能依赖性 规范化理论基于功能依赖性的基本概念 已知一关系 R, 如果B中的每一个值都与A的某一确定值对应,属性A是功能依赖于属性 B或属性B是决定于属性A的 范式 最重要的和最广泛被使用的范式有: 第一范式(1 NF) 第二范式(2 NF) 第三范式 (3 NF) 1NF 一个表格被认为是第一范式 1 NF ,当表中每个单元恰好包含一个值时 2NF 第二范式(2NF) 一个表格被称为是2 NF,当它是1NF且该行中的每个属性是功能依赖于整个主键, 而不只是部分主键 3NF 第三范式(3NF) 一个关系被认为是3NF, 仅当它是2 NF且每个非键属性只功能依赖于主键 为保证表是 3 NF,你应: 发现和抹去功能依赖于不是主键属性的非关键属性。把它们放入不同的表格 组合剩余的属性 规范化实例 假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下: 公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等; 公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等; 公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)。 每个职工可参与多个工程 公司定期制定一个工资报表,如图-1所示。 规范化实例 规范化实例 规范化实例 1.表中包含大量的冗余,可能会导致数据异常: a.更新异常 例如,修改职工号=1001的职务,则必须修改所有职工号=1001的行。 b. 添加异常 若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字不能为空) c. 删除异常 例如,1001号职工要辞职,则必须删除所有职工号=1001的数据行。这样的删除操作,很可能丢失了其它有用的数据。 规范化实例 2.采用这种方法设计表的结构,虽然很容易产生工资报表,但是每当一名职工分配一个工程时,都要重复输入大量的数据。这种重复的输入操作,很可能导致数据的不一致性。 规范化实例 规范化实例 理解反规范化 规范化的最终产品是一 系列组成数据库的相关的表格 然而,从对关键询问的响应速度考虑,当需要来自一个以上表格的信息,有时对表引入一定程度的冗余是一种明智的做法 在一个表格中有意地引入冗余以改进性能被称为反规范化 * * 满足应用功能的需求 良好的数据库性能 需求分析 概念设计 实现设计 实体定义 关系定义 属性分配 物理设计 实现、维护 95 83 Sem-1 jake 002 86 73 Sem-2 Jake 002 86 70 Sem-2 Mary 001 90 80 Sem-1 Mary 001 test2 test1 semest …… Name Id Paris Mac E3 New York Sandr

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档