- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数据库表的规范化
* * * * * * * * * * * * * * * * * 主要学习内容 - 什么是规范化,以及它在数据库设计中的作用 - 范式1NF、 2NF、 3NF - 范式如何从低范式转换为高范式 - 规范化和ER建模被同时用来生成优秀的数据库设计 - 要求非规范化以有效生成信息的情况 第5章 数据库表的规范化 § 5.1 数据表和规范化 表是数据库设计过程中的基本构件。规范化(normalization)是估算并校正表结构以使数据冗余最小化的过程,它可以帮助消除数据异常。 规范化通过叫做“范式”的一组平台进行工作。前3个平台记述为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。 从结构的观点来看,2NF优于1NF,而3NF优于2NF。出于大多数商务数据库设计目的考虑,在规范化过程中对3NF的需要最多。 实际应用中会涉及规范化和非规范化的权衡。 § 5.1 数据表和规范化 — 规范化需要 § 5.1.1 数据表和规范化 — 规范化需要 续 报表中的总费用为派生值,它没必要存储在数据表中。 § 5.1.1 数据表和规范化 — 规范化需要 续 但该表与关系数据库要求不符合,而且在数据处理方面做的不好: 主键标包括空值 表项目引起数据不一致。例如,可以将JOB_CLASS值“Elect. Engineer”输入为“Elect. Eng”。 表显示了数据冗余。从而生成了下面的异常: — 更新异常 — 插入异常 —删除异常 § 5.1.2 数据表和规范化 — 转换为第一范式 步骤1:消除重复组 先从介绍表格式中的数据开始,在表格式中,每个单元格都有单个值,而且没有重复组。为了消除重复组,通过确保每一个重复组属性包括一个合适的数据值来消除空值。 步骤2:标识键标 为了保持惟一标识任何属性值的正确的主键标,新键标必须由PROJ_NUM和EMP_NUM的组合组成 步骤3:标识所有依赖,步骤2中PK的标识意味着你已经标识了下面的依赖: PROJ_NUM,EMP_NUM — PROJ_NAME,EMP_NAME, JOB_CLASS,CHG_HOUR,HOURS PROJ_NUM — PROJ_NAME § 5.1.2 数据表和规范化 — 转换为第一范式 PRJ_NUM PRJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS 部分依赖 部分依赖 传递依赖 § 5.1.2 数据表和规范化 — 转换为第一范式 续 部分依赖(partial dependencies):只基于复合主键标的一部分的依赖。 传递依赖(transitive dependency):一个非主属性对于另一个非主属性的依赖 依赖图(dependency diagram) § 5.1.2 数据表和规范化 — 转换为第一范式 续 术语1NF(第一范式,first normal form)描述了表格式,在表格式中: 定义了所有键标属性。 表中没有重复组。换句话说,每一行/列插入仅可以包括一个值,而不是一组值。 所有属性都依赖于主键标。 所有的关系表都满足1NF,该范式的问题是包括了部分依赖,也就是说,只基于键标一部分的依赖。 1NF到2NF的转换很简单:从上图所示的1NF格式开始,完成下面的步骤: 步骤1:标识所有键标组件 PROJ_NUM EMP_NUM PROJ_NUM EMP_NUM 每一个组件将成为新表中的键标。换句话说,原始表现在分成了3个表。我们把这些表分别叫做PROJECT,EMPLOYEE和ASSIGN。 步骤2:标识依赖属性 3个新表PROJECT,EMPLOYEE和ASSIGN可以描述如下: PROJECT(PROJ_NUM,PROJ_NAME) EMPLOYEE(EMP_NUM,EMP_NAME,JOB_CLASS,CHG_HOUR) ASSIGN(PROJ_NUM,EMP_NUM,ASSIGN_HOURS) § 5.1.3 数据表和规范化 — 转换为第二范式 PRJ_NUM PRJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR ASSIGN_HOURS 传递依赖 § 5.1.3 数据表和规范化 — 转换为第二范式 续 表名:PROJECT EMP_NUM PRJ_NUM 表名:EMPLOYEE 表名:ASSIGN § 5.1.3 数据表和
您可能关注的文档
- 第4章专题3矩阵的压缩存储.ppt
- 第4章数据结构基础_3(习题课).ppt
- 第4章 软体.ppt
- 第4章_混凝土结构工程施工 模板工程 2.ppt
- 第4章营业税(税法-上海工程技术大学,李智忠).ppt
- 第4章上.ppt.ppt
- 第4章 互连设备与通信介质.ppt
- 第4章第3节:广告创意的表现.pptx
- 第4章 原油净化.ppt
- 第4篇-系统实施.ppt
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)