《第五章--关系数据理论(共8页).doc》由会员分享,可在线阅读,更多相关《第五章--关系数据理论(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上第五章 关系数据理论习题1理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、1NF、2NF、3NF、BCNF、多值依赖、4NF。2联立一个关于系、学生、班级、学会等诸信息的关系数据库。描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。描述班级的属性有:班号、专业名、系名、人数、入校年份。描述系的属性有:系名、系号、办公室地点、人数。描述学会的属性有:学会名、成立年份、地点、人数。有关语义如下:一个系有若干学生,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参
2、加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系的候选码、外部码,有没有全码存在?3试由Armstrong公理系统推导下面三条推理规则:(1)合并规则:若,则有(2)伪传递规则:由,有(3)分解规则:,有4关于多值依赖的另一种定义试:给定一个关系模式R(X,Y,Z),其中X,Y,Z可以是属性或属性组合。设,在R中的像集伪:定义 R(X,Y,Z)当且仅当对于每一组(,)都成立,则Y对X多值依赖,记作。这里,允许Z为空集,在
3、Z为空集时,称为平凡的多值依赖。请证明这里的定义和概论5。2。7节中定义5。9是等价的。5试举出3个多值依赖的实例。*6试证明概论上给出的关于FD和MVD公理系统的A4,A6和A8。*7设关系模式为R(U,F),X,Y为属性集,X,。证明:(1)(2)(3)若则(4)*8设关系模式R(U,F),若,则称X相对于F是饱和的。定义饱和集,试证明。9概论上图5。12表示一个公司各部门的层次结构,重画如下。对每个部门,数据库中包含部门号(唯一的)D、预算费(BUDGET)以及此部门领导人员的职工号E(唯一的)信息。对每一个部门,还存有关于此部门的全部职工、生产与科研项目以及办公室的信息。职工信息包括:
4、职工号、他所参与的生产与科研项目号(J)、他所在办公室的电话号码(PHONE)。生产科研项目包括:项目号(唯一的)、预算费。办公室信息包含办公室房间号(唯一的)、面积。对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。对每个办公室包含此办公室中全部电话号码的信息。请给出你认为合理的数据依赖,把这个层次结构转换称一组规范化的关系。提示:此题可分步完成,第一步先转换成一组1NF的关系,然后逐步转换为2NF,3NF,BCNF。10在一个订货系统的数据库中,存有顾客、货物和订货单的信息。每个顾客包含顾客号CUST(唯一的)、收货地址ADDRESS、订货日期DATE、订货细则LINE(
5、每个订货单有若干条),每条订货细则内容为货物号ITEM以及订货数量QTYORD。每种货物包含货物号ITEM(唯一的)、制造厂商PLANT、每个厂商的实际存货量QTYOH、规定的最低存货量DANGER和货物描述DESCN。由于处理上的要求,每个订货单ORD的每一订货细则LINE中还应有一个未发货量QTYOUT(此值初始时为订货数量,随着发货将减为零)。为这些数据设计一个数据库,如第9题那样,首先给出合理的数据依赖。11设在第10题中实际上只有很少量的顾客(例如1),却有多个发货地址,由于这些少数的而又不能忽视的情形使得不能按一般的方式来处理问题。你能发现第10题答案中的问题吗?能设法改进吗?12
6、下面的结论哪些是正确的,哪些是错误的?对于错误的结论请给出理由或给出一个反例说明之。(1)任何一个二目关系都是属于3NF的。(2)任何一个二目关系都是属于BCNF的。(3)任何一个二目关系都是属于4NF的。(4)当且仅当函数依赖AB在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。(5)若R。AR。B,R。BR。C,则R。AR。C(6)若R。AR。B,R。AR。C,则R。AR。(B,C)(7)若R。BR。A,R。CR。A,则R。(B,C) R。A(8)若R。(B,C) R。A,则R。BR。A,R。CR。A参考答案1答:函数依赖:设R(U)是一个关系模式,U和R的属
7、性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称”X函数确定Y”或”Y函数依赖于X”,记作。答:完全函数依赖、部分函数依赖:在R(U)中,如果,并且对于X的任何一个真子集X,都有则称Y对X完全函数依赖,记作:若X Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:传递依赖:在R(U)K ,如果,(), ,则称Z对X传递函数依赖。候选码、主码:设K为RU,F中的属性或属性组合,若则K为R的候选码(Candidate key)。若候选码多于一个,则选定其中的一个为主码(Primary key)。答:外码
8、:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreign key),也称外码。全码:整个属性组是码,称为全码(AII-Key)。答:INF:如果一个关系模式R的所有属性都是不可分的基本数据项,则RINF。答:2NF:若关系模式RINF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。3NF:关系模式RU,F中若不存在这样的码X,属性组Y及非主属性Z()使得(),成立,则称RU,F3NFBCNF:关系模式RU,F3NF。若且时X必含有码,则RU,FBCNF。答:多值依赖:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-
9、Y。关系模式R(U)中多值依赖成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于X值而与Z值无关。4NF:关系模式RU, F1NF,如果对于R的每个非平凡多值依赖(),X都含有码,则称RU, F4NF。2答:关系模式:学生S(S,SN。SB,DN,C,SA)班级C(C,CS,DN,CNUM,CDATE)系D(D,DN,DA,DNUM)学会P(PN,DATEI,PA,DATE2)学生-学会SP(S,PN,DATE2)其中,S-学号,SN-姓名,SB-出生年月,SA-宿舍区C-班号,CS-专业名,CNUM-班级人数,CDATE-入校年份D-系号,DN-系名
10、 DA系办公室地点,DNUM-系人数PN-学会名,DATEI-成立年月,PA-地点,PNUM-学会人数,DATE2-入会年份每个关系模式的极小函数依赖集:S:SSN,SSB,SC,CDN,DNSAC:CCS,CCNUM,CCDATE,CSDN,(CS,CDATE) C/因为每一个专业每年只招一个班/D:DDN,DND,DDA,DDNUM/按照实际情况,系名和系号是一一对应的/P:PNDATEI,PNPA,PNPNUMSP:(S,PN) DATE2S中存在传递函数依赖:SDN,SSA,CSA/因为SC,CDN,DNSA/C中存在传递函数依赖:CDN/因为CCS,CSDN/(S,PN) DATE2
11、和(CS,CDATE)C均为SP中的函数依赖,是完全函数依赖。关系候选码外部码全码SS#C#,DN无CC#,(CS,CDATE)DN无DD#和DN无无PPN无无SP(S#,PN) S#PN无3证明:(1)已知XZ,由增广律知XYYZ,又因为XY,可得XXXYYZ,最后根据传递律得XYZ。(2)已知XY,根据增广律得XWWY,因为WYZ,所以XWWYZ,通过传递律可知XWZ。(3)已知ZY,根据自反律知YZ,又因为XY,所以由传递律可得XZ。4证明:设YxzYxz对于每一组(x,z,z)都成立,现证其能推出定义5。9得条件:设s,t是关系r中得两个元组,sX=tX,由新定义得条件可知对于每一个z
12、值,都对应相同一组y值。这样一来,对相同得x值,交换y值后所得的元组仍然属于关系r,即定义5。9的条件成立;如果定义5。9的条件成立,则对相同的x值,交换y值后所得的元组仍然属于关系r,由于任意性及其对称性,可知每个z值对应相同的一组y值,所以Yxz=Yxz对于每一组(x,z,z)都成立。综上可知,新定义和定义5。9的条件是等价的,所以新定义和定义5。9是等价的。5答:(1)关系模式MSC(M,S,C)中, M表示专业,S表示学生,C表示该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生选修的必修课相同,实例关系如下。按照语义对于M的每一值Mi,S有一完整的集合与之对应而
13、不问C取何值,所以MS。由于C与S的完全对称性必然有MC成立。MSCM1S1C1M1S1C2M1S2C1M1S2C2(2)关系模式ISA(I,S,A)中,I表示学生兴趣小组,S表示学生,A表示某兴趣小组的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。按照语义IS,IA成立。(3)关系模式RDP(R,D,P)中,R表示医院的病房,D表示责任医务人员,P表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。按照语义有RD,RP成立。6证明:A4:若,则设ZU-X-Y已知,设
14、r是R上的一个关系,s、tr,且tX=sX,则存在元组p、qr,使pX=tX,pZ=sZ,qY=sY,qZ=tZ。设tXW=sXW,我们以上构造的元组p和q,是某部分属性在s和t上翻转而成,所以pW=qW,可知pXW=qXW,同理pYV=tYV(由知tV=sV),qYV=sYV,pU-YV-YW=sU-YV-YW(因为),qU-YV-YW=tU-YV-YW。所以,。A6:,则由容易证得。设R1U-X-Y,R2=U-Y-Z,R3=U-X-Z+Y。已知,设r是R上的任一关系s、tr,且tX=sX,则存在元组p、qr,使pX=qX=tX,而pY=tY,pR1=sR1,qY=sY,qR1=tR1。对元
15、组t、p,已知tY=pY,tX=pX,由知:存在元组mr,使mZ-Y=pZ-Y。因为(Z-Y)R1,又pR1=sR1,所以,mZ-Y=sZ-Y。因为元组p和s在除属性Y之外的属性上值相等,所以mR2=tR2,另外元组m由元组t和p交换某些属性上的值而产生的,而t和p在属性X上值相等,显然mX=tX,所以mU-(Z-Y)=tU-(Z-Y),即mR3=tR3。对元组s、q,同理可知sY=qY,存在元组n,使nZ-Y=tZ-Y,即nR3=sR3。综上所述,对s、tr,tX=sX,存在元组m、nr,使mX=nX=tX,而mZ-Y=sZ-Y,mR3=tR3,nZ-Y=tZ-Y,nR3=sR3。A8:若,
16、则。设r是R上的任一关系,对任意s、tr,若tX=sX,设R1=U-X-Y,则根据知:存在元组p、qr,使pX=qX=tX,而pY=tY,pR1=sR1,qY=sY,qR1=tR1。因为,所以sW=pW,又,所以sZ=pZ;因为,且pY=tY,所以pZ=tZ;所以可得tZ=sZ,即。7证明:(1)因为,所以(根据的定义)。(2)下面求证。任意,(由任意知)存在,使能由F根据Armstrong公理导出,而从可知能由F根据Armstrong公理导出,根据公理中的传递律可知能由F根据Armstrong公理导出,所以,因此。所以。(3)对任意,可知能由F根据Armstrong公理导出,因为,由自反律可
17、以得,由传递律得,所以。得证。(4)下面证明,即证U由F根据Armstrong公理推出得集合仍属于U。自反律:,为F所蕴涵,显然U由F据Armstrong公理的自反律推出的Y仍属于U;增广律:为F所蕴涵,且,则为F所蕴涵,;传递律:和都为F所蕴涵,则为F所蕴涵,。8证明:(1)证。对任意,由已知条件的,因为,所以。(2)证。对任意,因为(见习题7),令,有所以即,得证。9答:(1)首先画出一些重的函数依赖,所有这些函数依赖都是根据习题的文字说明和语义假设导出。语义假设如下:1)一个职工不能同时成为多个部门的领导人;2)一个职工不能同在在多个部门就职;3) 一个职工不能同时参加多个生产项目;4)
18、 一个职工不能同时在两个不同的办公室办公;5) 一个职工不能同时拥有两部或两部以上的电话;6)一个生产项目不能同时分配给多个部门;7)一个办公室不能同时分配给多个部门;8)部门号、职工号、项目号、办公室号及电话号码是全局惟一的。(2)先按照图5。12设计一组关系模式,它们都是属于INF的。DEPT(DEPT,DBUDGET,MGR_EMP)PRIMARY KEY(DEPT)DEPT和MGR_EMP都是候选码,把DEPT作为主码。F=DEPTDBUDGET,DEPTMGR_EMP,MGR_EMPDEPTEMPI(EMP,DEPT,PROJ,OFF,PHONEPRIMARY KEY (EMP)F=
19、EMPDEPT,EMPPROJ,EMPOFF,EMPPHONE,PHONEOFF,OFFDEPT,PROJDEPTJOB(EMP,JOBTITLE)PRIMARY KEY(EMP,JOBTITLE)F=EMP,JOBTITLEEMP,EMP,JOBTITLEJOBTITLESALHIST(EMP,JOBTITLE,DATE,SALARY)PRIMARY KEY (EMP,DATE)F=EMP,DATEJOBTITLE,EMP,DATESALARYPROJ(PROJ,DEPT,PBUDGET)PRIMARY KEY (PROJ)F=PROJDEPT,PROJPBUDGETOFFICE(OFF,D
20、EPT,AREA) PRIMARY KEY (OFF)F=OFFDEPT,OFFAREAPHONE(PHONE,OFF) PRIMARY KEY (PHONE) F=PHQNEOFF(3)现在来分析一下这7个关系模式,发现:SALHIST(EMP,DATE,JOBTITLE,SALARY)的属性包含了JOB(EMP,JOBTLTLE)的属性,所以JOB(EMP,JOBTITLE)可以消去。EMP1中OFF和DEPT都传递函数依赖于主码(EMP)。OFF通过PHONE,DEPT通过PROJ或OFF(然后通过PHONE)传递依赖于EMP,所以可以把EMP1(EMP,DEPT,PROJ,OFF,PH
21、ONE)分解成下面4个3NF的关系模式: EMP(EMP,PROJ,PHONE) PRIMARY KEY (EMP) X(PHONE,OFF) PRIMARY KEY(PHONE) Y(PROJ,DEPT) PRIMARY KEY(PROJ) Z(OFF,DEPT) PRIMARY KEY(OFF)然而,X就是PHONE,Y是PROJ的投影,Z是OFFICE的投影,所以X、Y、Z都可以消去。 最后可以得到下面6个关系模式,所有这些关系模式都是属于3NF的,进一步发现他们也是BCNF的。DEPT(DEPT,DBUDGET,MGR_EMP) PRIMARY KEY(MGR_EMP)EMP(EMP,
22、PROJ,PHONE) PRIMARY KEY(EMP)SALHIST(EMP,DATE,JOBTITLE,SALARY) PRIMARY KEY (EMR)PROJ(PROJ,DEPT,PBUDGET) PRIMARY KEY(PROJ)OFFICE(OFF,DEPT,AREA) PRIMARY KEY(OFF)PHONE(PHONE,OFF) PRIMARY KEY(PHONE)10答:其语义假设如下:(1)任何两个顾客的收货地址都不相同;(2)每一个订单都有一个惟一的订单号码。(3)每个订单的订单细则在这个订单里有一个惟一的编号。函数依赖图如下:相应的BCNF关系模式如下:CUST(CU
23、ST,BAL,CREDLIM,DISCOUNT) PRIMARY KEY(CUST)SHIPTO(ADDRESS,CUST) PRIMARY KEY(ADDRESS)ORDHEAD(ORD,ADDRESS,DATE) PRIMARY KEY(ORD)ORDLINE(ORD,LINE,ITEM,QTYORD,QTYOUT) PRIMARY KEY (ORD,LINE)ITEM(ITEM,DESCN) PRIMARY KEY(ITEM)IP(ITEM,PLANT,QTYOH,DANGER) PRIMARY KEY (ITEM,PLANT)11答:如果99的顾客只有一个收货地址,则把地址放在与CUS
24、T不同的关系模式中,实际处理订货过程时的效率是很低的。因此我们可以对这个问题进行改进。对于每个顾客,指定一个合法收货地址作为主地址,则对于99的顾客,该地址就是他的惟一地址。关系械CUST的定义修改如下:CUST(CUST,ADDRESS,BAL,CREDLIM,DISCOUNT) PRIMARY KEY(CUST)99的只有一个收货地址的顾客,则CUST(顾客号)ADDRESS(地址)。对于其他1的顾客,建立关系模式SECOND(代替原来的关系模式SHIPTO):SECONH(AKKRESS,CUST) PRIMARY KEY(ADDRESS)这样,CUST存放主地址,而SECOND中存放所
25、有的第二地址(和相应的顾客号),这两个关系变量都是属于BCNF的。该方法具有如下优点:(1)对于99的顾客的处理变得简单(当然更有效)了;(2)如果输入订单时把收货地址省略了,则可以用主地址作为默认地址。总的说来,把特殊情况分离开来是个有效的方法,它可以充分利用两者的优点。既达到简化处理的目的,又使设计的关系模式达到BCNR。12答:(1)任何一个二目关系都是属于3NF的。(2)任何一个二目关系都是属于BCNF的。(3)任何一个二目关系都是属于4NF的。 R(X,Y)如果XY即X、Y之间存在平几的多值依赖,R属于4NF。(4)当且仅当函数依赖AB在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。当AB在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。(参见概论上定理5。6)(5)若R。AR。B,R。BR。C,则R。AR。C(6)若R。AR。B,R。AR。C,则R。AR。(B,C) (7)若R。BR。A,R。CR。A,则R。(B,C) R。A(8)若R。(B,C) R。A,则R。BR。A,R。CR。A反例:关系模式SC(S,C,G),(S,C)G,但是,。专心-专注-专业