《数据库关系数据理论6》由会员分享,可在线阅读,更多相关《数据库关系数据理论6(45页珍藏版)》请在金锄头文库上搜索。
1、第六章第六章 关系数据理论关系数据理论6.1 问题的提出问题的提出6.2 规范化规范化6.3 范式范式6.4 规范化规范化小结小结6.1 问题的提出问题的提出一一.关系数据库逻辑设计关系数据库逻辑设计针针对对具具体体问问题题,如如何何构构造造一一个个适适合合于于它它的的数数据据模模式式数数据据库库逻逻辑辑设设计计的的工工具具关关系系数数据据库库的的规规范范化化理理论论6.1 问题的提出问题的提出二。关系模式的形式化定义:二。关系模式的形式化定义:关系模式由五部分组成,即它是一个五元组:关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名关系名U:组成该关系的属性名集合组成
2、该关系的属性名集合D:属性组属性组U中属性所来自的域中属性所来自的域DOM:属性向域的映象集合属性向域的映象集合F:属性间数据的依赖关系集合属性间数据的依赖关系集合6.1 问题的提出问题的提出三。属性间数据的依赖关系三。属性间数据的依赖关系数据依赖是一个关系内部属性和属性之间的一种约束关系数据依赖是一个关系内部属性和属性之间的一种约束关系.这种这种约束关系是属性约束关系是属性值值间的相互关连(主要体现于间的相互关连(主要体现于值的相等与否值的相等与否),它是数据库模式设计的关键。,它是数据库模式设计的关键。数据依赖的类型:函数依赖(数据依赖的类型:函数依赖(FunctionalDependen
3、cy,记为记为FD)多值依赖(多值依赖(MultivaluedDependency,记为记为MVD)其他其他6.1 问题的提出问题的提出四四.关系模式关系模式R(U,D,DOM,F)的简化表示:一个的简化表示:一个三元组三元组R(U,F)。当且仅当当且仅当U上的一个关系上的一个关系r满足满足F时,时,r称为关系称为关系模式模式R(U,F)的一个关系。的一个关系。五五.数据依赖对关系模式的影响数据依赖对关系模式的影响例:描述学校的数据库:例:描述学校的数据库:学生的学号(学生的学号(Sno)、)、所在系(所在系(Sdept)、)、系主任姓名系主任姓名(Mname)、)、课程号(课程号(Cno)、
4、)、成绩(成绩(Grade)6.1 问题的提出假设是一个单一的关系模式 : Student U Sno, Sdept, Mname, Cno, Grade 属性组U上的一组函数依赖F: F Sno Sdept, Sdept Mname, (Sno, Cno) Grade SnoCnoSdeptMnameGrade6.1 问题的提出问题的提出 数据冗余太大。浪费大量的存储空间。数据冗余太大。浪费大量的存储空间。 例:每一个系主任的姓名重复出现例:每一个系主任的姓名重复出现 更新异常(更新异常(Update AnomaliesUpdate Anomalies)。)。因数据冗余因数据冗余 ,更新数据
5、时,更新数据时,维护数据完整性代价大。维护数据完整性代价大。 例:某系更换系主任后,系统必须修改与该系学生有关的每例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组一个元组 插入异常(插入异常(Insertion AnomaliesInsertion Anomalies):):该插的数据插不进去该插的数据插不进去 删除异常(删除异常(Deletion AnomaliesDeletion Anomalies) 6.1 问题的提出结论结论:Student关系模式不是一个好的模式。关系模式不是一个好的模式。“好好”的模式:的模式:不会发生插入异常、删除异常、更新异常,不会发生插入异常、删除
6、异常、更新异常,数据冗余应尽可能少。数据冗余应尽可能少。原因:由存在于模式中的某些原因:由存在于模式中的某些数据依赖数据依赖引起的引起的解决方法:通过解决方法:通过分解分解关系模式来消除其中关系模式来消除其中不合适不合适的数据依赖的数据依赖。6.2 规范化规范化规范化理论规范化理论正是用来改造关系模式,通过分解关系模式来消除正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。异常和数据冗余问题。函数依赖函数依赖一、一、函数依赖函数依赖二、二、平凡函数依赖与非平凡函数依赖平凡函数依
7、赖与非平凡函数依赖三、三、完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖四、四、传递函数依赖传递函数依赖函数依赖函数依赖定义:设定义:设R(U)是一个属性集是一个属性集U上的关系模式,上的关系模式,X和和Y是是U的子集。的子集。若对于若对于R(U)的的任意任意一个可能的关系一个可能的关系r,r中不可能存在两个元组在中不可能存在两个元组在X上的属上的属性值相等,性值相等,而在而在Y上的属性值不等,上的属性值不等,则称则称“X函数确定函数确定Y”或或“Y函数依函数依赖于赖于X”,记作记作XY。X称为这个函数依赖的决定属性集称为这个函数依赖的决定属性集(Determinant)。Y=f(x)说
8、明:说明:1.函数依赖不是指关系模式函数依赖不是指关系模式R的某个或某些关系实例满足的约束的某个或某些关系实例满足的约束条件,而是指条件,而是指R的的所有关系实例所有关系实例均要满足的约束条件。均要满足的约束条件。2.函数依赖是函数依赖是语义范畴语义范畴的概念。只能根据数据的语义来确定函数的概念。只能根据数据的语义来确定函数依赖。依赖。函数依赖函数依赖3.数据库设计者可以对现实世界作强制的规定。例如规定不允数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖许同名人出现,函数依赖“姓名姓名年龄年龄”成立。所插入的元成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存
9、在,组必须满足规定的函数依赖,若发现有同名人存在,则拒绝则拒绝装入该元组。装入该元组。例例:Student(Sno,Sname,Ssex,Sage,Sdept)假设不允许重名,则有假设不允许重名,则有:SnoSsex,SnoSage,SnoSdept,SnoSname,SnameSsex,SnameSageSnameSdept,但但SsexSage若若XY,并且并且YX,则记为则记为XY。若若Y不函数依赖于不函数依赖于X,则记为则记为XY。二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,如果如果XY,但但Y X
10、,则称则称XY是非平凡的函数依赖是非平凡的函数依赖若若XY,Y X,则称则称XY是是平凡的函数依赖平凡的函数依赖例:在关系例:在关系SC(Sno,Cno,Grade)中,中,非平凡函数依赖:非平凡函数依赖:(Sno,Cno)Grade平凡函数依赖:平凡函数依赖:(Sno,Cno)Sno(Sno,Cno)Cno对于任一关系模式,平凡函数依赖都是必然成立的。对于任一关系模式,平凡函数依赖都是必然成立的。三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖定义:在关系模式定义:在关系模式R(U)中,如果中,如果XY,并且对于并且对于X的的任何一个真子集任何一个真子集X,都有都有XY,则称则称
11、Y完全函数依赖于完全函数依赖于X,记作记作XY。若若XY,但但Y不完全函数依赖于不完全函数依赖于X,则称则称Y部分函数部分函数依赖于依赖于X,记作记作XPY。例例:在关系在关系SC(Sno,Cno,Grade)中,中,由于:由于:SnoGrade,CnoGrade,因此:因此:(Sno,Cno)Grade四、传递函数依赖四、传递函数依赖定义定义5.3在关系模式在关系模式R(U)中,如果中,如果XY,YZ,且且Y X,Z Y,YX,则称则称Z传递函数依赖于传递函数依赖于X。注注:如果如果YX,即即XY,则则Z直接依赖于直接依赖于X。例例:在关系在关系Std(Sno,Sdept,Mname)中,有
12、:中,有:SnoSdept,SdeptMnameMname传递函数依赖于传递函数依赖于Sno码码设设K为关系模式为关系模式R中的属性或属性组合。若中的属性或属性组合。若KU,则则K称为称为R的一个的一个侯选码侯选码(CandidateKey)。)。若关若关系模式系模式R有多个候选码,则选定其中的一个做为有多个候选码,则选定其中的一个做为主码主码(Primarykey)。)。 定义:关系模式定义:关系模式 R R 中属性或属性组中属性或属性组X X 并非并非 R R的码,的码,但但 X X 是另一个关系模式的码,则称是另一个关系模式的码,则称 X X 是是R R 的的外部码外部码(Foreign
13、 keyForeign key)也称外码。也称外码。主码又和外部码一起提供了表示关系间联系的手段。主码又和外部码一起提供了表示关系间联系的手段。6.3 范式l范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。l关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。式。l范式的种类:范式的种类:第一范式第一范式(1NF)第二范式第二范式(2NF)第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(5NF)l各种范式之间存在联系:各种范式之间存在联系:l
14、某一关系模式某一关系模式R为第为第n范式,可简记为范式,可简记为RnNFl第一范式(第一范式(1NF)如果一个关系模式如果一个关系模式R R的所有属性都是不可分的基本数据项,的所有属性都是不可分的基本数据项,则则R1NFR1NF。 第一范式是对关系模式的最起码的要求。不满足第一范第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。式的数据库模式不能称为关系数据库。 但是满足第一范式的关系模式并不一定是一个好的关系但是满足第一范式的关系模式并不一定是一个好的关系模式。模式。例例:关系模式关系模式SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生
15、住处,假设每个系的学生住在同一个地方。为学生住处,假设每个系的学生住在同一个地方。SLC的码为(Sno, Cno),满足1NF, 非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno)函数依赖包括:函数依赖包括:(Sno,Cno)fGradeSnoSdept(Sno,Cno)PSdeptSnoSloc(Sno,Cno)PSlocSdeptSlocSnoCnoGradeSdeptSlocSLC(1)插入异常插入异常没选课的学生记录无法插入没选课的学生记录无法插入。(2)删除异常删除异常假定某个学生本来只选修了一门课。现在一门都不选修了。假定某个学生本来只选修了一门课。现在一门都不选修了
16、。因课程号是主属性,此操作将导致该学生信息的整个元组都因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。要删除。(3)数据冗余度数据冗余度(4)修改复杂修改复杂l原因原因Sdept、Sloc两个非主属性部分函数依赖于码。两个非主属性部分函数依赖于码。l解决方法解决方法SLC分解为两个关系模式,以消除这些部分函数依赖分解为两个关系模式,以消除这些部分函数依赖SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)SnoCnoGradeSCSLSnoSdeptSlocl第二范式(第二范式(2NF)定义:若关系模式定义:若关系模式R1NF,并且每一个并且每一个非主非主属属性都
17、性都完全完全函数依赖于函数依赖于R的码,则的码,则R2NF。例:例:SLC(Sno,Sdept,Sloc,Cno,Grade)1NFSLC(Sno,Sdept,Sloc,Cno,Grade)2NFSC(Sno,Cno,Grade)2NFSL(Sno,Sdept,Sloc)2NFl码只包含一个属性的关系模式若属于码只包含一个属性的关系模式若属于1NF,那一定属于那一定属于2NF。l采用投影分解法将一个采用投影分解法将一个1 1NFNF的关系分解为多个的关系分解为多个2 2NFNF的关系,可的关系,可以在一定程度上减轻原以在一定程度上减轻原1 1NFNF关系中存在的插入异常、删除异常、关系中存在的
18、插入异常、删除异常、数据冗余度大、修改复杂等问题。数据冗余度大、修改复杂等问题。 将一个将一个1 1NFNF关系分解为多个关系分解为多个2 2NFNF的关系,并不能完全消的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。除关系模式中的各种异常情况和数据冗余。例:例:2 2NFNF关系模式关系模式SL(SnoSL(Sno, , SdeptSdept, , SlocSloc) )中函数依赖:中函数依赖: SnoSdeptSnoSdept, SdeptSlocSdeptSloc, SnoSlocSnoSloc SlocSloc传递函数依赖于传递函数依赖于SnoSno,即即SLSL中存在非主属
19、性对码的传中存在非主属性对码的传递函数依赖。递函数依赖。 这样,这样,SLSL中仍存在插入异常、删除异常、数据冗余度大等中仍存在插入异常、删除异常、数据冗余度大等问题问题l解决方法采用投影分解法,把SL分解为两个关系模式,以消除传递函数依赖: SD(Sno, Sdept) DL(Sdept, Sloc)SnoSdeptSDSdeptSlocDL第三范式(3NF)定义:关系模式定义:关系模式R中若不存在这样的中若不存在这样的码码X、属性组属性组Y及及非主属性非主属性Z(Z Y), 使得使得XY,YX,YZ成立,则称成立,则称R3NF。例,例,SL(Sno,Sdept,Sloc)2NFSL(Sno
20、,Sdept,Sloc)3NFSD(Sno,Sdept)3NFDL(Sdept,Sloc)3NF说明:说明:l若若R3NF,则则R的每一个的每一个非主属性非主属性既不部分函数依赖于候选码既不部分函数依赖于候选码也不传递函数依赖于候选码。也不传递函数依赖于候选码。l3NF不允许关系模式的属性间有这样的非平凡函数依赖不允许关系模式的属性间有这样的非平凡函数依赖XY,其中其中X不包含码,不包含码,Y是非主属性。是非主属性。l如果如果R3NF,则则R也是也是2NF。l采用投影分解法将一个采用投影分解法将一个2NF的关系分解为多个的关系分解为多个3NF的关系,可以的关系,可以在一定程度上解决原在一定程度
21、上解决原2NF关系中存在的插入异常、删除异常、数关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。据冗余度大、修改复杂等问题。l将一个将一个2NF关系分解为多个关系分解为多个3NF的关系后,并不能完全消除关系的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。模式中的各种异常情况和数据冗余。BCNFl定义定义: : 设关系模式设关系模式RUR1NFF1NF,如果对于如果对于R R的每的每个函数依赖个函数依赖XYXY,若若Y Y不是不是X X的子集,则的子集,则X X必含有候选码,必含有候选码,那么那么RBCNFRBCNF。若RBCNF ,则 每一个决定属性集(因素)都包含(
22、候选)码每一个决定属性集(因素)都包含(候选)码 R R中的所有属性(主,非主属性)都完全函数依赖中的所有属性(主,非主属性)都完全函数依赖于码于码BCNF例如:在关系模式例如:在关系模式STJ(S,T,J)中,中,S表示学生,表示学生,T表示教师,表示教师,J表示课程。表示课程。假设:每一教师只教一门课。每门课由若干教师教,某一学生假设:每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称师的课就确定了所选课的名称:(S,J)T,(S,T)J,TJn(S,J)和和
23、(S,T)都可以作为候选码都可以作为候选码;S、T、J都都是主属性是主属性SJTSTJSTJSTJ3NF,但但是是STJ不不属属于于BCNF,TJ,T是是决决定定属属性性集集,T不是候选码不是候选码解决方法:将STJ分解为二个关系模式: SJ(S,T) BCNF, TJ(T,J) BCNF没有任何属性对码的部分函数依赖和传递函数依赖BCNF的关系模式所具有的性质的关系模式所具有的性质1. 所有所有非主属性非主属性都完全函数依赖于每个候选码都完全函数依赖于每个候选码 所有所有主属性主属性都完全函数依赖于每个不包含它的候都完全函数依赖于每个不包含它的候选码选码 没有任何属性完全函数依赖于非码的任何
24、一组属没有任何属性完全函数依赖于非码的任何一组属性性如果关系模式如果关系模式RBCNF,必定有必定有R3NF;如果如果R3NF,且且R只有一个候选码,则只有一个候选码,则R必属于必属于BCNF。3NF和和BCNF是以函数依赖为基础的关系模式规范是以函数依赖为基础的关系模式规范化程度的测试。化程度的测试。3NF和和BCNF的关系的关系多值依赖与4NF多值依赖例例:学校中某一门课程由多个教师讲授,他们使用相同的学校中某一门课程由多个教师讲授,他们使用相同的一套参考书一套参考书关系模式关系模式Teaching(C,T,B)课程课程C、教师教师T和和参考书参考书B普通物理学普通物理学光学原理光学原理物
25、理习题集物理习题集普通物理学普通物理学光学原理光学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析微分方程微分方程高等代数高等代数李李 勇勇李李 勇勇李李 勇勇王王 军军王王 军军王王 军军李李 勇勇李李 勇勇李李 勇勇张张 平平张张 平平张张 平平 物物 理理物物 理理物物 理理物物 理理物物 理理物物 理理数数 学学数数 学学数数 学学数数 学学数数 学学数数 学学 参考书B教员T课程C1. Teach具有唯一候选码(C,T,B), 即全码2. TeachingBCNF:3. Teaching模式中存在的问题:(1)数据冗余度大:有多少名任课教师,参
26、考书就要存储多少次数据冗余度大:有多少名任课教师,参考书就要存储多少次(2)插入操作复杂:当某一课程增加一名任课教师时,该课程有插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组多少本参照书,就必须插入多少个元组(3)删除操作复杂:某一门课要去掉一本参考书,该课程有多删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组少名教师,就必须删除多少个元组(4)修改操作复杂:某一门课要修改一本参考书,该课程有多修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组少名教师,就必须修改多少个元组l产生原因产生原因存
27、在多值依赖,参考书和教师两列独立无关,都只取决于课程名。存在多值依赖,参考书和教师两列独立无关,都只取决于课程名。多值依赖的定义1.设R(U)是属性集U上的一个关系模式, X、 Y和Z是U的子集,并且ZUXY,多值依赖 XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关 例 Teaching(C, T, B) 对于C的每一个值,T有一组值与之对应,而不论B取何值多值依赖的定义2.在R(U)的任一关系r中,如果存在元组t,s 使得tX=sX,那么就必然存在元组 w,v r,(w,v可以与s,t相同),使得wX=vX=tX,而wY=tY,wZ
28、=sZ,vY=sY,vZ=tZ(即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为XY。 这里,X,Y是U的子集,Z=U-X-Y。 t x y1 z2 s x y2 z1 w x y1 z1 v x y2 z2平凡多值依赖和非平凡的多值依赖 若XY,而Z,则称XY为平凡的多值依赖,否则称XY为非平凡的多值依赖。多值依赖的性质多值依赖的性质(1)多值依赖具有对称性 若XY,则XZ,其中ZUXY 多值依赖的对称性可以用完全二分图直观地表示出来。(2)多值依赖具有传递性 若XY,YZ, 则XZ -Y(3)函数依赖是多值依赖的特殊情况。若XY,则XY。(4)若XY,XZ,则XY
29、Z。(5)若XY,XZ,则XYZ。(6)若XY,XZ,则XY-Z,XZ -Y。多值依赖与函数依赖的区别多值依赖与函数依赖的区别(1) 有效性l多值依赖的有效性与属性集的范围有关 若XY在U上成立,则在W(X Y W U)上一定成立;反之则不然,即XY在W(W U)上成立,在U上并不一定成立。因为:多值依赖的定义中不仅涉及属性组 X和 Y,而且涉及U中其余属性Z。 一般的,在R(U)上若有XY在W(W U)上成立,则称XY为R(U)的嵌入型多值依赖。l函数依赖XY的有效性仅决定于X,Y两个属性,若在属性 集W上成立,则在属性集U( W U)上成立。多值依赖与函数依赖的区别多值依赖与函数依赖的区别
30、(2)若函数依赖XY在R(U)上成立,则对于任何Y Y均有XY 成立多值依赖XY若在R(U)上成立,不能断言对于任何Y Y有XY 成立4NF定义l定义:关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y 不是X的子集),X都含有候选码,则R4NF。l如果R 4NF, 则R BCNF 不允许有非平凡且非函数依赖的多值依赖,允许的其实是函数依赖例:例:Teach(C,T,B)不是不是4NF。存在非平凡的多值依赖存在非平凡的多值依赖CT,且且C不是候选码。用投影分解法把不是候选码。用投影分解法把Teach分解为如下两个分解为如下两个关系模式:关系模式:CT(C,T)4NFCB(C,B)4NFC
31、T,CB是平凡多值依赖是平凡多值依赖规范化小结规范化小结l关系数据库的规范化理论是数据库逻辑设计的工具。关系数据库的规范化理论是数据库逻辑设计的工具。l一个关系只要其分量都是不可分的数据项,它就是规范化的一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化。关系,但这只是最基本的规范化。l规范化程度可以有多个不同的级别规范化程度可以有多个不同的级别l规范化程度过低的关系不一定能够很好地描述现实世界,可规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题能会存在插入异常、删除异常、修改复杂、数据冗余等问题n 一个低一
32、级的关系模式,通过模式分解可以转化一个低一级的关系模式,通过模式分解可以转化为若干个高一级范式的关系模式集合,这种过程就为若干个高一级范式的关系模式集合,这种过程就叫叫关系模式的规范化关系模式的规范化n 规范化的基本思想是逐步消除数据依赖中不合规范化的基本思想是逐步消除数据依赖中不合适的部分。让一个关系描述一个实体或联系。规范适的部分。让一个关系描述一个实体或联系。规范化的实质是概念的单一化。化的实质是概念的单一化。关系模式规范化的基本步骤关系模式规范化的基本步骤1NF消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除决定属性消除决定属性2NF集非码的非平集非码的非平消除非主属性
33、对码的传递函数依赖消除非主属性对码的传递函数依赖凡函数依赖凡函数依赖3NF消除主属性对码的部分和传递函数依赖消除主属性对码的部分和传递函数依赖BCNF消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖4NF消除4NF中的连接依赖(多值依赖是连接依赖的特殊形式)就会得到5NF。5NF是最终范式。 设计数据库时根据实际情况和用户应用需求确定关系模式的规范化级别。不是规范化程度越高越好不是规范化程度越高越好。分解具有无损连接性;分解保持函数依赖 这是关系模式分解时两个相互独立的标准。具有无损连接性的分解不一定能保持函数依赖;保持函数依赖的分解也不一定具有无损连接性。 涉及到学生、教师和课程的关系模式STC(Sno,Sname,Sage,Tname,Cname,Grade),其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名。又假设每个教师只教一门课,但一门课可有几个教师开设。当某个学生选定某门课后,其上课教师就固定了。1) 写出所有函数依赖(注:部分依赖可以不写);(3分)2)写出该关系的所有候选码 (2分)3)此关系模式达到第几范式?为什么?(2分)4) 如果不是BCNF, 将其分解为BCNF. (3分) 习题