2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)

上传人:s9****2 文档编号:490141993 上传时间:2023-03-22 格式:DOCX 页数:14 大小:20.26KB
返回 下载 相关 举报
2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)_第1页
第1页 / 共14页
2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)_第2页
第2页 / 共14页
2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)_第3页
第3页 / 共14页
2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)_第4页
第4页 / 共14页
2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)》由会员分享,可在线阅读,更多相关《2022软件水平考试-中级数据库系统工程师考试题库套卷44(含答案解析)(14页珍藏版)》请在金锄头文库上搜索。

1、2022软件水平考试-中级数据库系统工程师考试题库(含答案解析)1. 问答题:某法院要开发一个诉讼案件信息处理系统,该信息系统的部分关系模式如下:职工(职工编号,姓名,岗位)律师(律师编号,姓名)被告(被告编号,姓名,地址)案件(案件编号,案件类型,案件描述,被告,律师,主审法官,立案日期,状态,结案日期,结案摘要)审理(审理编号,案件编号,审理日期,摘要)有关关系模式的属性及相关说明如下:(1)职工关系模式的岗位有“法官”、“书记员”和“其他”。(2)诉讼立案后,即在案件关系中插入一条相应记录。案件关系模式的状态有“待处理”、“审理中”、“结案”和“撤销”,一个案件开始立案时其案件状态为“待

2、处理”。(3)案件关系模式的案件类型有“偷窃”、“纵火”等。(4) 一个案件自立案到结案的整个过程由一位法官和一位律师负责,一个案件通常经过一次到多次审理。【问题1】假设案件编号唯一标识一个案件,且立案日期小于等于结案日期。请将如下创建案件关系的SQL语句的空缺部分补充完整。CREATE TABLE案件(案件编号CHAR(6) (a) ,案件类型VARCHAR(10),案件描述VARCHAR (200),立案日期DATE被告VARCHAR (6) REFERENCES被告(被告编号),律师VARCHAR (6) REFERENCES律师(律师编号),主审法官VARCHAR (6) (b) ,状

3、态VARCHAR (6) (c) DEFAULT待处理,结案日期DATE,结案摘要VARCHAR (200), (d) ); 【问题2】请完成下列查询的SQL语句。(1)查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、案件描述、律师姓名和主审法官姓名。SELECT案件编号,立案日期,被告姓名AS被告姓名,地址AS被告地址,案件描述,律师姓名AS律师姓名, (e)FROM (f)WHERE案件.被告=被告.被告编号AND案件.律师=律师.律师编号AND (g) ; (2)查询2009年立案的各类案件数,并按案件数降序排序。(日期格式举例:2009年1月1日表示为01-

4、JAN-2009,2009年12月31日表示为31-DEC-2009)SELECT类型,count(*) AS案件数FROM案件WHERE (h)GROUP BY案件类型 (i) ; (3)查询立案次数超过5次的被告姓名和地址。SELECT姓名,地址,count(*)FROM案件,被告WHERE (j)GROUP BY (k) (l) ; 【问题3】当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审理中”。下面是用触发器实现该需求的SQL语句,请将空缺部分补充完整。CREATE TRIGGER 审理TRIGGER AFTER (m) ON审理REFERENCING ne

5、w row AS nrowFOR EACH rowWHEN未处理=(SELECT状态FROM案件WHERE案件编号- nrow.案件编号)BEGINUPDATE案件 (n)WHERE (o) ;END答案: 本题解析:【问题1】(a) PRIMARY KEY或NOT NULL UNIQUE(b) REFERENCES职工(职工编号)(c) CHECK VALUES IN(待处理,审理中,结案,撤销)(d) CHECK(立案日期=结案日期)【问题2】(1)(e)职工.姓名AS主审法官姓名(f)案件,被告,律师,职工(关系模式的顺序无关)(g)案件.主审法官=职工.职工编号 AND案件.案件状态=

6、待处理(2)(h)立案日期BETWEEN OI-JAN-2009 AND 31_DEC_2009或者立案日期=Ol-JAN-2009AND立案日期=31-DEC-2009(i) ORDER BY案件数DESC(3)(j)案件.被告=被告.被告编号(k)姓名,地址(l) HAVING count(*)5【问题3】(m) INSERT(n) SET状态=审理中(o)案件编号=nrow.案件编号2. 多选题:事务的等待图中出现环,使得环中的所有事务都无法执行下去,这类故障属于(请作答此空);解决的办法是选择环中代价最小的事务进行撤销,再将其置入事务队列稍后执行。假如选中事务T1,在T1撤销过程中需要

