2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)

上传人:枫** 文档编号:511382009 上传时间:2023-04-09 格式:DOCX 页数:17 大小:20.32KB
返回 下载 相关 举报
2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)_第1页
第1页 / 共17页
2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)_第2页
第2页 / 共17页
2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)_第3页
第3页 / 共17页
2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)_第4页
第4页 / 共17页
2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)》由会员分享,可在线阅读,更多相关《2022软件水平考试-中级数据库系统工程师考试全真模拟卷22(附答案带详解)(17页珍藏版)》请在金锄头文库上搜索。

1、2022软件水平考试-中级数据库系统工程师考试全真模拟卷(附答案带详解)1. 多选题:下列选项中同时具有财产权和人身权双重属性的是 (请作答此空)。商业秘密具有 () 属性。A.著作权B.商业秘密C.发现权D.使用权答案:A 本题解析:本题考查计算机系统相关知识著作权包括著作人身权和著作财产权两个方面。著作人身权:包括发表权、署名权、修改权和保护作品完整权。著作财产权:包括作品的使用权和获得报酬权。商业秘密是指不为公众所知悉的、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息。商业秘密分类经营秘密:指未公开的经营信息。技术秘密:指未公开的技术信息。2. 问答题:某连

2、锁酒店提供网上预订房间业务,流程如下:(1)客户查询指定日期内所有类别的空余房间数,系统显示空房表(日期,房间类别,数量)中的信息。(2)客户输入预订的起始日期、结束日期、房间类别和数量,并提交。(3)系统将用户提交的信息写入预订表(身份证号,起始日期,结束日期,房间类别,数量),并修改空房表的相关数据。【问题1】如果两个用户同时查询相同日期和房间类别的空房数量,得到的空房数量为1,并且这两个用户又同时要求预订,可能会产生什么结果,请用100字以内的文字简要叙述。【问题2】引入如下伪指令:将预订过程作为一个事务,将查询和修改空房表的操作分别记为R(A)和W(A,x),插入预订表的操作记为W(B

3、,a),其中x代表空余房间数,a代表预订房间数,则事务的伪指令序列为:x=R(A),W(A,x-a),w(B,a)。在并发操作的情况下,若客户1、客户2同时预订相同类别的房间时,可能出现的执行序列为:x1=R(A),x2=R(A),W(A,x1-a1),W(B1,a1),W(A,x2-a2),W(B2,a2)。(1)此时会出现什么问题,请用100字以内的文字简要叙述。(2)为了解决上述问题,引入共享锁指令SLock(X)和独占锁指令XLock(X)对数据X进行加锁,解锁指令Unlock(X)对数据X进行解锁,请补充上述执行序列,使其满足2PL协议,不产生死锁且持有锁的时间最短。【问题3】下面是

4、实现预订业务的程序,请补全空缺处的代码。其中主变量:Cid、:Bdate、:Edate、:Rtype、:Num分别代表身份证号、起始日期、结束日期、房间类别和订房数量。SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; UPDATE 空房表 SET 数量=数量-:Num WHERE (a) ; if error then ROLLBACK; return -1; INSERT INTO 预订表 VALUES (:cid, :Bdate, :Edate, :Rtype, :Num); if error then ROLLBACK; return -2

5、; (b)答案: 本题解析:1、同时预订时,可能会产生一个客户订不到或者把同一房订给两个客户依题意,如果两个用户同时要求预订相同日期和相同类别的同一个房间,则可能会产生一个客户订不到房间或者把同一房间预订给两个客户的冲突现象。2、(1)出现问题:丢失修改,客户1预订a1数量房间后,对空房数量的修改被T2的修改覆盖,造成数据不一致。(2)XLOCK(A),x1=R(A),W(A,x1-a1),XLOCK(B),UNLOCK(A),W(B1,a1),UNLOCK(B),XLOCK(A),x2=R(A),W(A,x2-a2),XLOCK(B),UNLOCK(A),W(B2,a2),UNLOCK(B)

6、若对并发事务的指令交叉执行不加以控制,则会使每个事务的执行结果相互干扰,破坏事务的隔离性,从而造成数据库的不一致。本试题中,客户1预订a1数量房间后,对空房数量的修改可能被客户2的修改所覆盖,造成不能体现出客户1已预订的房间数量。该现象属于丢失修改造成的数据库不一致性。在并发状态下,可能会相互干扰破坏事务的ACID属性,加锁机制是保障事务正确执行的一种机制。2PL协议能够保证事务在并发状态下调度的正确性,即可串行化的调度。针对题干所给出的客户f的房间预订伪指令序列:x=R(A),W(A,x-a),W(B,a),需要在修改房间数量之前加XLock()指令,并保证读/写锁不交叉,即确保客户1释放A

7、上的锁之后客户2才能执行加锁操作。重写后的房间预订伪指令序列如下。XLOCK(A),x1=R(A),W(A,x1-a1),XLOCK(B),UNLOCK(A),W(B1,a1),UNLOCK(B),XLOCK(A),x2=R(A),W(A,x2-a2),XLOCK(B),UNLOCK(A),W(B2,a2),UNLOCK(B)3、房间类别=:Rtype AND 日期 BETWEEN :Bdate AND :Edate COMMIT :retum 0;SQL语句SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;是SQL提供的事务隔离级别之一。它表示只

