【文档说明】关系数据库设计理论课件.ppt,共(60)页,876.049 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92376.html
以下为本文档部分文字说明:
学时数:8学时课程类型:理论第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系2教学目的•掌握函数依赖的概念•掌握关键字的概念•掌握第1、2、3和BCNF范式•掌握模式分解的方法第四章关系
数据库设计理论2022/12/5天津中德职业技术学院信息工程系3教学要求牢记有关概念,掌握关系模式规范化的方法教学重点•规范化问题的存在的原因•函数依赖、完全函数依赖、传递依赖、关键字的定义•规范化过程第四章关系数据库设计理论2022/12/5天津中德职业技术学院
信息工程系4课程章节§4.1规范化问题§4.2函数依赖§4.3关系范式第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系5§4.1规范化问题4.1.1讨论范围关系数据库设计理论主要包括3方面的内容:
数据依赖,范式(normalforom),模式设计方法。数据依赖在此起着核心作用。我们重点讨论函数依赖的概念,然后再介绍模式分解的标准,即范式,为数据库的设计准备一定的基本理论基础。第四章关系数据库设计
理论2022/12/5天津中德职业技术学院信息工程系64.1.2存储异常问题首先通过例子看一看某些不恰当的关系模式可能导致的问题。例如,有教师任课模式TDC:TDC(T#,TNAME,TUITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL,CREDIT)其中各属
性分别表示教师号、教师姓名、职称、教师地址、系、系名称、系地址、课程号码、课程名、教学水平、学分。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系7该关系在使用过程中存在下面几个问题:1.
数据冗余每当教师开设一门课程时,该教师的职称、地址等信息就重复存储一次。一般每位教师都开设几门课,数据冗余不可避免。一个系有很多教师,使关系中的数据冗余度很大。2.更新异常由于数据的重复存储,会给更新带来麻烦。如果一位任3门课
的教师改变了地址,3个元组的地址都要更新,一旦一个元组的地址未修改就会导致数据不一致。如果某个系改变办公地址,所要修改的数据量会更大。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系83.插入异常如果学校新
掉入一个教师,暂时未主讲任何课程。由于缺少关键字的一部分,而关键字不允许出现空值,新教师就不能插入到此关系中去。只有当他开设了课程之后才能插入,这是不合理的。4.删除异常与插入异常相反,如果某些教师致力于科研不担任教学任务了,就要从当前数据库中删除有关记录。那么关于这些教师
的其它信息将无法记载,这也是极不合理的。上述在插入、删除或修改元组时产生的不希望发生的异常情况是由于关系模式设计的不好造成的。如果用下面4个关系模式代替原来的一个关系模式,上述4个方面的问题就基本解决了。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工
程系9§4.2函数依赖4.2.1属性间的联系1.一对一联系在读者关系中,借书证号是唯一的,如果读者没有重名的,姓名与借书证号两个属性之间是1:1联系。姓名可以确定借书证号,借书证号也可以确定姓名。设X、Y为关系中的
属性或属性组,它们的所有可能取值组成两个集合。为简便起见,也叫X、Y,如果对于X中的任一具体值,中至多有一个Y值与之相对应,并且对于Y中的任一具体值,中至多有一个X值与之对应,称X、Y两个属性之间是一对一
的关系。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系102.一对多联系在读者关系中,一本书有若干副本,它们有相同的书名、作者、分类号等,但每本书有唯一的编号。如果属性值集合X中的任一具体值,至多与Y中的一个值相对应,而Y中的任一具体值却可以和X中的多个值相对
应,则称两个属性间从X到Y为m:1的联系。或从Y到X是1:m的联系。应当注意,这里指的是属性值个数的多少,而不是具有相同属性值的有多少个元组,二者正好相反。书名与总编号之间是1:m,即使一个书名与多个总编号与之对应。第四章关系数据库设计理论2022/12/5天津中德职业技术
学院信息工程系113.多对多联系在借阅关系中,一个读者可以借多本书,即同一个借书证号有若干个图书总编号与之对应。由总编号标识的一本书在不同日期可以被不同的读者借阅。在选修关系中一个学生可以选修几门课,同一门课有多个学生同时选
修。在X、Y两个属性值集中,如果任一值都可以至多和另一个属性值集中多个值对应,反之亦然,则称属性X和Y是m:n关系。显然,3类联系之间存在着包含关系,1:1是1:m的特例;1:m又m:n是的特例。关系中属性值之间这种互相依赖又互相制约的联系为
数据依赖。数据依赖主要有两种:函数依赖和多值依赖。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系124.2.2函数依赖1.函数依赖的概念定义4.1用U表示属性集的全集{A1,A2,……,An},设R(U)是属性集U上的关系模式。
X、Y是U的子集。若对于R(U)的所有具体关系r都满足如下约束:对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作X→Y,X称作决定因素。如果X→Y,并且Y不是X的子集,则称是非平凡的函数依赖。全体总是能够决定部分的,若Y是X的子集,则称是平凡的函数
依赖。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系13例1:有关系(职工号,基本功子,奖金),一个职工号唯一确定一个基本工资数额或一个奖金额,即一个人不能拿两种工资或奖金,但几个人的工资可能相同。设属性A是职工号,属性B是基本工资,属性C是奖金
,可以看出,每个A的值对应一个B的值和一个C的值。因此属性B和C都函数依赖于属性A。但反过来则不存在这种联系,如基本工资390.00对应两个职工号051和054。用符号表示为:A→B,A→C,C→A,B→C。定义中所谓“对应唯一的具体值是什么,而不
是说该值不能与其他值相等。FD的确切语义表示了关系模式中属性集的X值与Y的值之间的多对一联系。从数值上看,“多方”函数决定“一方”。例如,在图书关系中,总编号(分类号,书名,作者,出版社)第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系14根据函数依赖的定义
,可以找出下面规律:(1)在一个关系模式中,如果属性XY是有1:1联系,则存在函数依赖Y→X、Y→X。可记作XY。(2)如果属性X→Y是1:m的联系,则存在函数依赖Y→X,但X→Y。(3)如果属性X→Y是n:m的联系,则X与Y之间不存在任何函数依赖。必须注
意,函数依赖是指关系R模式的所有关系元组均应满足的约束条件,而不是指关系模式R的某个或某些元组的约束条件。当关系中的元组增加或者更新后都不能破坏函数依赖。因此,必须根据语义来数据之间的函数依赖,而不能单凭某一时刻关系中的实际数据来判段。第四章关系数据库设计理论2022/12/5天津中
德职业技术学院信息工程系152.完全函数依赖定义4.2设X→Y是关系模式R(U)的一个函数依赖,如果不存在X的真子集X’,使得X’→Y成立,则称Y完全函数依赖于X,记作X→Y(f)。部分函数依赖:设XY是关系模式R(U)的一个函数依赖,如果存在X的真子集X’,使得X’→Y成立,则称Y部分依
赖于X,记作X→Y(p)。由定义可知,当X是单个属性时,由于X不存在任何真子集,如果X→Y,则X→Y(f)。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系16例2:设有关系模式选课SCI(S#,C#,GRADE,CREDIT
)其中S#表示学号,C#表示课程号,GRADE表示成绩,CREDIT表示学分。在这个选课关系模式中,由于一个学生可以选修多们课程,一门课程可有多个学生选修,因此S#或C#都不能单独确定GRADE。成绩
只能由属性组合(S#,C#)来确定。课程学分CREDIT是C#决定的,C#CREDIT。由此可知:(S#,C#)→GRADE(S#,C#)→CREDIT第四章关系数据库设计理论2022/12/5天津中德职
业技术学院信息工程系173.传递依赖定义4.3在同一关系模式R(U)中,如果存在非平凡函数依赖X→Y,Y→Z,而Y→\X,则称Z传递依赖X。定义的条件X→Y,并强调Y→\X十分必要。如果X→Y互相依赖
,并非传递依赖。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系18例3:设关系模式S1(S#,SNAME,D#,DNAME,LOCATION)各属性分别代表学号,姓名,所在系,系地址。存在函数依赖:S#→D#,但D#→\S#,
D#,LOCTION根据传递依赖的定义,可知S#,LOCATION是传递依赖。实际上,部分依赖必然是传递依赖。在例2SCI(S#,C#,GRADE,CREDIT)中,(S#,C#)C#,C#(S#,C#),C#CREDIT,形成传递依赖(S#,C#)CREDIT。第四章关系数据库
设计理论2022/12/5天津中德职业技术学院信息工程系19相关英文讲解:Normalization:Atechniqueforproducingasetofrelationswithdesirablepropert
ies,giventhedatarequirementsofanenterprise.Normalizationisaformalmethodthatcanbeusedtoidentifyrelationsbasedontheirkeysandthefu
nctionaldependenciesamongtheirattributes.DataRedundancyandUpdateAnomalies(InsertionAnomalies,DeletionAnomali
esandModificationAnomalies)第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系20Functionaldependency:Describestherelations
hipbetweenattributesinarelation.Forexample,ifAandBareattributesofrelationR,BisfunctionallydependentonA(denotedA->B),ifeac
hvalueofAisassociatedwithexactlyonevalueofB.(AandBmayeachconsistofoneormoreattributes.)FullFunctionalDependencyIndicatestha
tifAandBareattributesofarelation,BisfullyfunctionallydependentonAifBisfunctionallydependentonA,butnotonanyproper
subsetofA.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系21PartiallyDependent:ifthereissomeattributethatcanberemovedfromAandt
hedependencystillholds.TransitiveDependencyAconditionwhereA,B,andCareattributesofarelationsuchthatifA->BandB->C,th
enCistransitivelydependentonAviaB(providedthatAisnotfunctionaldependentonBorC).第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系224.2.3关键字1.候选关键字定义4.4在关系模式
R(U)中,K是U中的属性或属性组。如果K→U(f),则称K为关系R(U)的一个候选关键字。主关键字:R(U)中若有一个以上的候选关键字,则选定其中一个作为主关键字。主属性:包含在任意一个候选关键字中的属性。非主属性:不包含在
任意一个候选关键字中的属性。全关键字:在极端的情况下,关系模式的整个属性组U作为关键字,称为全关键字。此时,关系中没有非主属性。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系23候选关键字具有两个性质:
(1)标示的唯一性:对于R(U)中的每一个元组,K的值确定后,该元组就相应确定了。(2)无冗余性:当K是属性组的情况下,K的任何一部分都不能唯一标示该元组。这是定义中的完全函数依赖的意义。例如,SC(S#,C#,GRADE,CREDIT)中,属性组(S#,C#)是主关键字
,也是主关键字。S#,C#是主属性。GRADE,CREDIT是非属性。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系242.外关键字定义4.5在关系模式R(U)中,若属性或属性组X不是关系R的关键字,但X是其它关系模
式的关键字,则称X为关系R(U)的外关键字。主关键字和外关键字是表示关系之间联系的手段。例如,在借书数据中,借书证号和总编号是读者关系,图书关系的主关键字,够成借阅关系的外关键字。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系25又如,在选课关系数据库中,3
个关系模式:S(S#,SNAME,SEX,ADDRESS)C(C#,CNAME,CREDIT)SC(S#,C#,GRADE)学生和课程存在的多对多的联系由选修关系反映出来,3个关系间的关联是通过关系SC的外关键字S#、C#实现的。第四章关系数据库设计理
论2022/12/5天津中德职业技术学院信息工程系26相关英文讲解:Candidatekey:Theminimalsetofattributesthatuniquelyidentifieseachoccurrenceofanentityt
ype.Primarykey:Thecandidatekeythatisselectedtouniquelyidentifyeachoccurrenceofanentitytype.Compositekey:Acandid
atekeythatconsistsoftwoormoreattributes.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系27Thecandidatekey(s)forarelation
,wemustidentifytheattribute(orgroupofattributes)thatuniquelyidentifieseachtupleinthisrelation.Ifarelationhasmorethanonecandidatekey,weidentif
ythecandidatekeythatistoactastheprimarykeyfortherelation.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系284.2.4函数依赖公理数据依赖的公理系统是模式分解算法的理论基
础,下面首先讨论函数依赖的一个有效而完备的公理系统——Armstrong公理系统。设U为属性总体,F是U上的一组函数依赖,有关系模式R(U,F)。定义4.6对于满足一组函数依赖F的关系模式R(U,F),其中任何一个
关系r,如果函数依赖X→Y都成立,则称为F逻辑蕴含X→Y。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系29为了求得给定关系模式的关键字,为了从一组函数依赖求得蕴含的函数依赖,例如已知函数依赖集F,要问X→Y是否为F所蕴含,就需要一套
推理规则,这组推理规则是l974年首先由Armstrong提出来的。Armstrong公理系统:设U为属性集总体,F是U上的一组函数依赖,于是有关系模式R(U,F)。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系30对R(U,F)来说有以下的推理规则:(1)
自反律(Reflexivity):若YXU,则X→Y为F所蕴含。(2)增广律(Augmentation):若X→Y为F所蕴含,且ZU,则XZ→YZ为F所蕴含。(3)传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。注意:由自反律所得到的函数依赖均是平凡
的函数依赖,自反律的使用并不依赖于F。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系31根据上述3条Armstrong公理,可以得到下列规则:(4)合并规则(Union):如果X→Y,X→Z,则有X→YZ。(5)伪传递规则:如果X→Y,W
Y→Z,则有WX→Z。(6)分解规则(Decomposition):如果X→Y,ZY,则有X→Z。根据合并规则和分解规则,很容易得到以下事实:X→A1,A2,…,An成立的充分必要条件是成立X→Ai(i=1,2,…,n)成立。
第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系32相关英文讲解:InferenceRulesforFunctionalDependencies(1)Reflexivity:IfBisasubs
etofA,thenA→B(2)Augmentation:IfA→B,thenA,C→B,C(3)Transitivity:IfA→BandB→CthenA→C(4)Self-determination:A→A(5)Decomposition:I
fA→B,C,thenA→BandA→C(6)Union:IfA→BandA→C,thenA→B,C(7)Composition:IfA→BandC→DthenA,C→B,D第四章关系数据库设计理论2022/
12/5天津中德职业技术学院信息工程系33§4.3关系范式4.3.1第一范式(1NF)定义4.7在关系模式R中的每一个具体关系r中,如果每一个属性值都是不可再分的最小数据单位,则称R是第一范式1NF的关系。记为R∈1NF。元组中每一分量必须是不可分割的数据
项,即在同一表中没有重复项存在。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系344.3.2第二范式(2NF)定义4.8如果关系模式R(U,F)中的所有非主属性都完全函数依赖于任一候选关键字,则称关系R是第二范式(2NF)的。记为R∈2NF。第二范式(2NF)满足1
NF且所有非主属性都依赖于主关键字。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系354.3.3第三范式定义4.9如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是第三范式(3NF)的。记为R∈3N
F。第三范式(3NF)满足2NF且任何一个非主属性都不传递依赖于任何主关键字。如表4-8张宏开设了3门课程,上面出现了3个元组,教师地址重复了3次。传递依赖关系存在着冗余和异常更新问题。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系364.3.4BCNF部分函数依赖和传
递函数依赖是产生存储异常的两个重要原因,3NF消除了大部分存储异常,具有较好的性能。但3NF并没有要求消除主属性对后选关键字的传递依赖,如果存在这种情况,3NF模式仍然可能发生存储异常现象。第四章关系数据库
设计理论2022/12/5天津中德职业技术学院信息工程系37例如,每门课有几个教师讲,但每个教师只教一门课;每个学生可选几门课。可得出的函数依赖:(S#,CNAME)→TNAME(S#,TNAME)→CNAMETNAME→CNAME关键字:(S#,CNAME)或(S#,TNAME)∵
在EN中所有属性都是主属性∴EN∈3NF第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系38存在异常:如果设置了课程,并确定了教师,但还没有学生选修,则教师与课程信息就不能加入。若一个学生毕业或中止学业,
删除学生时,连教师和课程也删了。定义4.10如果关系模式R(U,F)的所有属性都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。记为R∈BCNF。关系模式R,如果每个决定因素都包含关键字(而不
是被关键字所包含),则R是BCNF的关系模式。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系39那么,上例的分解方法是对于不是BCNF的关系模式R,若在R中有YR,且YA,AY,Y不
是R的关键字,则可分解为R1=R-A和R2=YA。EN分解为:CLASS(S#,TNAME)∈BCNFTEACH(TNAME,CNAME)∈BCNF规范化过程关系模式分解的无损联接性:分解后的两个关系可以通过自然联接恢复原来的关系。这种分解具有无损联接性。判断无损
分解的法则,即无损分解的充分必要条件是:R1∩R2→R1-R2或R1∩R2→R2-R1第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系40相关英文讲解:Unnormalizedform(UNF)Atablethatcontainsoneormorerepeatinggrou
ps.FromUNFto1NF,therearetwocommonapproachestoremovingrepeatinggroupsfromunnormalizedtables:1.removetherepeatinggroupsbyenteringapprop
riatedataintheemptycolumnsofrowscontainingtherepeatingdata.Inotherword,wefillintheblanksbyduplicatingthenonrepeatingdata,wherere
quired.Thisapproachiscommonlyreferredtoas‘flattening’thetable.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系412.removetherepeatinggroupbypl
acingtherepeatingdata,alongwithacopyoftheoriginalkeyattribute(s),inaseparaterelation.Aprimarykeyisidentifiedforthenewrelation.Sometimesth
eunnormalizedtablemaycontainmorethanonerepeatinggroup,orrepeatinggroupswithinrepeatinggroups.Insuchcases,thisappr
oachisappliedrepeatedlyuntilnorepeatinggroupsremain.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系42Asetofrelationsisi
n1NFiftheycontainnorepeatinggroups.FirstNormalForm(1NF)Arelationinwhichtheintersectionofeachrowandcolumncontainsoneandonlyonevalue.The
normalizationof1NFrelationsto2NFinvolvestheremovalofpartialdependencies.Ifapartialdependencyexists,werem
ovethefunctionallydependentattributesfromtherelationbyplacingtheminanewrelationalongwithacopyoftheirdeterminant.第四章
关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系43SecondNormalForm(2NF)Arelationthatisinfirstnormalformandeverynon-primary-keyattributeisfu
llyfunctionallydependentontheprimarykey.OrArelationthatisinfirstnormalformandeverynon-primary-keyattributeisfullyfunctionaldependentonanycandid
atekey.Arelationwithasingleattributeprimarykeyisautomaticallyinatleast2NF.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系44Thenormalizationof2NF
relationsto3NFinvolvestheremovaloftransitivedependencies.Ifatransitivedependencyexists,weremovethetransitivelydependentattributesfromtherelation
byplacingtheminanewrelationalongwithacopyoftheirdeterminant.ThirdNormalForm(3NF)Arelationthatisinfirstandsec
ondnormalform,andinwhichnonon-primary-keyattributeistransitivelydependentontheprimarykey.Or第四章关系数据库设计理论2022/12/5天津中德职业技
术学院信息工程系45Thenormalizationof2NFrelationsto3NFinvolvestheremovaloftransitivedependencies.Ifatransitivedependencyexists,weremovethetransitivelydependen
tattributesfromtherelationbyplacingtheminanewrelationalongwithacopyoftheirdeterminant.ThirdNormalForm(3NF)Arelationthatisinfirstandsecondnormalfo
rm,andinwhichnonon-primary-keyattributeistransitivelydependentontheprimarykey.Or第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系
46Thedifferencebetween3NFandBCNFisthatforafunctionaldependencyA->B,3NFallowsthisdependencyinarelationifBisaprimary-keyattributeandA
isnotacandidatekey,whereasBCNFinsiststhatforthisdependencytoremaininarelation,Amustbeacandidatekey.ThepotentialtoviolateBCNFmayoccurinarelat
ionthat:•Containstwo(ormore)compositecandidatekeys•Thecandidatekeysoverlap,thatishaveatleastoneattributeincommon第四章关系数据库设
计理论2022/12/5天津中德职业技术学院信息工程系474.3.5规范化小结在关系数据库中,对关系模式的基本要求是满足第一范式。这样的关系模式就是合法的、允许的。但是,人们发现有些关系模式存在插入、删除异常、修改复杂,数据冗余等毛病。人们
寻求解决这些问题的方法,这就是规范化的目的。规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。让一个关系描述一个概念、一个实体或者实体间的一
种联系。若多于一个概念就把它“分离”出去。因此所谓规范化实质上是概念的单一化。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系48例教师任课关系模式TDC(T#,TNAME,TITLE,ADDR,D#,DNAME,LO
C,C#,CNAME,LEVEL,CREDIT)第一步:确定函数依赖T#→(TNAME,TITLE,ADDR,D#,DNAME,LOC)D#→(DNAME,LOC)C#→(CNAME,CREDIT)(T#,C#)→LEVEL第
四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系49第二步:确定候选关键字∵(T#,C#)→U∴(T#,C#)为候选关键字第三步:确定主属性和非主属性主属性:T#,C#非主属性:TNAME,TITLE,ADDR,D#,D
NAME,LOC,CNAME,CREDIT,LEVEL第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系50第四步:判定是否为第二范式,若不是则分解为第二范式∵T#→(TNAME,TITLE,ADDR,D#,DNAME,LOC)C#→(CNAME,CREDIT)∴TD
C∈2NF分解为:TD(T#,TNAME,ADDR,D#,DNAME,LOC)C(C#,CNAME,CREDIT)TC(T#,C#,LEVEL)第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系51第五步:判定是否为第三范式,若不是则分解为第三范式经判断C∈3N
F,TC∈3NF∵T#→D#,D#→(DNAME,LOC),且D#→T#∴TD∈3NF分解为:D(D#,DNAME,LOC)T(T#,TNAME,ADDR,D#)第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系52第六步:判定
是否为BCNF,若不是则分解为BCNF经判断:T(T#,TNAME,ADDR,D#)∈BCNFD(D#,DNAME,LOC)∈BCNFC(C#,CNAME,CREDIT)∈BCNFTC(T#,C#,LEVEL)∈BCNFTDC分解为以上
四个关系模式第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系53在这4个关系模式组成的关系模式中消除了传递依赖,达到了解3NF。在任一个模式中,每个决定因素都是关键字,由此也同时满足了BNCF的要求。
各范式级别是在分析函数依赖条件下对关系模式分离程度的一种测度。范式级别可以逐级升高,直至BCNF。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系54消除决定因素非关键字非平凡的函数依赖消除非主属性对关键字的部分函数
依赖消除非主属性对关键字的传递函数依赖消除主属性对关键字的部分和传递函数依赖1NF2NF3NFBCNF图4-1规范化过程第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系55一个关系模式达到BCNF,说明在函数依赖的范畴
内,已实现了彻底分离,可以消除插入,删除和关系的异常。图4-2描述出各级范式的层次关系。BCNF1NF2NF3NF图4-2各级范式的关系第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系56对关系模式的规范化
可以小结如下:(1)目的:规范化目的是使结构合理,清除储存异常使数据冗余尽量小,便于插入`删除和更新。(2)原则:遵从概念单一化“一事一地”原则,即一个关系模式描述一个实体或实体间的一种联系。规范的实质就是概念单一化。(3)方法:将关系模式
投影分解成两个或两个以上关系模式。(4)要求:分解后的关系模式集合应当与原关系模式“等价“,即经过自然联接可以恢复原关系而不是丢失信息,保持属性间合理的联系。第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系57必
须注意,一个关系模式经过投影分解可以得到不同的关系模式计划,也就是说,分解方法不是唯一的。最小冗余要求必须在分解后的数据库能够表达原来数据所有信息的前提下实现。其根本目标是节省储存空间,避免数据不一致,提高对关系的操作效率,同时满足应用
需求。在实际使用中并不一定非要求全部模式都达到DNC不可.带点冗余有时可能更方便查寻,尤其是对于那些更新频度不高,查询频度较高的数据库系统更是如此.在关系中,除了函数依赖之外还有多值依赖`联接依赖问题,从而提出第四`第五范式等更高要求,在
此不在深入讨论了.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系58本章小结在这一张,我们首先介绍了函数依赖的概念,包括函数依赖传递和函数依赖推理规则:3条Armstrong公理和公理道出的三条推理规则.以函数依赖为基础
的关系范式包括第一范式.第二范式.第三范式和BCNF.只有掌握关系数据库设计理论,在数据设计过程中才能克服盲目性,做到目标明确.在进行关系模式的分解过程中应当注意到分解的无损联接性和保持函数依赖的两个问题.要使分解具有无损联接性,必须使分解满足
判定无损分解的法则:R1∩R2→R1—R2或R1∩R2→R2—R1否则,分解后不能通过自然联接恢复原来的关系.第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系59章后习题1.解释下列名词:函数依赖、部分函数依赖、传递函数依赖、候选关键
字、外关键字、1NF、2NF、3NF、BCNF。2.设有学校环境如下:一个系有若干各专业,每个专业一年只招一个班,每个班有若干名学生。一个系的学生住在同一个宿舍区,每个学生可以参加几个学会,一个学会有若干学生。
现在建立关于系、学生、班级、学会的数据库,关系模式为:第四章关系数据库设计理论2022/12/5天津中德职业技术学院信息工程系60班(班号,专业名,系名,人数,入学年份)学生(学号,姓名,出生日期,系名,班号,宿舍区)系(系号,系名,办公室,系人数)学会(学会名
,成立时间,地点,会员数)学生参加某个学会要注明入会年份。(1)请写出每个关系模式的函数依赖,分析是否存在部分依赖,是否存在传递依赖。(2)找出各个关系的候选关键字、外部关键字。第四章关系数据库设计理论