关系模型设计范式.ppt

上传人:b****1 文档编号:1412063 上传时间:2022-10-22 格式:PPT 页数:19 大小:157KB
下载 相关 举报
关系模型设计范式.ppt_第1页
第1页 / 共19页
关系模型设计范式.ppt_第2页
第2页 / 共19页
关系模型设计范式.ppt_第3页
第3页 / 共19页
关系模型设计范式.ppt_第4页
第4页 / 共19页
关系模型设计范式.ppt_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

关系模型设计范式.ppt

《关系模型设计范式.ppt》由会员分享,可在线阅读,更多相关《关系模型设计范式.ppt(19页珍藏版)》请在冰豆网上搜索。

关系模型设计范式.ppt

第13章关系模式的规范化,了解关系模式规范化的作用掌握第一范式重点掌握第二范式重点掌握第三范式重点,回顾关系模式,关系模式:

关系模式相当于一张二维表的框架,在这个框架下填入数据,称为关系模式的一个实例,或者叫关系(R)。

R(A1,A2,A3.Ai):

R是关系名,Ai是关系的属性名。

一个关系名对应一张表,关系名对应表名,属性对应表中的列名。

关系模式的简化表示法:

R,关系模式规范化的作用,关系数据库的设计主要是关系模式设计。

关系模式设计的好坏直接影响到数据库设计的成败。

将关系模式规范化,是设计较好的关系模式的惟一途径。

关系模式的规范化主要是由关系范式来完成的。

关系范式,所谓范式(NormalForm,NF)是指规范化的关系模式。

由规范化程度不同,就产生了不同的范式。

根据满足条件的不同,经常称某一关系模式为“第几范式”。

从1971年起,EFodd相继提出了第一范式、第二范式、第三范式,Codd与Boyce合作提出了Boyce-Codd范式。

在1976-1978年间,Fagin、Delobe以及Zaniolo又定义了第四范式。

到目前为止,已经提出了第五范式。

每种范式都规定了一些限制约束条件。

为什么要设计规范化的数据库?

未经规范化的数据库一般都有下述缺点:

较大的数据冗余,数据一致性差,数据修改复杂,对表进行插入、删除、更新时会产生插入、更新、删除异常。

规范化的作用就在于尽量去除冗余,使数据保持一致,使数据修改简单,除去在表中进行插入、删除时产生的异常,规范化后的表一般都较小。

在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库,定义:

在关系模型中的每一个具体关系R中,如果每个属性都是不可再分的,则称R属于第一范式(1NF),记作R1NF。

第一范式(1NF):

数据库表中的字段都是单一属性的,不可再分。

第一范式(1NF),第一范式(1NF),例如,如下的数据库表是符合第一范式的:

第一范式(1NF),而这样的数据库表是不符合第一范式的:

第一范式(1NF),例:

如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话号码)规范成为1NF总结:

不能有重复的列,列不可再分.不满足第一范式条件的关系为非范式关系,在关系数据库中,凡非范式关系必须要化成范式关系.,第二范式(2NF),第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。

第二范式(2NF)说明:

要求实体的属性完全依赖于主关键字。

所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系,定义:

如果关系模式R1NF,且每一个非主属性都完全依赖于主码,则称关系R是属于第二范式的,记作R2NF,第二范式举例,假定选课关系表为SelectCourse(学号,姓名,年龄,课程名称,成绩,学分),关键字为组合关键字(学号,课程名称),因为存在如下决定关系:

(学号,课程名称)(姓名,年龄,成绩,学分)这个数据库表不满足第二范式,因为存在如下决定关系:

(课程名称)(学分)(学号)(姓名,年龄)即存在组合关键字中的字段决定非关键字的情况。

第二范式举例,由于不符合2NF,这个选课关系表会存在如下问题:

(1)数据冗余:

同一门课程由n个学生选修,学分就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。

(2)更新异常:

若调整了某门课程的学分,数据表中所有行的学分值都要更新,否则会出现同一门课程学分不同的情况。

第二范式举例,(3)插入异常:

假设要开设一门新的课程,暂时还没有人选修。

这样,由于还没有学号关键字,课程名称和学分也无法记录入数据库。

(4)删除异常:

假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。

但是,与此同时,课程名称和学分信息也被删除了。

很显然,这也会导致插入异常。

第二范式举例,把选课关系表SelectCourse改为如下三个表:

学生:

Student(学号,姓名,年龄);课程:

Course(课程名称,学分);选课关系:

SelectCourse(学号,课程名称,成绩)。

这样的数据库表是符合第二范式的,消除了数据冗余、更新异常、插入异常和删除异常。

另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。

第三范式(3NF):

如果关系模式R为2NF,并且中的每个非主属性不传递依赖于的主码,则称关系R是属于第3范式的。

所谓传递依赖,指的是如果存在ABC的决定关系,则C传递依赖于A。

因此,满足第三范式的数据库表应该不存在如下依赖关系:

关键字段非关键字段x非关键字段y,第三范式(3NF),第三范式举例,假定学生关系表为Student(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一关键字“学号”,因为存在如下决定关系:

(学号)(姓名,年龄,所在学院,学院地点,学院电话)即存在非关键字段“学院地点”、“学院电话”对关键字段“学号”的传递函数依赖。

它也会存在数据冗余、更新异常、插入异常和删除异常的情况,试分析,第三范式举例,学生:

(学号,姓名,年龄,所在学院);学院:

(学院,地点,电话)。

这样的数据库表是符合第三范式的,消除了数据冗余、更新异常、插入异常和删除异常。

总结,规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新原则:

遵从概念单一化“一事一地”原则,即一个关系模式描述一个实体或实体间的一种联系。

方法:

将关系模式投影分解成两个或两个以上的关系模式。

要求:

分解后的关系模式集合应当与原关系模式“等价”,即经过自然联接可以恢复原关系而不丢失信息,并保持属性间合理的联系。

总结,注意:

一个关系模式结合分解可以得到不同关系模式集合,也就是说分解方法不是唯一的。

最小冗余的要求必须以分解后的数据库能够表达原来数据库所有信息为前提来实现。

其根本目标是节省存储空间,避免数据不一致性,提高对关系的操作效率,同时满足应用需求。

实际上,并不一定要求全部模式都达到BCNF不可。

有时故意保留部分冗余可能更方便数据查询。

尤其对于那些更新频度不高,查询频度极高的数据库系统更是如此。

在关系数据库中,除了函数依赖之外还有多值依赖,联接依赖的问题,从而提出了第四范式,第五范式等更高一级的规范化要求。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1