资源描述:
《最新第4章 范式理论教学讲义ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章范式理论目录本章要点●数据库规范化问题的提出和主要内容●函数依赖●关系模式的分解●关系模式的范式教学目标●了解数据库规范化问题的产生和规范化的主要内容●掌握函数依赖的相关概念●熟悉关系模式的分解●掌握关系模式的范式的概念及规范化过程6.1关系数据库设计中存在的问题示例:考虑为管理职工的工资信息而设计一个关系模式。快速热身:它有哪些问题?学生关系模式S(学号,姓名,系别,班主任,课程号,成绩)上表(关系模式)存在的缺陷:1、数据重复、冗余。2、新增学生或课程,若未选课,则无法插入记录,因为(学号,课程号)为主键。
2、3、如果有学生退学,则需将相关信息全部删除,导致课程信息可能丢失。快速热身:它有哪些问题?学生关系模式S(学号,姓名,系别,班主任,课程号,成绩)6.1关系数据库设计中存在的问题改进的关系模式6.1关系数据库设计中存在的问题在数据库中,数据之间存在着密切地联系。在数据库技术中,把数据之间存在的联系称为“数据依赖”。在数据库规范化设计中,设计人员地一个职责就是把数据依赖找出来。函数依赖是基本的一种依赖。6.2函数依赖(FunctionalDependency)回顾:函数——熟悉的概念。Y=f(x):x和Y之间数量上的对应关
3、系。给定x值,Y值与之对应。称x函数决定Y,或Y函数依赖于x。在关系数据库中讨论函数或函数依赖注重的是语义上的关系。如:省=f(城市)Y=f(x)函数依赖:任给R(U),U为属性集,x、y为U的子集,如果对于x的每个值,y有唯一确定的值与之对应,则称x决定y,或y函数依赖于x。记为:x→y。例1:关系模式Student(Sno,Sname,Ssex,Sage,Sdept)中,Sno函数决定Sname和Sdept,或Sname和Sdept函数依赖于Sno,记为Sno->Sname,Sno->Sdept6.2函数依赖注:函数
4、依赖是属性间的一种联系6.2函数依赖建立一个描述学校教务的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname)成绩(Grade)单一的关系模式:StudentU={Sno,Sdept,Mname,Cname,Grade}⑴根据学号可以确定学生的姓名;⑵一个系有若干学生,但一个学生只属于一个系;⑶一个系只有一名主任;⑷一个学生可以选修多门课程,每门课程有若干学生选修;⑸每个学生所学的每门课程都有一个成绩。根据如下描述写出依赖关系:SNo→SNameSNo→SDeptSD
5、ept→MName(SNo,CName)→ScoreF={SNo→SName,SNo→SDept,SDept→MName,(SNo,CName)→Score}例2:一个学校数据库中的唯一关系模式Student(U,F),其中U={Sno,Sdept,Mname,Cname,Grade}F={Sno->Sdept,Sdept->Mname,(Sno,Cname)->Grade}SnoCnameGradeSdeptMname插入异常不能插入一个没有学生的系删除异常删除某系的一个学生时(如毕业)会删除系的相关信息数据冗余太大系
6、主任出现的次数和该系学生选课总数相同Why?某些数据依赖引起的!分解为三个关系模式Student(Sno,Sdept,Sno->Sdept);SC(Sno,Cname,Grade,(Sno,Cname)->Grade);Dept(Sdept,Mname,Sdept->Mname);Mname:系主任完全函数依赖:若函数依赖XY成立,且X是能够推出Y的最小集合,即不存在X的真子集Z,使ZY成立,则称Y完全函数依赖于X,简称Y完全依赖于X,记做,否则称Y部分函数依赖于X,简称Y部分依赖于X,记做例:(SNo,CName)
7、→SNameSNo→SName(SNo,CName)→Score【例】有一关系模式S(学号,姓名,系名称,出生年月)。在S中存在如下完全函数依赖:学号系名称,学号出生年月通常记为学号→系名称,学号→出生年月FF若无重名还存在学号←→姓名函数依赖【例】有一关系模式SC(学号,课程号,成绩,教师编号)。在SC中,(学号,课程号)成绩(学号,课程号)→教师编号(相当于X→Y)课程号→教师编号(相当于X’→Y)F因此(学号,课程号)教师编号P传递函数依赖:若XY,YZ,并且Y不能推出X,Z不是Y的真子集,则称Z传递依赖于X。
8、例关系Std(Sno,Sdept,Mname)中,有SnoSdept,SdeptMname,SnoMname传递举例:【例】关系模式R(学号,姓名,出生年月,系编号,系负责人)在此关系模式中有如下函数依赖:学号→系编号(相当于X→Y)系编号→学号(相当于Y→X)系编号→系负责人(相当于Y→Z)因此,在R中存在传递