12 关系数据库的规范化设计.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文档。上传文档
查看更多
12 关系数据库的规范化设计

关系数据库的规范化设计 为什么需要设计数据库 软件项目开发周期 需求分析阶段:分析客户的业务和数据处理需求; 概要设计阶段:设计数据库的E-R模型图,确认需求信息 的正确和完整; 详细设计阶段:将E-R图转换为多张表,进行逻辑设计, 并应用数据库设计的三大范式进行审核; 代码编写阶段:选择具体数据库进行物理实现,并编写 代码实现前端应用; 软件测试阶段:…… 安装部署:…… 设计数据库的步骤 收集信息 标识对象(实体-Entity) 标识每个实体的属性(Attribute) 标识对象之间的关系(Relationship) E-R(Entity-Relationship)实体关系图 绘制E-R图 仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构 Dr E.F.codd 最初定义了规范化的三个级别,范式是具有最小冗余的表结构。这些范式是 第一范式(1st NF -First Normal Fromate) 第二范式(2nd NF-Second Normal Fromate) 第三范式(3rd NF- Third Normal Fromate) 关系模式 R(U,D,DOM,I,F) 其中:R是关系名, U是R的属性集合{A1, A1, … ,An}, D是U中属性域的集合{ D1, D1, … ,Dn }, DOM是U到D的映射, I是完整性约束集合, F是属性间的数据依赖关系集合。 例:假设学校的数据库模式由一个单一的关系模式Student构成,则该关系模式的属性集合为 U=( Sno,Sdept,Mname,Cname,Grade ) 其中,学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、课程名(Cname)和成绩(Grade)。 该关系模式存在多种不良的函数依赖,不是好的关系。 这个关系模式存在4个问题: ①数据冗余大:系主任名重复出现。 ②更新异常(更新代价大):某系更换系主任后,系统必须修改与该系学生有关的每一个元组 ③插入异常:如果一个系刚成立,尚无学生,就无法把这个系及其系主任的信息存入数据库。 ④删除异常:如果某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。更新代价大 2.4.2 关系模式的规范化 1.范式(Normal form) 范式:建立关系时需要满足的约束条件划分成若干标准,这些标准称为范式,简写为NF。范式的级别越高,发生操作异常的可能性越小,数据冗余越小,但由于关联多,读取数据时花费时间也会相应增加。 2.第一范式(1NF) 对于给定的关系R,如果R中的所有行、列交点处的值都是不可再分的数据项,则称关系R属于第一范式,记作:R∈1NF。 1NF是关系数据库中对关系的最低要求,它是从关系的基本性质而来的,任何关系必须遵守。 第一范式的目标是确保每列的原子性 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF) 定义如果一个关系模式 R的所有属性都是不可分的基本数据项,则R∈1NF。 第一范式的关系模式并不一定是好关系模式。 例如: SLC(Sno,Sdept,Sloc,Cno,Grade) 其中Sloc为学生住处,假设每个系的学生住在同一个地方。 SLC关系存在以下4个问题: ①插入异常:假若要插入一个Sno=95102,Sdeptc=IS,Sloc=N,但还未选课的学生,即这个学生无Cno,这样的元组不能插入SLC中。 ②删除异常:假定某个学生只选一门课,如95022只选3号课程修了一门课。现在连3号课程他也不选修了。那么3号课程这个数据项就要删除不应删除的信息。 ③数据冗余度大:如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储10次。 ④修改复杂:某个学生从数学系(MA)转到信息系(IS),这本来只需修改此学生元组中的Sdept值。但因为关系模式SLC中还含有系的住处Sloc属性,学生转系将同时改变住处,因而还必须修改元组中Sloc的值。如果这个学生选修了K门课,由于Sdept,Sloc重复存储了K次,当数据更新时必须无遗漏地修改K个元组中全部Sdept,Sloc信息。 第二范式 (2nd NF) 3.第二范式

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档