7、对其进行( )操作。A.事务故障B.系统故障C.介质故障D.病毒答案:A 本题解析:常见的数据库故障类型分为事务故障、系统故障和介质故障。其中,事务故障是指事务在运行至正常中止点前被中止,此时恢复子系统应利用日志文件撤销(UNDO)此事务对数据库已做的修改。依题意,事务的等待图中出现环,使得环中的所有事务都无法执行下去,这类故障属于事务故障。其解决的办法是选择环中代价最小的事务进行撤销,再将其置入事务队列稍后执行。假如选中事务T1,在T1撤销过程中需要对其进行UNDO操作。3. 问答题:某连锁酒店提供网上预订房间业务,流程如下:(1)客户查询指定日期内所有类别的空余房间数,系统显示空房表(日期

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

9、指令序列为: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分)下面是实现预订业务的程序,请

10、补全空玦处的代码。其中主变量:Cid,:Bdate, :Edate,:Rtype, :Num 分别代表身份证号,起始日期,结束日期,房间类别和订房数量。SET TRANSACTION ISOLATION 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)_; .答案: 本

11、题解析:【问题1】(3分)同时预订时,可能会产生一个客户订不到或者把同一房订给两个客户【问题2】(8分)出现问题:丢失修改,客户1预订a1数量房间后,对空房数量的修改被T2的修改覆盖,造成数据不一致。(4分)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)(4分)【问题3】(4分)(a)房间类别=:Rtype AND 日期 BETWEEN :Bdate AND :Edate(2分

12、)(b)COMMIT;Return 0;(2分)4. 判断题:某高校五个系的学生信息存放在同个基本表中,采取_( )_的措施可使各系的管理员只能读取本系学生的信息。A.建立各系的列级视图,并将对该视图的读权限赋予该系的管理员B.建立各系的行级视图,并将对该视图的读权限赋予该系的管理员C.将学生信息表的部分列的读权限赋予各系的管理员D.将修改学生信息表的权限赋予各系的管理员答案:B 本题解析:暂无解析5. 问答题:阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。【说明】某汽车租赁公司建立汽车租赁管理系统,其数据库的部分关系模式如下:用户:USERS( UserId,Name,

13、 Balance),各属性分别表示用户编号、姓名、余额;汽车:CARS(CId, Ctype, CPrice,CStatus)各属性分别表示汽车编号、型号、价格(日租金)、状态;租用记录: BORROWS(BRId, UserId,CId, STime, ETime),各属性分别表示租用编号、用户编号、汽车编号、租用用时间、归还时间;不良记录:BADS(BId, UserIdBRId, BTime),各属性分别表示不良记录编号、用户编号、租用编号、不良记录时间。相关关系模式的属性及说明如下(1)用户租用汽车时,其用用户表中的余额不能小于 500,否则不能租用。(2)汽车状态为待租和已租,待租汽

14、车可以被用户租用,已租汽车不能租用。(3)用户每租用一次汽车,向租用记录中添加一条租用记录,租用时间默认为系统当前时间,归还时间为空值,并将所租汽车状态变为已租。用户还车时,修改归还时间为系统当前时间,并将该汽车状态改为待租。要求用户不能同时租用两辆及以上汽车。(4)租金从租用时间起按日自动扣除。根据以上描述,回答下列问题题,将 SQL 语句的空缺部分补充完整。【问题 1】(4 分)(1)请将下面建立 租用记录 表的 SQL 语句补充完整,要求定义主码完整性约束和引用完整性约束。CREATE TABLE BORROWS (BRIDCHAR(20)(a),UserId CHAR(10)(b) ,Cld CHAR(10)(c) ,STime DATETIME (d),ETime DATETIME,);【问题2】(4 分)当归还时间为空值时,表示用户还未还车,系统每天调用事务程序从用户余额中自动扣除当日租金,每个事务修改一条用户记录中的余额值。由用户表上的触发器实现业务:如用户当日余额不足,不扣除当日租金,自动向不良记录表中加入一条记录,记录中的 BId 取值由 UserId系统当前日期构成, Btime 采用 GETDATE( )函数取系统当前时间。补全创建触发器 Bad_TRG 的 SQL 语句。CREATE

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

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

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