学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第1页共5页浙江万里学院学年第学期《数据库原理》试卷(11)卷标准答案专业:计算机科学技术层次:本科年级:命题教师:杨爱民一、单项选择题(本大题共20小题,每小题1分,共20分)1.在SQL的算术表达式中,如果其中有空值,则表达式(C)A)空值按0计算B)由用户确定空值内容再计算结果C)结果为空值D)指出运算错误,终止执行2.当两个关系没有公共属性时,其自然连接操作表现为(A)A)笛卡儿积操作B)等值连接操作C)结果为空集D)错误操作3.基本ER图就是数据库的(D)A)外模式B)逻辑模式C)内模式D)概念模式4.对基本表S,执行操作DROPTABLESRESTRICT的作用是(C)A)删除基本表S中的所有元组B)把基本表S及其生成的一切视图全部删除C)当没有由S中的列产生的视图或约束时将表S删除D)删除表S,将引用表S的视图中一切S的属性置为空值5.关系R与关系S只有1个公共属性,T1是R与S等值连接的结果,T2是R与S自然连接的结果,则(C)A)T1的属性个数等于T2的属性个数B)T1的属性个数小于T2的属性个数C)T1的属性个数大于或等于T2的属性个数D)T1的属性个数大于T2的属性个数6.如果事务T获得了数据项Q上的排它锁,则T对Q(C)A)只能读不能写B)只能写不能读C)既可读又可写D)不能读不能写7.在数据库技术中,未提交的随后又被撤消的数据称为(D)A)错误数据B)冗余数据C)过期数据D)脏数据8.选择分布式数据库各片段数据存放场地的模式是(D)A)外模式B)概念模式C)分片模式D)分配模式9.现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是(A)A)患者编号B)患者姓名C)患者编号和患者姓名D)医生编号和患者编号10.班长和学生是什么关系(B)A)1:1B)1:MC)M:ND)都不是11.单个用户使用的数据视图的描述称为(A)A)外模式B)概念模式C)内模式D)存储模式装订线学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第2页共5页12在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是(B)A)用户界面B)存取结构C)数据输入D)报表输出13.实体集书店与图书之间具有(B)联系。A)一对一B)一对多C)多对多D)多对一14.现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是(A)A)患者编号,医生编号,诊断日期B)医生编号C)诊断日期D)患者编号15.任何一个三目关系都属于(A)A)1NFB)3NFC)BCNFD)4NF16.哪种模式不是数据库的模式(C)A)模式B)外模式C)映像模式D)内模式17.下面哪种数据模型只有一个根结点(B)A)概念B)层次C)关系D)网状18.视图定义是(D)A)一个基表中导出的基表B)一个基表中导出的虚表C)一个或几个基表或视较中导出的基表D)一个或几个基表或视较中导出的虚表19.四种传统的集合运算算是(C)A)∪,-,×,和σB)∪,-,∞,和σC)∪,∩,×,和-D)∪,∞,π和σ20.SQL中,下列涉及空值的操作,不正确的是(C)A)AGEISNULLB)AGEISNOTNULLC)AGE=NULLD)NOT(AGEISNULL)二、填空题(本大题共5个空,每空1分,共5分)1.事务的特性包括:(原子性)、一致性、隔离性、和持久性。2.SQL数据库中的表,可以是基本表,也可以是(视图)。3.关系数据模型的数据完整性规则包括(实体)完整性、(参照)完整性和用户定义的完整性。4.E-R方法的三要素是:实体、(属性)和联系。三、名词解释(本大题共5个小题,每小题3分,共15分)1.实体完整性规则这条规则要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了唯一标识元组的作用。2.一级封锁协议事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。。3.属性关系表中的一列即为一个属性4.全码在关系中所有属性都为码即为全码。5.丢失更新当两个或以上的事务同时修改同一数据集合时,由于并发处理,使得某些事务对此数据集合的修改被忽视了.学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第3页共5页四、程序设计题(本大题共2小题,每小题15分,共30分)1.对于教学数据库的三个基本表学生student(sno,sname,sex,sage,sdept)学习sc(sno,cno,grade)课程course(cno,cname,cpno,ccredit)试用SQL语句表示:下列语句。(1)有不姓刘的同学的学号和姓名selectsno,snamefromstudentwheresnamenotlike'刘%'(2)查询课程名是数据库原理的课程号和学分selectcno,ccreditfromcoursewherecname='数据库原理'(3)查询所有选修了1号课程的同学的姓名selectsnamefromstudentwherestudent.snoin(selectsc.snofromscwherecno='1')(4)查询比计算机系(CS)所有年龄都小的其它系学生select*fromstudentwheresageall(selectsagefromstudentwheresdept='CS')(5)查询至少比计算机系(CS)中1个同学龄都大的同学名单(不含计算机系)select*fromstudentwheresageany(selectsagefromstudentwheresdept='CS')andsdeptnotlike'CS'五.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分)供应商表S(SNO,SNAME,STATUS,CITY);SPJ表零件表P(PNO,PNAME,COLOR,WEIGHT);工程项目表J(JNO,JNAME,CITY);供应情况表SPJ(SNO,PNO,JNO,QTY);J表S表P表请用关系代数完成如下查询:1.求供应工程J3零件的供应商号SNO2.求供应工程J3件P3的供应商号吗SNO3.求供应工程J3零件为红色的供应商号码SNO4.求没有使用南京供应商生产的红色零件的工程号JNO5.求至少用了供应商S3所供应的全部零件的工程号JNO1.∏sno(σJNO=‘J3’(SPJ))2.∏sno(σJNO=‘J3’ΛPNO=’P2’(SPJ))3.∏sno(σJNO=‘J3’(SPJ)∞σcolor=‘红’(P))4.∏jno(SPJ)-∏jno(∏sno(σcity=‘南京’(S))∞∏sno,jno(SPJ)∞∏jnoσcolor=‘红’(P))5.∏jno,pno(SPJ)÷∏pno(σsno=‘s3’(SPJ))五、分析题(本大题共2小题,每小题15分本大题共30分)1.学生运动会模型:(1)有若干班级,每个班级包括:班级号,班级名,专业,人数(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄(3)有若干比赛项目,包括:项目号,名称,比赛地点(4)每名运动员可参加多项比赛,每个项目可有多人参加(5)要求能够公布每个比赛项目的运动员名次与成绩(6)要求能够公布各个班级团体总分的名次和成绩解题要求:(1)画出每个实体及其属性关系、实体间实体联系的E-R图.学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第4页共5页(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并指出每个表的主键和外键。(1)(2)班级(班级号,班级名,专业,人数)主键:班级号运动员(运动员号,姓名,性别,年龄,班级号)主键:运动员号外键:班级号项目(项目号,项目名,比赛地点)主键:项目号比赛(运动员号,项目号,成绩,名次,得分)主键:运动员号,项目号外键:运动员号;项目号2.设T1,T2,T3是如下三个事务:T1:A:=A+2;B:=B+2T2:A:=A*2;B:=B*2T3:A:=A**2;B:=B**2设A初值为2B初值为2解答:试问(1)若这三个事物允许并发执行,则有多少种可能的的正确结果,请一一列举出来(2)请给出一个可串行化的调度(3)请给出一个非串行化的调度(4)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度(5)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度(1)三个事务允许并发执行,有6种结果:T1T1T2T2T3T3T2T3T1T3T1T2T3T2T3T1T2T1(2)T1T2T3(3)T1T2T3XLOCKAXLOCKBWAIT读A=0读B=0WAITA=A+2B=B*2WRITEA=2WRITEB=0UNLOCKAUNLOCKBWAITXLOCLBXLOCKA读B=0读A=2B=B+2A=A*2waitWRITEB=2WRITEA=4UNLOCKBUNLOCLAXLOCKA读A=4A=A**WRITEA=16UNLOCKAXLOCLB读B=2B=B**2WRITEB=4UNLOCKB(4)T1T2T3XLOCKAWAITWAIT读A=0WAITWAIT。。。。WAITWAITUNLOCKAWAITWAITUNLOCKBXLOCKAWAIT读A=0WAIT。。。。。。WAITUNLOCKAXLOCKAUNLOCKBWAIT读A=0。。。。UNLOCKAUNLOCKB(5)T1T2T3XLOCKAXLOCKBWAIT学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第5页共5页读A=0读B=0WAITA=A+2B=B*2WAITWRITEA=2WRITEB=0WAITXLOCLBXLOCKAWAIT遵守两段锁协议死锁情况