资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,南京航空航天大学金城学院,第六章 关系数据理论,概念回顾,关系,一个关系通常对应通常说的一张表,关系模式,对于关系的描述,R(U, D, DOM, F),F,是属性组,U,上的一组,数据依赖,什么是数据依赖,数据依赖,关系内部属性与属性之间的一种约束关系。这种约束关系通过,属性间的值相等与否,来体现的数据间的相互联系,数据依赖对关系模式的影响,例,1,建立一个描述学校教务的数据库,数据库涉及的对象包括:学生的学号(,Sno,)、所在系(,Sdept,)、系主任姓名(,Mname,)、,课程名(,Cname,)、成绩(,Grade,),一个系有若干学生, 一个学生只属于一个系;,一个系只有一名系主任;,一个学生可选修多门课程, 每门课程有若干学生选修,每个学生所学的每门课程都有一个成绩,Student,表,Sno,Sdept,Mname,Cname,Grade,95001,IS,张明,数据库,90,95002,IS,张明,数据库,70,95002,IS,张明,数学,89,95002,IS,张明,信息系统,75,95003,IS,张明,数据库,80,95003,IS,张明,信息系统,90,存在的问题,数据冗余太大,更新异常(,Update Anomalies,),插入异常(,Insertion Anomalies,),删除异常(,Deletion Anomalies,),函数依赖,设,R(U),是一个属性集,U,上的关系模式,,X,和,Y,是,U,的子集。若对于,R(U),的,任意一个,可能的关系,r,,,r,中,不可能存在,两个元组在,X,上的属性值相等, 而在,Y,上的属性值不等, 则称,“,Y,函数依赖于,X,”,,记作,XY,函数依赖,例,: Student(Sno, Sname, Ssex, Sage, Sdept),假设,不允许重名,,则有,:,Sno Ssex,,,Sno Sage , Sno Sdept,,,Sno Sname,Sname Ssex,,,Sname Sage, Sname Sdept,若,XY,,并且,YX,则记为,X,Y,函数依赖,函数依赖,平凡函数依赖与非平凡函数依赖,完全函数依赖与部分函数依赖,传递函数依赖,完全函数依赖与部分函数依赖,在关系模式,R(U),中,如果,XY,,并且对于,X,的任何一个,真子集,X,,都有,Y,不函数依赖于,X,, 则称,Y,完全函数依赖,于,X,,记作,若,XY,,但,Y,不完全函数依赖于,X,,则称,Y,部分函数依赖,于,X,,记作,码,设,K,为关系模式,R,中的属性或属性组合,如果 则,K,称为,R,的一个,侯选码,若有多个候选码,则选定其中的一个做为,主码,其他相关概念,主属性与非主属性,ALL,KEY,外码,完全函数依赖,练习,关系数据库规范化是为解决关系数据库中,问题而引入的,A.,插入、 删除和数据冗余,B.,提高查询速度,C.,减少数据操作的复杂性,D.,保证数据的安全性和完整性,在关系,A(S,SN,D),和,B(D,CN,NM),中,,A,的主键是,S,,,B,的主键是,D,,则,D,在,A,中称为,。,设有关系模式,R(U,F),,求其中的候选码:,U=A,B,C,D,E,P,F=AB,C P,E A,CE D,范式,范式:符合某一种级别的关系模式的集合,各种范式之间存在联系:,1NF,第一范式,如果一个关系模式,R,的所有属性都是,不可分的基本数据项,,则,R1NF,1NF,是关系数据库中的最低要求,2NF,例,4,关系模式,SLC(Sno, Sdept, Sloc, Cno, Grade),,其中,Sloc,为学生住处,假设每个系的学生住在同一个地方,存在部分函数依赖,SLC,表,Sno,Sdept,Sloc,Cno,Grade,95001,IS,A12,C1,90,95002,CS,A14,C1,70,95002,CS,A14,C3,89,95002,CS,A14,C2,75,95003,IS,A12,C1,80,95003,IS,A12,C2,90,95004,PHY,A16,2NF,第二范式,若关系模式,R1NF,,并且每一个,非主属性都完全函数依赖于,R,的码,,则,R2NF,判断下列关系模式是否满足,2NF,SLC(Sno, Sdept, Sloc, Cno, Grade),U=A,B,C,D,E,P,F=AB,C P,E A,CE D,2NF,解决方法,通过模式分解将低一级的关系范式,转换为若干个高一级的关系范式,SLC,分解为两个关系模式,以消除部分函数依赖,SC(Sno,Cno,Grade),SL(Sno,Sdept,Sloc),练习,R1(A,B,C,D,E),F=,R2(A,B,C), F=AB,B C,找出所有的候选码,给出主属性集,非主属性集,是否满足,2NF,练习,规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是,。,A .,互不相关的,B,不可分解的,C,长度可变的,D,互相关联的,关系模型中的关系模式至少是,。,A,1NF B,2NF C,3NF D,BCNF,当,B,属性函数依赖于,A,属性时,属性,A,与,B,的联系是,。,A,1,对多,B,多对,1 C,多对多,D,以上都不是,练习,R3(A,B,C,D,E),F=AD , (A, B) C , C E , E B,找出所有的候选码,给出主属性集,非主属性集,是否满足,2NF,传递函数依赖,在关系模式,R(U),中,如果,XY,,,YZ,,且,Y,X,,,YX,,,Y,Z,,则称,Z,传递函数,依赖于,X,注,:,如果,YX,, 即,XY,,则,Z,直接依赖,于,X,3NF,第三范式,关系模式,R,中若,不存在,这样的,码,X,、属性组,Y,及,非主属性,Z,(,Z,Y,),使得,X,Y,(,Y,X),,,Y,Z,成立,则,R,3NF,消除非主属性的,传递函数依赖,3NF,例:,SL(Sno, Sdept, Sloc),中,SnoSdept,,,SdeptSloc,则,SnoSloc,解决方法,SD(Sno,,,Sdept),DL(Sdept,,,Sloc),练习,(,续,),R1(A,B,C,D,E),F=,R2(A,B,C), F=AB,B C,R3(A,B,C,D,E),F=AD , (A, B) C , C E , E B,是否满足,3NF,BCNF,BC,范式,设,关系模式,R,1NF,,若,X,Y,,且,Y,不属于,X,时,X,必含有候选码,,那么,R,BCNF,若,RBCNF,每一个决定属性都包含码,R,中的,非主属性,都,完全函数,依赖于码,R,中的,主属性,对每一个不包含它的码,也是完全依赖,R3NF,,若,R3NF,则,R,未必属于,BCNF,例题,例,5,关系模式,C(Cno,Cname,Pcno),C 3NF,,,C BCNF,例,6,关系模式,S(Sno,Sname,Sdept,Sage),Sno Ssex,,,Sno Sage , Sno Sdept,,,Sno Sname,Sname Ssex,,,Sname Sage, Sname Sdept,S3NF,,,S BCNF,例题,例,7 SJP(S,,,J,,,P),S,表示学生,,J,表示课程,,P,表示名次,每个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生,SJP 3NF,,,SJP BCNF,练习,R1(A,B,C,D,E),F=,R3(A,B,C,D,E),F=AD , (A, B) C , C E , E B,是否满足,BCNF,思考题,全码是否一定满足,BCNF,?,关系,R,中没有非主属性,则至少满足第几范式?,规范化,关系模式规范化的基本步骤,1NF,消除,非主属性,对码的部分函数依赖,2NF,消除,非主属性,对码的传递函数依赖,3NF,消除,主属性,对码的部分和传递函数依赖,BCNF,消除非平凡且非函数依赖的多值依赖,4NF,练习,如下所示的关系,R,。,A,不是,3NF B,是,3NF,但不是,2NF,C,是,3NF,但不是,BCNF D,是,BCNF,在关系模式,R,(,A,B,C,D,)中,有函数依赖集,F=B,C,C,D,D,A,,则,R,能达到,。,A,1NF B,2NF C,3NF D,以上三个都不是,零件号,单价,P1,25,P2,8,P3,25,P4,9,练习,任何一个二目关系都是属于,3NF,的,任何一个二目关系都是属于,BCNF,的,若,若,若,若,
展开阅读全文