《关系数据模式的规范化理论.ppt》由会员分享,可在线阅读,更多相关《关系数据模式的规范化理论.ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)1Version No:1.0Version No:1.0关系数据模式的规范化理论 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)2Version No:1.0Versio
2、n No:1.0什么是数据库设计?怎么设计?现实世界数据/关系机器世界4.1 问题的提出问题的提出 Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)3Version No:1.0Version No:1.0是不是从信息世界的模型中简单地转化为机器世界的数据就可以了呢?实体关系表属性数据项4.1 问题的提出问题的提出 Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)4Version No:1.0Ve
3、rsion No:1.04.1 问题的提出问题的提出如果要设计一个教学管理数据库,希望从数据库中得到学生学号(sno)、学生姓名(name)、性别(sex)、学生学习的课程号(cno)、课程名(cname)和该门课程的成绩(grade)。如何设计该关系模式?主码是什么?(学号,姓名,性别,课程号,课程名,成绩)(SNO,NAME,SEX,CNO,CNAME,GRADE)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)5Version No:1.0Version No:1.04.1 问题的提出问题
4、的提出问题1:数据冗余SNONAMESEXCNOCNAME GRADES0102王华男C108C语言84S0102王华男C206数据库92S0108李丽女C206数据库86S0108李丽女C207数学86Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)6Version No:1.0Version No:1.04.1 问题的提出问题的提出问题2:不一致性SNONAMESEXCNOCNAME GRADES0102王华男C108C语言84S0102张三男C206数据库92S0108李丽女C206数据库
5、86S0108李丽女C207数学86Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)7Version No:1.0Version No:1.04.1 问题的提出问题的提出问题3:插入异常SNONAMESEX CNOCNAMEGRADES0102王华男C108C语言84S0102王华男C206数据库92S0108李丽女C206数据库86S0108李丽女C207数学86(S0010,李四,男,null,null,null)Copyright2006Copyright2006College of IT
6、Soft(HZIEE)College of ITSoft(HZIEE)8Version No:1.0Version No:1.04.1 问题的提出问题的提出问题4:删除异常(当某学号只有一条记录,并做删除操作时)SNONAME SEXCNOCNAMEGRADES0102 王华男C108C语言84S0103 张三男C206数据库92S0108 李丽女C206数据库86S0108 李丽女C207数学86Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)9Version No:1.0Version No
7、:1.04.1 问题的提出问题的提出解决方案S1(SNO,NAME,SEX)S2(CNO,CNAME)S3(SNO,CNO,GRADE)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)10Version No:1.0Version No:1.04.2 函数依赖函数依赖定义1设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X-YCopyright2006Co
8、pyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)11Version No:1.0Version No:1.04.2 函数依赖函数依赖例子职工号-姓名S1:SNO-NAME;SNO-SEXS2:(SNO,CNO)-GRADES3:CNO-CNAMECopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)12Version No:1.0Version No:1.04.2 函数依赖函数依赖定义2 设X-Y是一个函数依赖,若 则称X-Y是一个
9、平凡函数依赖。设X-Y是一个函数依赖,若 则称X-Y是一个非平凡函数依赖。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)13Version No:1.0Version No:1.04.2 函数依赖函数依赖 例子 在S2中有 (SNO,CNO)-SNO (SNO,CNO)-CNO 所以这些都是平凡函数依赖关系 (SNO,CNO)-GRADE 这个是非平凡函数依赖关系Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSof
10、t(HZIEE)14Version No:1.0Version No:1.04.2 函数依赖函数依赖定义3设X-Y是一个函数依赖,并且对于任何则称XY是一个完全函数依赖。即Y函数依赖于整个X,记Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)15Version No:1.0Version No:1.04.2 函数依赖函数依赖举例:在关系S(SNO,NAME,SEX,CNO,CNAME,GRADE)中:(SNO,CNO)-GRADE但SNO-GRADE;(CNO)-GRADE都不成立所以(SNO,
11、CNO)-GRADE是完全函数依赖关系。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)16Version No:1.0Version No:1.04.2 函数依赖函数依赖定义4设X-Y是一个函数依赖,但不是完全函数依赖,则称X-Y是一个部分函数依赖,或称Y函数依赖于X的某个真子集,记Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)17Version No:1.0Version No:1.04.2
12、 函数依赖函数依赖在关系S(SNO,NAME,SEX,CNO,CNAME,GRADE)中:(SNO,CNO)-NAME,而对于每个学生都有唯一的SNO值,所以SNO-NAME,而CNO-NAME,因此,(SNO,CNO)-NAME是部分函数依赖(SNO,CNO)NAMEpCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)18Version No:1.0Version No:1.04.2 函数依赖函数依赖设R(U)是一个关系模式,则称Z传递函数依赖于X,记Copyright2006Copyright
13、2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)19Version No:1.0Version No:1.04.2 函数依赖函数依赖例子:班级(班号,专业名,系名,人数,入学年份)班号-专业名,专业名-系名,班号-人数,班号-入学年份班号-专业名,专业名-系名Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)20Version No:1.0Version No:1.04.2 函数依赖函数依赖函数依赖与属性关系 属性之间有3种关系,但并不是每一
14、种关系中都存在函数依赖。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)21Version No:1.0Version No:1.0函数依赖与属性关系函数依赖与属性关系设R(U)是属性集U上的关系模式,X,Y是U的子集:若X和Y之间是1:1关系,则存在函数依赖 X-Y,Y-X;若X和Y之间是1:n关系,则存在函数依赖 X-Y;若X和Y之间是m:n关系,则X,Y间不存在函数依赖.Copyright2006Copyright2006College of ITSoft(HZIEE)College of
15、 ITSoft(HZIEE)22Version No:1.0Version No:1.0函数依赖与属性关系函数依赖与属性关系分析下列关系中各种函数的依赖关系:学生(学号,姓名,出生年月,系名,班号,宿舍区)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)23Version No:1.0Version No:1.0Armstrong公理公理背景为了从一组函数依赖中求得逻辑蕴涵的函数依赖,例如已知函数依赖集F,要问是否逻辑蕴涵X-Y,就需要一套推理规则.Copyright2006Copyright2
16、006College of ITSoft(HZIEE)College of ITSoft(HZIEE)24Version No:1.0Version No:1.0Armstrong公理公理设A,B,C,D是给定关系模式R的属性集的任意子集,并把A和B的并集称为AB,则其推理规则可归结为3条:自反律:如果这是一个平凡函数依赖增广律:如果传递律:如果Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)25Version No:1.0Version No:1.0Armstrong公理公理推论推论自合规则:
17、A-A分解规则:A-BC,则A-B且 A-C合并规则:A-B且 A-C,则A-BC复合规则:A-B且 C-D成立,则AC-BDCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)26Version No:1.0Version No:1.04.2 函数依赖函数依赖4.2.6 4.2.6 闭包及其计算闭包及其计算定定义义6 6:设设F F是是关关系系模模式式R R的的一一个个函函数数依依赖赖集集,X X,Y Y是是R R的的属属性性子子集集,如如果果从从F F中中的的函函数数依依赖赖能能够够推推出出XY
18、XY,则则称称F F逻逻辑辑蕴涵蕴涵XYXY。定定义义7 7:被被F F逻逻辑辑蕴蕴涵涵的的函函数数依依赖赖的的全全体体构构成成的的集集合合,称称为为F F的闭包,记为的闭包,记为F F+。练习练习1 1:设有关系模式:设有关系模式R(A,B,C,D,E)R(A,B,C,D,E),F=AC,BC E,D C,E AF=AC,BC E,D C,E A,试求,试求F F的闭包的闭包F F+。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)27Version No:1.0Version No:1.04
19、.2 函数依赖函数依赖定定义义8 8:设设F F是是属属性性集集U U上上的的一一组组函函数数依依赖赖,X X U U,则则属属性性集集X X关关于于F F的的闭闭包包X X+定定义义为为X X+=A|AU=A|AU且且XAXA在在F F+中中,即即X=A|XAFX=A|XAF+。算法算法4.1 result=X do if F中有某个函数依赖中有某个函数依赖YZ满足满足Y result then result=result Z while(result有所改变有所改变);Copyright2006Copyright2006College of ITSoft(HZIEE)College of
20、ITSoft(HZIEE)28Version No:1.0Version No:1.0XF+算法算法:设设i=0 令令 X(0)=X 计算计算 A=B|一切一切W X(i)且且 W B F+令令 X(i+1)=X(i)A 判断判断 X(i+1)=X(i)是否成立,是否成立,成立,转成立,转,不成立,不成立,i=i+1,转,转 算法结束,算法结束,XF+=X(i)4.2 函数依赖函数依赖Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)29Version No:1.0Version No:1.0随堂
21、练习随堂练习练习练习1 1:设有关系模式:设有关系模式R(A,B,C,D,E)R(A,B,C,D,E),F=AB,C E,D ACF=AB,C E,D AC,试求,试求D D关于关于F F的闭包。的闭包。练习练习2 2:设有关系模式:设有关系模式R(A,B,C,D,E)R(A,B,C,D,E),F=ABC,BD,CE,EC,ACF=ABC,BD,CE,EC,AC,试求,试求BCBC关于关于F F的闭包的闭包(BC)(BC)F F+。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)30Versio
22、n No:1.0Version No:1.04.2 函数依赖函数依赖关键码的定义 如果XU在R上成立(即XU在F+中),那么称X是R的一个超键。如果XU在R上成立,但对X的任一真子集X都有XU不成立(即XU不在F+中,或者X U),那么称X是R上的一个候选键。快速求解候选键的一个充分条件 对于给定的关系模式R(A1,An)和函数依赖集F,可将其属性分为以下四类:fL类类R类类 N类类 LR类类 Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)31Version No:1.0Version No:
23、1.0定理4.4 对于给定的关系模式R及其函数依赖集F(1)若X(XR)是L类属性,则X必为R的任一候选键的成员。(2)若X(XR)是L类属性,且X+包含了R的全部属性,则X必为R的惟一候选键。(3)若X(XR)是R类属性,则X不在任何候选键中。(4)若X(XR)是N类属性,则X包含在R的任一候选键中。(5)若X(XR)是R的N类和L类属性组成的属性集,且X+包含了R的全部属性,则X是R的惟一候选键。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)32Version No:1.0Version
24、No:1.0随堂练习随堂练习练习练习1 1:设有关系模式:设有关系模式R(A,B,C,D,E)R(A,B,C,D,E),F=AB,CG,EAF=AB,CG,EA,CE DCE D,求,求R R的所有候选键。的所有候选键。练习练习2 2:设有关系模式:设有关系模式R(A,B,C,D,E,P)R(A,B,C,D,E,P),F=AD,ED,DB,BCD,DCAF=AD,ED,DB,BCD,DCA,求,求R R的所有候选键。的所有候选键。练习练习3 3:设有关系模式:设有关系模式R(A,B,C,D,E)R(A,B,C,D,E),F=ABC,CDE,BD,EAF=ABC,CDE,BD,EA,求,求R R
25、的所有候选键。的所有候选键。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)33Version No:1.0Version No:1.0多属性函数依赖集候选键的求解算法(1)属性分类(L、R、N和LR)(2)若X+包含了R的全部属性,转(5);否则,转(3)。(3)在Y中取一个属性A,求(XA)+,若它包含了R的全部属性,则转(4);否则,调换一属性反复进行这一过程,直到试完所有Y中的属性。(4)如果已找出所有候选键,则转(5);否则在Y中依次取两个、三个、,求它们的属性集的闭包,直到其闭包包含
26、R的全部属性。(5)停止,输出结果。令令X代表代表L和和N类,类,Y代表代表LR类类Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)34Version No:1.0Version No:1.0随堂练习随堂练习设有关系模式设有关系模式R(A,B,C,D,E,G)R(A,B,C,D,E,G),F F=BGC,BDE,DGC,BGC,BDE,DGC,ADGBC,ADGBC,AGB,AGB,BDBD,试试求求R R的所有候选键。的所有候选键。Copyright2006Copyright2006Colle
27、ge of ITSoft(HZIEE)College of ITSoft(HZIEE)35Version No:1.0Version No:1.04.4 范式和规范化范式和规范化 要想设计一个好的关系,必须使关系满足一定的约束条件,此约束条件已经形成了规范,分成几个等级,一级比一级要求得严格。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)36Version No:1.0Version No:1.04.4 范式和规范化范式和规范化 满足最低要求的关系称为第一范式,在此基础上又满足某条件,达到第二
28、范式,如此类推,直到第五范式.Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)37Version No:1.0Version No:1.04.4 范式和规范化范式和规范化 一个较低范式关系,可以通过关系的无损分解转换为若干较高范式关系的集合,这一过程叫做关系规范化关系规范化.Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)38Version No:1.0Version No:1.04.4 范式和规
29、范化范式和规范化 一般情况下,第一范式和第二范式的关系存在许多缺点,实际的关系数据库一般使用第三范式以上的关系.Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)39Version No:1.0Version No:1.04.4.1 范式范式范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)Copyright2006Cop
30、yright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)40Version No:1.0Version No:1.0范式(续)范式(续)各种范式之间存在联系:某一关系模式R为第n范式,可简记为RnNF。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)41Version No:1.0Version No:1.04.4 范式和规范化范式和规范化 n候选码定义 设K为关系模式R(U,F)中的属性或属性组合,若K U,则k称为R的一个候选码。若
31、关系模式R中有多个候选码,则选定其中一个作为主码。组成候选码的属性称为主属性,不参加任何候选码的属性成为非主属性。fCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)42Version No:1.0Version No:1.0第一范式第一范式4.4.2 4.4.2 范式的判定条件与规范化范式的判定条件与规范化1.1.第一范式(第一范式(1NF1NF)定义:设定义:设R R是一个关系模式,是一个关系模式,R R属于第一范式当且仅当属于第一范式当且仅当R R中中每一个属性每一个属性A A的值域只包含原
32、子项,即不可分割的数据项。的值域只包含原子项,即不可分割的数据项。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)43Version No:1.0Version No:1.0第一范式(续)第一范式(续)例:关系模式 SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方。函数依赖包括:(Sno,Cno)f Grade Sno Sdept (Sno,Cno)P Sdept Sno Sloc (Sno,Cno)P Sloc Sdept SlocC
33、opyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)44Version No:1.0Version No:1.0第一范式(续)第一范式(续)SLC的码为(Sno,Cno)SnoCnoGradeSdeptSlocSLCCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)45Version No:1.0Version No:1.0第一范式(续)第一范式(续)结论:1.SLC满足第一范式。2.非主属性Sdept和
34、Sloc部分函数依赖于码(Sno,Cno)。snocnosdeptslocgradeCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)46Version No:1.0Version No:1.0第一范式(续)第一范式(续)第一范式存在的问题第一范式存在的问题n插入异常:若插入一个学生,但未选课,这样的元祖不能插入。n删除异常:如果某个学生只选修了一门课,如果他不选该课程了,则在删除课程号的同时会把该学生也一起删除。n数据冗余大:如果一个学生选修了10门课程,则他的DEPT和SLOC值就要重复存储1
35、0次。n修改复杂:如果要修改DEPT和SLOC的值,则必须修改10次。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)47Version No:1.0Version No:1.0第一范式(续)第一范式(续)原因 Sdept、Sloc部分函数依赖于码。解决方法 采用投影分解法,把SLC分解为两个关系模式,以消除这些部分函数依赖。SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)Copyright2006Copyright2006College of ITSoft(HZIEE)C
36、ollege of ITSoft(HZIEE)48Version No:1.0Version No:1.0第一范式(续)第一范式(续)SnoCnoGradeSdeptSlocSLCCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)49Version No:1.0Version No:1.0第一范式(续)第一范式(续)函数依赖图:SnoCnoGradeSCSLSnoSdeptSlocCopyright2006Copyright2006College of ITSoft(HZIEE)College o
37、f ITSoft(HZIEE)50Version No:1.0Version No:1.0第二范式第二范式2.2.第二范式(第二范式(2NF2NF)定义:设定义:设R R是一个关系模式,是一个关系模式,R R属于第二范式当且仅当属于第二范式当且仅当R R是是1NF1NF,且每个非主属性都完全函数依赖于主码。,且每个非主属性都完全函数依赖于主码。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)51Version No:1.0Version No:1.0 第二范式(续)第二范式(续)例:2NF关系模
38、式SL(Sno,Sdept,Sloc)中函数依赖:SnoSdept SdeptSloc SnoSlocSLSnoSdeptSlocSloc传递函数依赖于传递函数依赖于Sno,即,即SL中存在非中存在非主属性对码的传递函数依赖。主属性对码的传递函数依赖。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)52Version No:1.0Version No:1.0第二范式(续)第二范式(续)第二范式存在的问题第二范式存在的问题n删除异常:如果某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系的
39、信息也丢掉了。n数据冗余大:每一个系的学生都住在同一个地方,系的住处重复了多次。n修改复杂:当学校调整学生住处,如信息系的学生全部迁到另一地方,修改时必须同时修改该系的所有学生的SLOC属性值。n原因是还存在原因是还存在sloc对对sno的传递函数依赖的传递函数依赖Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)53Version No:1.0Version No:1.0 第二范式(续)第二范式(续)原因Sloc传递函数依赖于Sno解决方法 采用投影分解法,把SL分解为两个关系模式,以消除传递函
40、数依赖:SD(Sno,Sdept)DL(Sdept,Sloc)SD的码为Sno,DL的码为Sdept。SLSnoSdeptSlocCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)54Version No:1.0Version No:1.0 第二范式(续)第二范式(续)SD的码为Sno,DL的码为Sdept。SnoSdeptSDSdeptSlocDLCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)5
41、5Version No:1.0Version No:1.0第三范式第三范式3.3.第三范式(第三范式(3NF3NF)定义:设定义:设R R是一个关系模式,是一个关系模式,R R属于第三范式当且仅当属于第三范式当且仅当R R是是2NF2NF,且每个非主属性都非传递函数依赖于主码。,且每个非主属性都非传递函数依赖于主码。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)56Version No:1.0Version No:1.0第三范式(续)第三范式(续)例如:模型例如:模型SC(SNO,SNAME,
42、CNO,GRADE)SC(SNO,SNAME,CNO,GRADE)模型的候选码是:模型的候选码是:(SNO,CNO)(SNO,CNO)、(SNAME,CNO)(SNAME,CNO)非主属性只有非主属性只有GRADEGRADE,对这两个候选码都是完全函数,对这两个候选码都是完全函数依赖,因此依赖,因此SC3NFSC3NF。存在的问题存在的问题n删除异常:当学生退选了课程,元组被删除也失去学生学号和姓名的对应关系。n数据冗余:学生选课多时,姓名会被重复存储。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZI
43、EE)57Version No:1.0Version No:1.0BC范式范式4.BC4.BC范式(范式(BCNFBCNF)定义:对于关系模式定义:对于关系模式R R,对任何非平凡的函数依赖,对任何非平凡的函数依赖X X Y Y,X X均包含码,则均包含码,则R R属于属于BCNFBCNF。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)58Version No:1.0Version No:1.0BC范式(续)范式(续)例:例:STJSTJ(S S,T T,J J)S S表示学生,表示学生,T
44、T表示教师,表示教师,J J表示课程。表示课程。假若每一教师只教一门课,每门课有若干教师教,某一学假若每一教师只教一门课,每门课有若干教师教,某一学生选定的某门课就确定了一个固定的教师。生选定的某门课就确定了一个固定的教师。STJ STJ中中F=SJF=SJ T T,STST J J,T T J J 存在两个候选码存在两个候选码SJSJ和和STST 没有非主属性,所以没有非主属性,所以STJ 3NF STJ 3NF 但是非平凡的函数依赖但是非平凡的函数依赖T T J J中中T T不包含码,故不包含码,故STJSTJ不属不属于于BCNFBCNF。对对STJSTJ分解,变为:分解,变为:STST(
45、S S,T T),),TJTJ(T T,J J)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)59Version No:1.0Version No:1.0规范化步骤规范化步骤 消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖BCNFBCNF2NF2NF3NF3NF1NF1NF消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖消除每一属性对码的部分和传递函数依赖消除每一属性对码的部分和传递函数依赖Copyright2006Copyright2006College of IT
46、Soft(HZIEE)College of ITSoft(HZIEE)60Version No:1.0Version No:1.0随堂练习随堂练习(1 1)在关系模式)在关系模式R(U,F)R(U,F)中,如果中,如果X YX Y,存在,存在X X的真子集的真子集X X1 1,使使X X1 1 Y Y,称函数依赖,称函数依赖X YX Y为(为()A.A.平凡函数依赖平凡函数依赖 B.B.部分函数依赖部分函数依赖C.C.完全函数依赖完全函数依赖D.D.传递函数依赖传递函数依赖(2 2)在关系模式)在关系模式R(U,F)R(U,F)中,对任何非平凡的函数依赖中,对任何非平凡的函数依赖X X YY,
47、X X均包含键,则均包含键,则R R最高可以达到(最高可以达到()A.2NFA.2NF B.3NFB.3NFC.BCNFC.BCNFD.4NFD.4NFCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)61Version No:1.0Version No:1.0随堂练习随堂练习(3 3)已知:关系模式)已知:关系模式R(U,F),U=ABCDEG,R(U,F),U=ABCDEG,F=A B,C G,E A,CE D F=A B,C G,E A,CE D 求:(求:(1 1)R R的候选码的候选码 (2 2)R R最高属于哪级范式最高属于哪级范式(4 4)已知:关系模式)已知:关系模式R(U,F),U=ABCDE,R(U,F),U=ABCDE,F=A BC,CD E,E A,B D F=A BC,CD E,E A,B D 求:(求:(1 1)R R的候选码的候选码 (2 2)R R最高属于哪级范式最高属于哪级范式