2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期

上传人:M****1 文档编号:507911209 上传时间:2023-07-30 格式:DOCX 页数:18 大小:362.11KB
返回 下载 相关 举报
2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期_第1页
第1页 / 共18页
2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期_第2页
第2页 / 共18页
2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期_第3页
第3页 / 共18页
2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期_第4页
第4页 / 共18页
2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期》由会员分享,可在线阅读,更多相关《2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)第109期(18页珍藏版)》请在金锄头文库上搜索。

1、2022年软考-数据库系统工程师考前拔高综合测试题(含答案带详解)1. 案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】如果一个数据库恢复系统采用检查点机制,且其日志文件如表5-1所示,第一列表示日志记录编号,第二列表示日志记录内容。表示事务Ti开始执行,表示事务Ti提交,表示事务Ti将数据项D的值由V1修改为V2。请回答以下问题。表5-1 日志记录列表【问题1】(6分)假设系统开始执行前X=100,Y=50,Z=10,系统出错恢复后,X、Y、Z各自的数值是多少?【问题2】(4 分)系统发生事务故障时,故障恢复有撤销事务(undo)和重做事务(redo)两个操作。请

2、给出系统恢复时需要redo的事务列表和需要undo的事务列表。【问题3】(5 分)请用100字以内的文字,简要描述系统出错后,基于检查点的恢复过程。【答案】【问题1】X=1,Y=50,Z=10。【问题2】需要redo的事务列表:T1。需要undo的事务列表:T2,T3。【问题3】步骤1:反向扫描日志文件,确定需要redo的事务和需要undo的事务。步骤2:对需要undo的事务撤销已经执行的操作。步骤3:对需要redo的事务重新执行已执行的操作。【解析】本题考查考生对数据库中事务故障的掌握。此类题目要求考生认真阅读日志文件,判断故障发生时完成和未完成的事务对数据项的影响。在此基础上,考生需要了解

3、撤销事务和重做事务在故障恢复中的应用和故障恢复的正确步骤。【问题1】系统出错前,只提交了事务T1,即将数据项X的值由100改为1。T2和T3事务由于未提交,其中的修改未生效。【问题2】系统恢复的方法为:清除尚未完成的事务对数据库的所有修改,undo(撤销)所有未完成的事务(从后往前)。将缓冲区中已完成事务提交的结果写入数据库,redo(重做)所有已提交的事务(从前往后)。T1已完成事务提交,需要redo。T2和T3事务尚未完成,需要undo。【问题3】本题需要重点关注撤销事务和重做事务的顺序。在重做事务之前,需要先进行撤销操作。2. 单选题以下关于并发调度的说法中,正确的是( )。问题1选项A

4、.以不同串行方式调度执行两个事务,结果都相同B.并发调度结果与某一种串行调度结果相同,是并发调度正确的必要条件C.不满足两段锁协议的并发调度,其结果一定是错误的D.满足两段锁协议的并发调度不会产生死锁【答案】B【解析】并发调度的结果与某一种串行调度结构相同,是并发调度正确的必要条件。这个是正确的,并发调度的结果只要跟某个串行调度结果相同,就代表是正确的。所以答案是B。3. 单选题某电影院某日电影入座情况如下表所示。为调整场次,要统计2021年2月21日到场人数总数大于100的电影,可满足要求的SQL语句是( )。问题1选项A.SELECT film,sum(attendance) FROM m

5、ovie WHERE pdate=20210221 HAVING sumattendance) 100B.SELECT film,sum(attendance) FROM movie WHERE pdate=20210221 AND attendance 100 GROUP BY filmC.SELECT filmum(attenedance) FROM movie WHERE pdate=20210221 GROUP BY film HAVING sum(attendance) 100D.SELECT film,sum(attendance) FROM movie WHERE pdate=*

6、20210221 AND sum(attendance)100 GROUP BY film【答案】C【解析】select 列名 from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段。需要根据电影进行分组。所以选择C。4. 案例题阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某学生信息管理系统的部分数据库关系模式如下:学生:Student ( stuno, stuname, stuage, stusex, schno),各属性分别表示学生的学号、姓名、年龄、性别,以及学生所属学院的编号;- stuno 主键学院:Sc

7、hool ( schno, schname, schstunum ),各属性分别表示学院的编号、名称及学生人数;- schno 主键俱乐部:Club (clubno,clubname, clubyear, clubloc ),各属性分别表示俱乐部的编号、名称、成立年份和活动地点; - clubno 主键参加:JoinClub ( stuno, clubno. joinyear ),各属性分别表示学号、俱乐部编号,以及学生加入俱乐部 的年份。 - stuno, clubno 主键有关关系模式的说明如下:(1) 学生的性别取值为F和M (F表示女性,M表示男性)。(2) 删除一个学院的记录时,通过

