还剩7页未读,继续阅读
文本内容:
数据库概论模拟考试试卷及答案
一、填空题(本大题共5个空,每空1分,共5分)
1.事务的特性包括原子性、一致性、隔离性、和持久性
2.SQL数据库中的表,可以是基本表,也可以是视图
3.关系数据模型的数据完整性规则包括实体完整性、参照完整性和用户定义的完整性
4.E-R方法的三要素是实体、属性和联系
二、名词解释(本大题共5个小题,每小题3分,共15分)
1.实体完整性规则这条规则要求关系中元组在组成主键的属性上不能有空值如果出现空值,那么主键值就起不了唯一标识元组的作用
2.一级封锁协议事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放3.属性关系表中的一列即为一个属性
4.全码在关系中所有属性都为码即为全码
5.丢失更新当两个或以上的事务同时修改同一数据集合时由于并发处理使得某些事务对此数据集合的修改被忽视了.
三、单项选择题(本大题共20小题,每小题1分,共20分)1.在SQL的算术表达式中,如果其中有空值,则表达式C A空值按0计算 B由用户确定空值内容再计算结果C结果为空值 D指出运算错误,终止执行
2.当两个关系没有公共属性时,其自然连接操作表现为AA笛卡儿积操作 B等值连接操作C结果为空集 D错误操作3.基本ER图就是数据库的DA外模式 B逻辑模式 C内模式 D概念模式
4.对基本表S,执行操作DROPTABLESRESTRICT的作用是CA删除基本表S中的所有元组B把基本表S及其生成的一切视图全部删除C当没有由S中的列产生的视图或约束时将表S删除D删除表S,将引用表S的视图中一切S的属性置为空值
5.关系R与关系S只有1个公共属性T1是R与S等值连接的结果T2是R与S自然连接的结果则CAT1的属性个数等于T2的属性个数BT1的属性个数小于T2的属性个数CT1的属性个数大于或等于T2的属性个数DT1的属性个数大于T2的属性个数
6.如果事务T获得了数据项Q上的排它锁,则T对QC A只能读不能写 B只能写不能读 C既可读又可写 D不能读不能写7.在数据库技术中,未提交的随后又被撤消的数据称为 DA错误数据 B冗余数据 C过期数据 D脏数据
8.选择分布式数据库各片段数据存放场地的模式是DA外模式 B概念模式 C分片模式 D分配模式
9. 现有如下关系患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是(A)A)患者编号B)患者姓名C)患者编号和患者姓名D)医生编号和患者编号
10.班长和学生是什么关系(B)A)11B)1MC)M ND)都不是
11.单个用户使用的数据视图的描述称为A A外模式 B概念模式 C内模式 D存储模式12在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是BA用户界面 B存取结构C数据输入 D 报表输出
13. 实体集书店与图书之间具有(B)联系A)一对一B)一对多C)多对多D)多对一
14. 现有关系表医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是(A)A)患者编号,医生编号,诊断日期B)医生编号C)诊断日期D)患者编号
15. 任何一个三目关系都属于(A)A)1NFB)3NFC)BCNFD)4NF
16.哪种模式不是数据库的模式(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 AAGEISNULL BAGEISNOTNULL CAGE=NULLDNOTAGEISNULL
四、分析题(本大题共2小题,每小题15分本大题共30分)
1.学生运动会模型:1有若干班级每个班级包括:班级号班级名专业人数2每个班级有若干运动员运动员只能属于一个班包括:运动员号姓名性别年龄3有若干比赛项目包括:项目号名称比赛地点4每名运动员可参加多项比赛每个项目可有多人参加5要求能够公布每个比赛项目的运动员名次与成绩6要求能够公布各个班级团体总分的名次和成绩解题要求:1画出每个实体及其属性关系、实体间实体联系的E-R图.2根据试题中的处理要求:完成数据库逻辑模型包括各个表的名称和属性.并指出每个表的主键和外键12班级班级号班级名专业人数 主键班级号运动员运动员号姓名性别年龄班级号主键运动员号 外键班级号项目项目号项目名比赛地点 主键项目号比赛运动员号项目号成绩名次得分 主键运动员号项目号 外键运动员号;项目号2.设T1,T2,T3是如下三个事务T1A=A+2;B:=B+2T2A=A*2;B:=B*2T3A=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=0WAITWAITWAITWAITUNLOCKAWAITWAITUNLOCKBXLOCKAWAIT读A=0WAITWAITUNLOCKAXLOCKAUNLOCKBWAIT读A=0UNLOCKAUNLOCKB
(5)T1T2T3XLOCKAXLOCKBWAIT读A=0读B=0WAITA=A+2B=B*2WAITWRITEA=2WRITEB=0WAITXLOCLBXLOCKAWAIT遵守两段锁协议死锁情况
五、程序设计题(本大题共2小题,每小题15分,共30分)
1.对于教学数据库的三个基本表 学生studentsnosnamesexsagesdept 学习scsnocnograde 课程coursecnocnamecpnoccredit试用SQL语句表示下列语句
(1) 有不姓刘的同学的学号和姓名selectsnosnamefromstudentwheresnamenotlike刘%
(2)查询课程名是数据库原理的课程号和学分selectcnoccreditfromcoursewherecname=数据库原理
(3)查询所有选修了1号课程的同学的姓名selectsnamefromstudentwherestudent.snoinselectsc.snofromscwherecno=1
(4)查询比计算机系(CS)所有年龄都小的其它系学生select*fromstudentwheresageallselectsagefromstudentwheresdept=CS
(5)查询至少比计算机系(CS)中1个同学龄都大的同学名单(不含计算机系)select*fromstudentwheresageanyselectsagefromstudentwheresdept=CSandsdeptnotlikeCS2. 有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分)供应商表S(SNOSNAMESTATUSCITY);SPJ表零件表PPNOPNAMECOLORWEIGHT;工程项目表JJNOJNAMECITY;供应情况表SPJSNOPNOJNOQTY;J表S表P表请用关系代数完成如下查询1. 求供应工程J3零件的供应商号SNO2. 求供应工程J3件P3的供应商号吗SNO3. 求供应工程J3零件为红色的供应商号码SNO4. 求没有使用南京供应商生产的红色零件的工程号JNO5.求至少用了供应商S3所供应的全部零件的工程号JNO
1. ∏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. ∏jnopno(SPJ)÷∏pno(σsno=‘s3’(SPJ))。