8、允许事务读已提交的数据,并且在两次读同一数据时不允许其他事务修改此数据。依题意,结合题干给出的关键信息(1)客户查询指定日期内所有类别的空余房间数,系统显示空房表(日期,房间类别,数量)中的信息可得,空缺处应填入房间类别=:Rtype AND 日期 BETWEEN :Bdate AND :Edate。在程序中,事务是以COMMIT语句或ROLLBACK语句结束。结合该程序中已给出的代码if error then ROLLBACK; return -1;)和if error then ROLLBACK; return -2;可得,空缺处应填入COMMIT; return 0;。3. 问答题:某竞

9、赛管理系统的部分数据库关系模式如下:选手: PLAYER(PnO Phame, Sex. Region, Tel),各属性分别表示参赛选手的编号、姓名、性别、地区和联系电话:竞赛项目: CONTEST(CnO, Chame, Type, Date),各属性分别表示竞赛项目的编号、名称、类别和举办日期;选手参赛: PC(Pno. Cno, City, Rank, Point),各属性分别表示选手编号、竞赛项目编号、竞赛所在城市、选手取得的名次和积分。有关关系模式的说明如下:(1)下划线标出的属性是表的主码。(2)选手参赛表的属性Pno和Cno分别参照了选手表和竞赛项目表的主码。(3)一个选手参加

10、一项竞赛有一个名次和一-个积分,名次有4个取值(“一”“二” “三”无”)。另外,竞赛所在城市不能为空。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。【问题1】 (5分)请将下面创建选手参赛表PC的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。CREATE TABLE PC(Pno CHAR(10) REFERENCES(a)(Pno),Cno CHAR(3) REFERENCES(b)(Cno),City CHAR(20)(c)Rank CHAR(20)(d)PointSMALLIT,(e)【问题2】(6分)查询所有未参加答案: 本题解析:【问

11、题1】(a):PLAYER(b):CONTEST(c):NOT NULL(d):CHECK(Rank in(一, 二, 三, 无)(e):PRIMARY KEY (Pno,Cno)【问题2】f: PLAYERg: not inh: pnoi: o=oj: andk: order by【问题3】l:deletem:PCn:deleteo:CONTEST4. 多选题:下列选项中同时具有财产权和人身权双重属性的是 ()。商业秘密具有 (请作答此空) 属性。A.名誉权属性B.人身权属性C.财产权属性D.使用权属性答案:C 本题解析:本题考查计算机系统相关知识著作权包括著作人身权和著作财产权两个方面。著

12、作人身权:包括发表权、署名权、修改权和保护作品完整权。著作财产权:包括作品的使用权和获得报酬权。商业秘密是指不为公众所知悉的、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息。商业秘密分类经营秘密:指未公开的经营信息。技术秘密:指未公开的技术信息。5. 问答题:某连锁酒店提供网上预订房间业务,流程如下:(1)客户查询指定日期内所有类别的空余房间数,系统显示空房表(日期,房间类别,数量)中的信息;(2)客户输入预订的起始日期和结束日期、房间类别和数量,并提交;(3)系统将用户提交的信息写入预订表(身份证号,起始日期,结束日期,房间类别,数量),并修改空房表的相关数据。

13、针对上述业务流程,回答下列问題。【问题1】(3分)如果两个用户同时查询相同日期和房间类别的空房数量,得到的空房数量为1,并且这两个用户又同时要求预订,可能会产生什么结果,请用100字以内文字简要叙述。【问题2】(8分)引入如下伪指令:将预订过程作为一个事务,将查询和修改空房表的操作分别记为R(A)和W(A,x),插入预订表的操作记为W(B,a),其中x代表空余房间数,a代表预订房间数。则事务的伪指令序列为:x = R(A),W(A,x-a),W(B,a)。在并发操作的情况下,若客户1、客户2同时预订相同类别的房间时,可能出现的执行序列为:x1=R(A), x2 = R(A), W(A, x1-

14、a1), W(B1,a1), W(A, x2-a2), W(B2,a2)。(1)此时会出现什么问题,请用100字以内文字简要叙述。(2)为了解决上述问题,引入共享锁指令SLock(X)和独占锁指令XLock(X)对数据 X进行加锁,解锁指令Unlock(X)对数据X进行解锁,请补充上述执行序列,使其满足 2PL协议,使其不产生死锁且持有锁的时间最短。【问题3】(4分)下面是实现预订业务的程序,请补全空玦处的代码。其中主变量:Cid,:Bdate, :Edate,:Rtype, :Num 分别代表身份证号,起始日期,结束日期,房间类别和订房数量。SET TRANSACTION ISOLATION

15、 LEVEL REPEATABLE READ;UPDATE 空房表SET数量=数量 - :NumWHERE_(a)_;if error then ROLLBACK; return -1;INSERT INTO 预订表 VALUES (:Cid, :Bdate,:Edate,:Rtype,:Num);if error then ROLLBACK; return -2 ; _(b)_; .答案: 本题解析:【问题1】(3分)同时预订时,可能会产生一个客户订不到或者把同一房订给两个客户【问题2】(8分)出现问题:丢失修改,客户1预订a1数量房间后,对空房数量的修改被T2的修改覆盖,造成数据不一致。(4分)XLOCK(A),x1=R(A),W(A,x1-a1),XLOCK(

展开阅读全文
相关资源
相关搜索

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

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