8、外键约束级联删除该学院的所有学生记录。(3) 学院表中的学生人数值与学生表中的实际人数要完全保持一致。也就是说,当学生表中增减记录时,就要自动修改相应学院的人数。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。【问题1】(4分)请将下面创建学生表的SQL语句补充完整,要求定义实体完整性约束、参照完整性 约束,以及其他完整性约束。CREATE TABLE Student (stuno CHAR(ll) ( a ),stuname VARCHAR,stuage SMALLINT,stusex CHAR(l) ( b),schno CHAR(3) ( c) ON DELETE ( d))

9、;【问题2】(5分)创建倶乐部人数视图,能统计每个倶乐部已加入学生的人数,属性有clubno clubname 和clubstunum。对于暂时没有学生参加的俱乐部,其人数为0。此视图的创建语句如下, 请补全。CREATE VIEW CS_NUMBER ( clubno, clubname, clubstunum ) ASSELECT JoinClub.clubno, ( e ) , ( f )FROM JoinClub, ClubWHERE JoinClub.clubno = Club.clubno( g ) BY JoinClub.clubno (h )SELECT clubno, clu

10、bname, 0 FROM ClubWHERE clubno NOT IN(SELECT DISTINCT clubno FROM ( i));【问题3】(4分)每当系统中新加或删除一个学生,就需要自动修改相应学院的人数,以便保持系统中学生人数的完整性与一致性。此功能由下面的触发器实现,请补全。CREATE TRIGGER STU_NUM_TRGAFTER INSERT OR DELETE ON ( j )REFERENCING new row AS nrow, old row AS orow FOR EACH(k )BEGINIF INSERTING THENUPDATE School (

11、l )END IF;IF DELETING THENUPDATE School ( m);END IF;END;【问题4】(2分)查询年龄小于19岁的学生的学号、姓名及所属学院名,要求输出结果把同一个学院的学生排在一起。此功能由下面的SQL语句实现,请补全。SELECT stuno, stuname, schname FROM Student, School WHERE Student.schno = School.schnoAND stuage 【答案】【问题1】(4分)(a)PRIMARY KEY(b)CHECK VALUES IN(F, M)或CHECK (stusex IN(F,M)或

12、其他等价形式(c)REFERNCES School(schno)(d)CASCADE【问题2】(5分)(e)min(clubname)或者max(clubname)(f)COUNT(stuno) 或者count(*)(g)GROUP(h)UNION(i)JoinClub【问题3】(4分)(j)Student(k)ROW(l)SET schstunum=schstunum+1 where School.schno= nrow.schno(m)SET schstunum=schstunum-1 where School.schno=orow.schno【问题4】(2分)(n)order(o)Stu

13、dent.schno 或 School.schno5. 单选题某公司的数据库在试运行阶段发现cpu长时间占用率高于95%,那么不可能的原因是( )。在运行一段时间后,由于硬盘故障,该数据库无法运行,这属于( )。问题1选项A.CPU性能过剩B.应用复杂过高C.查询执行成本过高D.存在大量行锁冲突问题2选项A.计算机病毒B.事务内部故障C.系统故障D.介质故障【答案】第1题:A第2题:D【解析】很明显CPU性能过剩是不可能的原因。介质故障即外存故障,如磁盘损坏、强磁场干扰等。这类故障发生的可能性较小,但破坏性很强。它使数据库受到破坏,并影响正在存取数据的事务。6. 单选题项目复杂性、规模和结构的

14、不确定性属于( )风险。问题1选项A.项目B.技术C.经济D.商业【答案】A【解析】项目风险涉及到各种形式的预算、进度、人员、资源以及客户相关的问题,并且可能导致项目损失。7. 单选题分布式数据库的 CAP理论指的是:对于一个分布式数据库系统,一致性、可用性和分区容错性这三个特点,最多只能满足( )个。问题1选项A.0B.1C.2D.3【答案】C【解析】分布式数据库的 CAP理论指的是:对于一个分布式数据库系统,一致性、可用性和分区容错性这三个特点,最多只能满足2个。一致性(Consistency)系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读取到最新的值,这样的系统被认为具有强一致性。也就是说所有节点在同一时间具有相同的数据;可用性(Availability)每一个操作总是能够在一定的时间内返回结果,这里需要注意的是“一定时间内”和“返回结果”。也就是说保证每个请求不管成功或者失败都有响应;分区容忍(Partition tolerance)分区容忍性可以理解为系统在存在网络分区的情况下仍然可以接受请求(满足一致性和可用性)。这里网络分区是指由于某种原因网络被分成若干个孤立的区域,而区域之间互不相通。还有一些人将分区容忍性理解为系统对节点动态加入和离开的处理能力,因为节点的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号