【文档说明】数据库原理-英文课件Chapter3--The-Relational-Data-Model.ppt,共(52)页,671.547 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92517.html
以下为本文档部分文字说明:
1DatabasePrinciples2Chapter3TheRelationalDataModelRelationalModelFunctionalDependencies3Contents3
.1BasicsoftheRelationalModel3.3FromE/RdiagramstoRelationalDesigns3.5FunctionalDependencies3.7DesignofRelationalDatabaseSchemasReadingG
uideExercise4Thethingsyoushouldknow…ThebasicprincipleofrelationaldatabaseisproposedbyE.F.Coddin1970.ThefirstRDBMSpr
oductionisSystemRThemostpopularRDBMS•DB2,Oracle,Ingres,Sybase,Informix,…53.1BasicoftheRelationalModelTherelat
ionalmodelgivesusasinglewaytorepresentdata:asatwo-dimensionaltablecalledarelation.6Attributes(属性)Attributesofar
elationserveusasnamesforthecolumnsoftherelation.Usually,theattributesdescribesthemeaningofentriesinthecolumnbelow.7Schemas(模式)T
henameofarelationandthesetofattributesforarelationiscalledtheschemaforthatrelation.Weshowtheschemafortherela
tionwiththerelationnamefollowedbyaparenthesizedlistofitsattributes.8Tuples(元组)Therowsofarelation,otherthantheheaderrowcontai
ningtheattributes,arecalledtuple.Forexample:Relations,however,aresetsoftuples,anditisimpossibleforatupletoappearmorethanoncein
agivenrelation.9Domains(域)Therelationalmodelrequiresthateachcomponentofeachtuplebeatomic;thatis,itmustbeofsomeele
mentarytypesuchasintegersorstring.Eachattributesofarelationhasparticularelementarytype,thusdomainisdecided.10EquivalentRepresentati
onsofaRelationTheattributesoftherelationcanbereorderedwithoutchangetherelation.11RelationInstance(关系实例)Arelationaboutmoviesisnotstatic;rather,re
lationschangeovertime.Itisnotcommonfortheschemaofarelationtochange.Weshallcallasetoftuplesforagivenrelationaninstanceofthatrelati
on.12AnExampleofRelationInstanceRelation:Person(Name,Address,Telephone)RelationInstance:NameAddressTelephoneBob123MainSt555-1234Bob128MainSt555-1235P
at123MainSt555-1235Harry456MainSt555-2221Sally456MainSt555-2221Sally456MainSt555-2223Pat12StateSt555-123513More…
Relation(Instance)=asetoftuplesDatabase=collectionofrelationsRelationschema=relationname+attributesExample
:Movies(title,year,length,fileType)Databaseschema=asetofallrelationschemasMovies(Title,Year,Length,FileType
)Star(Name,Age)Studio(StudioName,Addr)14NameAddrTelN1A1T1N2A2T2N3A3T3N4T4N5T5T6T7NameAddrTelN1A1T1N1A1T2N1A1T
3...N1A1T7N1A2T1N1A3T1N2A1T1TupleDomainComponentAttribute15IntegrityConstrainofRelationsEntityConstrainTheattributesbelo
ngtokeycannotbesetasNULL.ReferenceConstrainForeignKey:annon-keyattributeAinRisakeyinS,thentheAiscalledafo
reignkeyofR.ThevalueofforeignkeycanonlybeNULLorsameaswhatisinS.User-defineConstrainUsersdefinetheconstrainst
hemselves.16补充:关系的完整性实体完整性参照完整性用户定义完整性实体完整性和参照完整性是关系模型必须满足的,被称作关系的不变性,由关系数据库系统自动支持★17实体完整性规则:若属性A是基本关系R的主属
性,则属性A不能取空值说明:基本关系的主码中的任何属性都不能取空值,而不仅是主码整体不能取空值依据:现实世界的实体是唯一可分的例:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)18例1:学生实体与专业实体间的关系:学生(学号,姓名,性别,专业
号,年龄)专业(专业号,专业名)关系参照图外码参照关系被参照关系例2:学生,课程,学生与课程之间的多对多联系:学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)关系参照图被参照关
系参照关系学生关系专业关系专业号学生关系选修关系课程关系学号课程号参照完整性主码?外码?19参照完整性定义:外码设F是参照关系R的一个或一组属性,但不是R的码,若F与被参照关系S的主码相对应,则称F是R的外码(详细定义见教材P54)规则:参照关系R中每个元
组在外码F上的值必须为:•或者取空值(F的每个属性值均为空值)•或者等于S中某个元组的主码值例3:学生(学号,姓名,性别,专业号,年龄,班长)参照关系被参照关系外码20用户定义完整性用户定义的、具体应用中的数据必须满足的约束
条件成绩:0-100之间身份证、身份证和生日对应关系213.2FromE/RDiagramstoRelationFromEntitySetstoRelationSimplestapproach(notalwaysbest):converteachE.S.to
arelation.Createarelationofthesamenameandwiththesamesetofattributes.22Movies(title,year,length,filmType)Stars(name,address)Studios(
name,address)Example23FromE/RRelationshipstoRelationRelationshipsintheE/Rmodelarealsorepresentedbyrelations.TherelationforagivenrelationshipRhasth
efollowingattributes;1.ForeachentitysetinvolvedinrelationshipR,wetakeitskeyattributesaspartoftheschemaoftherelationforR.2.Iftherelationsh
iphasattributes,thenthesearealsoattributesofrelationR.24Example:Owns(title,year,studioname)Stars-in(ti
tle,year,starName)25E-R图向关系模型的转换原则一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码对实体间的联系一个1:1联系可以转换为一个独立的关系模式,也可以与任意对应的关系模式合并
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并一个m:n联系转换为一个关系模式三个或三个以上实体间的一个多元联系可以转换为一个关系模式具有相同码的关系模式可以合并补充:26如公司部门管理系统的E-R图及其转
换成的关系模式部门项目职工电话包括承担n1n1办公室号,面积项目号,预算费参与mn办公室包含1n包括n1部门号,预算费,领导人职工号电话号码,说明职工号,姓名,办公电话分担任务部门(部门号,部门预算费,
领导人职工号)职工(职工号,姓名,办公电话,部门号)办公室(办公室号,面积,部门号)项目(项目号,项目预算费,部门号)电话(电话号码,说明,办公室号)项目承担情况(职工号,项目号,分担任务)27ExerciseRequired:C
onverttheE-Rdiagramyoudesignedinlastexerciseintoarelationaldatabaseschema.283.5FunctionalDependenciesDefinitionofFunc
tionalDependency(函数依赖)X->AisanassertionaboutarelationRthatwhenevertwotuplesofRagreeonalltheattributesofX,thentheymustalsoagreeont
heattributeA.Say“X->AholdsinR.”Convention•X,Y,Zrepresentsetsofattributes;•A,B,C,…representsingleattributes.29Exa
mpleMovies(title,year,length,filmType,studioName,starname)Wecanassertthethreedependencies:1.title,year->length2.title,year->filmTy
pe3.title,year->studioName30FD’sWithMultipleAttributesNoneedforFD’swithmultipleattributeonright.•But
sometimesforconvenientwecancombinethem.•Example:title,year->lengthtitle,year->filmTypetitle,year->starNamebecometitle
,year->length,filmType,starNameMultipleattributeonleftmaybeessential.•Example:title,year->length31TrivialDependenciesAfunctionaldependencyA
1A2…An->Bissaidtobetrivial(平凡)ifBisoneoftheA’s,otherwiseissaidtobenontrivial(非平凡).Example:SupposeFunctionalDependenciestitle,yea
r->titleisatrivialdependency.32Transitive(传递)FunctionalDependenciesSupposewehavearelationRwiththreeattributes
A,B,andC,theFDsA->BandB->CbothholdforR.ThenitiseasytoseethattheFDA->calsoholdsforR,SoCissaidtodependonAtransitively,v
iaB33KeysofRelationsfromFD’sviewWesayasetofoneormoreattributes{A1,A2,…,An}isakeyforrelationif:1.Thoseattributesfunctional
lydetermineallotherattributesoftherelation.Thatis,itisimpossiblefortwodistincttuplesofRtoagreeonallofA1,A2
,…,An.2.Nopropersubsetof{A1,A2,…,An}functionallydeterminesallotherattributesofR;i.e.,akeymustbeminimal34Exam
pleAttributes{title,year,starName}formakeyfortheMovierelationofFig.above.Sometimesarelationhasmorethanonekey.Ifso
,itiscommontodesignoneofthekeysastheprimarykey.35SuperKeysSuperkeysatisfiesthefirstconditionofakey;However,asuperke
yneednotsatisfythesecondcondition;Example•Attributeset{title,year,starName}formakeyfortheMovie.•Anysupersetofthisat
tributeset,suchas{title,year,starName,length}isasuperkey.36RulesfordiscoveringKeysofRelationFirstrule:Iftherelationcomesfromanentitysetthenthekey
fortherelationisthekeyattributesofthisentityset.Secondrule:IfarelationRiscomesfromarelationship,thenthemultiplicityoftherelationshipaffectsthe
keyforR.Therearethreecases:•Iftherelationshipismany-many,thenthekeysofbothconnectedentitysetsarethekeyattributesforR.•
Iftherelationshipismany-onefromentitysetE1toentitysetE2,thenthekeyattributesofE1arekeyattributesofR,butthoseofE2arenot.•Iftherelationshipi
sone-one,thenthekeyattributesforeitheroftheconnectedentitysetsarekeyattributesofR.Thus,thereisnotauniquekeyforR.37Example•Owns:Itisamany-onerelati
onbetweenMoviestoStudios,Thus,thekeyfortherelationOwnsisthekeyattributestitleandyear,whichcomefromthekeyforMovies.Owns(
title,year,studioName)•Star-in:Itisamany-manyrelationshipbetweenMoviesandStars.Soallattributesoftheresultingrelation
arekeyattributesStars-in(title,year,starName)383.7DesignofRelationalDatabaseSchemaAnomalies(异常)Problemoccurwhenwetrytocramt
oomuchintoasinglerelationarecalledanomalies.•Redundancy:Informationmayberepeatedunnecessarilyinseveraltuple
s.•InsertionAnomalies:Tupleinsertionmaybefailedduetolacksomeotherinformationinthecurrentdatabase.•DeletionAnomalies:Ifasetofv
aluesbecomesempty,wemayloseotherinformationasasideeffect.•UpdateAnomalies:Wemaychangeinformationinonetuplebutleavethesameinformationunch
angedinanother.39Example:Goalofrelationalschemadesignistoavoidanomaliesandredundancy.40NormalFormArelationsch
emaissaidtobeinparticularnormalformifitsatisfiesacertainprescribedsetofconditions.•1NF,2NF,3NF,BCNFNormalizationProce
dureThesuccessivereductionofagivencollectionofrelationschematosomemoredesirableform.NFNFNFBCNF123411NFArelationRisin1NFifandonlyif,everytup
lecontainsexactlyonevalueforeachattributes.•RelationsinRelationaldatabasealwaysin1NF.•But,arelationschemaonlyin1NFisalsoalwaysundesirab
leforanumberofrelations.422NFArelationRisin2NFifandonlyif:itisin1NFandeverynon-keyattributesisfullfunctionaldependencyontheprimarykey.Ful
lFunctionalDependency•InrelationR,ifX->Y,andanysubsetofX,X’-\>Y,sayYfullfunctionaldependencytoX,thatX-F>Y.•OtherwiseX-P>
Y,YispartlyfunctiondependencytoX.Example:IfinrelationR(A,B,C),existingfunctionaldependencies(A,B)->C,A-\>C,B-\>
C,so(A,B)-F>CandRisin2NF433NFArelationRisin3NFif:itisin2NFandthereisnotransitivefunctionaldependencyexisted.Ex
ample:IfinrelationR(A,B,C),existingfunctionaldependenciesA->BandB->C,thenRisnot3NF.44BCNFWesayarela
tionRisinBCNFif:wheneverX->AisanontrivialFDandXisasuperkey.•NontrivialmeansAisnotamemberofsetX.•Superkeyisanysupersetofak
ey(notnecessarilyapropersuperset).45Example1Movies(title,year,length,filmType,studioName,starName)FD:title,year->l
ength,filmType,studioNameTheonlykeyis{title,year,starName}IneachFD,theleftsideisnotasuperkey.TheseFD’sshowsMoviesisno
tinBCNF.46Example2Movies(title,year,length,filmType,studioName)FD’s:title,year->length,filmType,studioNameTheonlykeyis{title,year}.IneachFD,the
leftsideisasuperkey.TheseFD’sshowsMoviesisinBCNF47Decomposition(分解)intoBCNFThedecompositionstrategyistolookfor
anontrivialdependencyA1,A2,…,An->B1,B2,…,BmthatviolatesBCNF;i.e.,{A1,A2,…,An}isnotasuperkey,asaheuristic,weshallgenerallyaddtotherightsideasmanyatt
ributesasarefunctionallydeterminedby{A1,A2,…,An}.48Example1Thekeyis(title,year,satrName),butthefollow
ingFDexist:{title,year->length,filmType,studioName}Thus,therelationisaBCNFviolation.Weshalldecomposetherelationintofollowingtwo:R1{title,year,lengt
h,filmType,studioName}R2{title,year,starName}49Example2WesupposearelationS-L-C(Sno,Sdept,Sloc,Cno,G)Onlykeyofthisrelation
is(Sno,Cno)FD’s:(Sno,Cno)-F>G,Sno->Sdept,(Sno,Cno)-p>SdeptSno->Sloc,(Sno,Cno)-p>Sloc,Sdept->SlocRelationS-L-Ci
sonlyin1NF.PleasedecomposeitintoBCNF.50Step1:Decomposeitinto2NFSC(Sno,Cno,G)S-L(Sno,Sdept,Sloc)Step2:Decomposeitinto3NFNow,SCisi
n3NF,butS-Lonlyin2NF.SoweneedtoDecomposeS-Linto3NFSC(Sno,Cno,G)S-D(Sno,Sdept)D-L(Sdept,Sloc)51Step3:Deco
mposeitintoBCNFNow,allofrelationsSC,S-D,D-LareinBCNF.ThefinalresultisSC(Sno,Cno,G)S-D(Sno,Sdept)
D-L(Sdept,Sloc)52ReadingGuideAFirstCourseinDatabaseSystems:Required:3.1and3.3Recommended:3.5and3.7数据库系统概论推荐:第五章,第六章