资源描述:
《关系模式规范化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系模式的规范化教学目标1.了解关系模式规范化的作用2.掌握第一范式—重点掌握第二范式—重点3.掌握第三范式—重点一起分析下表存在的问题学号姓名年龄所在系系主任课名成绩98001张三23网二孙小红C语言8498001张三23网二孙小红数据库9598001张三23网二孙小红数据结构7998001张三23网二孙小红办公自动化8698002李四20网一章飞数据库6998002李四20网一章飞C#语言8498002李四20网一章飞网站编程8198003王五21网二孙小红C语言7998003王五21网二孙小红数据库
2、8598003王五21网二孙小红C#语言8798004赵六21网二孙小红数据库9898004赵六21网二孙小红数据结构84问题如下1.数据冗余大(肉眼可见)2.插入异常(先找出主码为:学号和课名;当学校还没开始招生时,系的信息插不进去,因为缺少学号)3.删除异常(当学生都毕业了,删除学生信息时连系的信息也删除了)4.修改异常(某系换主任,则改系学生记录应全部修改,若有不慎,某些记录漏改了,则造成数据不一致,即出现更新异常)回顾关系模式关系模式:关系模式相当于一张二维表的框架,在这个框架下填入数据,称为关系
3、模式的一个实例,或者叫关系(R)。R(A1,A2,A3...Ai):R是关系名,Ai是关系的属性名。一个关系名对应一张表,关系名对应表名,属性对应表中的列名。关系模式的简化表示法:R分析产生上述问题的原因用关系模式描述如下:学生(学号,姓名,年龄,所在系,系主任,课名,成绩)学号→姓名,学号→年龄,学号→所在系,所在系→系主任,(学号,课名)→成绩部分依赖:(学号,课名)→姓名完全依赖:(学号,课名)→成绩传递依赖:学号→所在系,所在系→系主任关系模式规范化的作用关系数据库的设计主要是关系模式设
4、计。关系模式设计的好坏直接影响到数据库设计的成败。将关系模式规范化,是设计较好的关系模式的惟一途径。关系模式的规范化主要是由关系范式来完成的。关系范式所谓范式(NormalForm,NF)是指规范化的关系模式。由规范化程度不同,就产生了不同的范式。根据满足条件的不同,经常称某一关系模式R为“第几范式”。从1971年起,E.F.Codd相继提出了第一范式、第二范式、第三范式,Codd与Boyce合作提出了Boyce-Codd范式。在1976-1978年间,Fagin、Delobe以及Zaniolo又定义了第
5、四范式。到目前为止,已经提出了第五范式。每种范式都规定了一些限制约束条件。为什么要设计规范化的数据库?未经规范化的数据库一般都有下述缺点:较大的数据冗余,数据一致性差,数据修改复杂,对表进行插入、删除、更新时会产生插入、更新、删除异常。规范化的作用就在于尽量去除冗余,使数据保持一致,使数据修改简单,除去在表中进行插入、删除时产生的异常,规范化后的表一般都较小。课本:P187在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库定义:在关系模型中的
6、每一个具体关系R中,如果每个属性都是不可再分的,则称R属于第一范式(1NF),记作R∈1NF。第一范式(1NF)说明:数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。第一范式(1NF)第一范式(1NF)例如,如下的数据库表是符合第一范式的:字段1字段2字段3字段4第一范式(1NF)而这样的数据库表是不符合第一范式的:字段1字段2字段3字段4字段3.1字段3.2第一范式(1NF)例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话
7、和一个家里电话号码)规范成为1NF总结:不能有重复的列,列不可再分.不满足第一范式条件的关系为非范式关系,在关系数据库中,凡非范式关系必须要化成范式关系.第二范式(2NF)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)说明:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系定义:如果
8、关系模式R∈1NF,且每一个非主属性都完全依赖于主码,则称关系R是属于第二范式的,记作R∈2NF第二范式举例假定选课关系表为(学号,姓名,年龄,所在系,系主任,课名,成绩),关键字为组合关键字(学号,课名)其中(学号,课名)→(学号,姓名,年龄,所在系,系主任,成绩)这个数据库表不满足第二范式,因为存在如下决定关系:(学号,课名)→(成绩)(学号)→(学号,姓名,年龄,所在系,系主任)即存在组合关键字中的字段决定非关键字的情况