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

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

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

1、2022软件水平考试-中级数据库系统工程师考试题库(含答案解析)1. 问答题:阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】 某抢红包软件规定发红包人可以一次抛出多个红包,由多个人来抢。要求每个抢红包的人最多只能抢到同一批次中的一个红包,且存在多个人同时抢同一红包的情况。给定的红包关系模式如下:Red(ID,BatchID,SenderID,Money,ReceiverID)其中 ID 唯一标识每一个红包; BatchID 为发红包的批次,一个 BatchID 值可以对应多个ID 值;SenderID 为发红包人的标识;Money 为红包中的钱数; ReceiverID

2、 记录抢到红包的人的标识。发红包人一次抛出多个红包,即向红包表中插入多条记录,每条记录表示一个红包, 其 ReceiverID 值为空值。抢某个红包时,需要判定该红包记录的 ReceiverID 值是否为空,不为空时表示该红包己被抢走,不能再抢,为空时抢红包人将自己的标识写入到 ReceiverID 宇段中,即为抢到红包。【问题1】引入两个伪指令 a = R(X) 和 W(b,X) 。其中a = R(X) 表示读取当前红包记录的ReceiverID 字段(记为数据项 X) 到变量a中, W(b,X)表示将抢红包人的唯一标识b的值写入到当前红包记录的ReceiverID 字段(数据项 X) 中,

3、变量a为空值时才会执行 W(b,X) 操作。假设有多个人同时抢同一红包(即同时对同一记录进行操作),用 ai=Ri (X)和 Wi(bi, X)表示系统依次响应的第i个人的抢红包操作。假设当前数据项 X 为空值,同时有三个人抢同一红包,则(1)如下的调度执行序列:a1 =R1, a2 = R2(X),W1(b1 ,X),W2(b2,X), a3 = R3(X)抢到红包的是第几人?并说明理由。(2)引入共享锁指令 SLocki(X)、独占锁指令XLocki(X)和解锁指令 ULocki(X) ,其中下标i表示第i个抢红包人的指令。如下的调度执行序列:SLock1(X),a1 = R1(X),SL

4、ock2(X),a2 = R2(X),XLock1(X).是否会产生死锁?并说明理由。 (3)为了保证系统第一个响应的抢红包人为最终抢到红包的人,请使用上述。)中引入的锁指令,对上述(1)中的调度执行序列进行修改,在满足2PL协议的前提下,给出一个不产生死锁的完整的调度执行序列。【问题2】 下面是用 SQL实现的抢红包程序的一部分,请补全空缺处的代码CREATE PROCEDURE ScrambleRed (IN BatchNo VARCHAR(20) , -红包批号( IN RecvrNo VARCHAR(20) ) 一接收红包者BEGIN-是否已抢过此批红包if exist s( SELE

5、CT * FROM Red WHERE BatchID = BatchNo AND ReceiverID = RecvrNo) thenreturn -1;end if;-读取此批派发红包中未领取的红包记录IDDECLARE NonRecvedNo VARCHAR(30);DECLARE NonRecvedRed CURSOR FORSELECT ID FROM RedWHERE BatchID = BatchNo AND ReceiverID IS NULL;-打开游标OPEN NonRecvedRed;FETCH NonRecvedRed INTO NonRecvedNo;while no

6、t error一抢红包事务BEGIN TRANSACTION;/写入红包记录UPDATE RED STE RECDIVER ID =RecvrNoWHERE ID = nonRECVED AND( a )/执行状态判定If修改的记录数= 1 THENCOMMIT;( b );Return 1;ElseROLLBACK;End if;( c );End while-关闭游标CLOSE NonRecved RDReturn 0;END答案: 本题解析:【问题1】(9分)(1)第2人,并发操作出现了丢失更新的问题,第2个的更新覆盖了第1个的更新,原因是破坏了事物的隔离性。(2)会产生死锁,由于数据X

7、同时被1和2加锁了S锁,再对方没有释放的时候,都无法加成功X锁,导致1和2一直都处于等待的状态(3)XLock(X) a=R(X) W(b,X)UNLock(X)【问题2】(6分)(a)BatchID=BatchNo(b)CLOSE NonRecvedRed(c)END TRANSACTION2. 判断题:SQL中,用于提交和回滚事务的语句分别是( )。A.END WORK和ROLLBACK WORKB.COMMIT WORK和ROLLBACK WORKC.SAVE WORK和ROLLUP WORKD.COMMITWORK和ROLLUP WORK答案:B 本题解析:本题考查事务程序的基础知识。

8、事物的结束语句是ROLLBACK和COMMIT。当事务执行中出错时,使用ROLLBACK对当前事务对数据库已做的更新进行撤销;事务所有指令执行完成后,用COMMIT语句对数据库所做的更新进行提交。COMMIT WORK和ROLLBACK WORK中的WORK可省略。3. 多选题:商业秘密构成的条件是:商业秘密必须具有(请作答此空),即不为公众所知悉;必须具有(),即能为权利人带来经济效益;必须具有() ,即采取了保密措施。A.公开性B.确定性C.未公开性D.非确定性答案:C 本题解析:本题考查知识产权相关知识商业秘密是指不为公众所知悉的、能为权利人带来经济利益、具有实用性并经权利人采取保密措施

9、的技术信息和经营信息。商业秘密分类经营秘密:指未公开的经营信息。技术秘密:指未公开的技术信息。4. 多选题:下列选项中同时具有财产权和人身权双重属性的是 ()。商业秘密具有 (请作答此空) 属性。A.名誉权属性B.人身权属性C.财产权属性D.使用权属性答案:C 本题解析:本题考查计算机系统相关知识著作权包括著作人身权和著作财产权两个方面。著作人身权:包括发表权、署名权、修改权和保护作品完整权。著作财产权:包括作品的使用权和获得报酬权。商业秘密是指不为公众所知悉的、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息。商业秘密分类经营秘密:指未公开的经营信息。技术秘密:指

10、未公开的技术信息。5. 多选题:外观设计专利权保护的范围包括( )。A.相同外观设计B.不同外观设计C.相似外观设计D.相同外观设计和相近似外观设答案:D 本题解析:本题考查知识产权相关知识获得专利权的条件发明或者实用新型的条件:新颖性、创造性、实用性。外观设计的条件:新颖性、美观性、合法性。6. 问答题:天津市某银行信息系统的数据库部分关系模式如下所示:客户(客户号,姓名,性别,地址,邮编,电话)账户(账户号,客户号,开户支行号,余额)支行(支行号,支行名称,城市,资产总额)交易(交易号,账户号,业务金额,交易日期)其中,业务金额为正值表示客户向账户存款;为负值表示取款。【问题1】以下是创建

11、账户关系的SQL语句,账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。账户余额不能小于1.00元。请将空缺部分补充完整。CREATE TABLE 账户( 账户号 CHAR(19) (a) , 客户号 CHAR(10) (b) ,开户支行号 CHAR(6) NOT NULL ,余额 NUMBER(8,2) (c) );【问题2】(1)现银行决策者希望查看在天津市各支行开户且2009年9月使用了银行存取服务的所有客户的详细信息,请补充完整相应的查询语句。 (交易日期形式为2000-01-01)SELECT DISTINCT 客户.*FROM 客户, 账户, 支行, 交易WHERE

12、客户.客户号 = 账户.客户号 AND账户.开户支行号 = 支行.支行号 AND(d) AND交易.账户号 = 账户.账户号 AND(e) ;上述查询优化后的语句如下,请补充完整。SELECT DISTINCT 客户.*FROM 客户, 账户, (f) AS 新支行, (g) AS 新交易WHERE 客户.客户号 = 账户.客户号 AND账户.开户支行号 = 新支行.支行号 AND新交易.账户号 = 账户.账户号(2)假定一名客户可以申请多个账户,给出在该银行当前所有账户余额之和超过百万的客户信息并按客户号降序排列。SELECT *FROM 客户WHERE (h)(SELECT 客户号 FRO

13、M 账户 GROUP BY 客户号 (i) )ORDER BY (j) ;【问题3】(1)为账户关系增加一个属性“账户标记” ,缺省值为0,取值类型为整数;并将当前账户关系中所有记录的“账户标记”属性值修改为0。请补充相关SQL语句。ALTER TABLE 账户 (k) DEFAULT 0 ;UPDATE 账户 (l) ;(2)对于每笔金额超过10万元的交易,其对应账户标记属性值加1,给出触发器实现的方案。CREATE TRIGGER 交易_触发器 (m) ON 交易REFERENCING NEW ROW AS 新交易FOR EACH ROWWHEN (n)BEGIN ATOMICUPDATE

14、 账户 SET 账户标记 = 账户标记 + 1WHERE (o) ;COMMIT WORK ;END ;答案: 本题解析:【问题1】(a)PRIMARY KEY/NOT NULL UNIQUE/NOT NULL PRIMARY KEY(b)NOT NULL REFERENCES客户(客户号)(c)CHECK(余额=1.00)【问题2】(1)(d)支行.城市天津市(e)交易.交易日期LIKE 2009-09-或等价表示 注:(d)(e)次序无关 (f) (SELECT* FROM支行WHERE城市=天津市)(g)(SELECT * FROM交易WHERE交易日期LIKE 2009-09%)或等价表示(2)(h)客户号IN(i) HAVING SUM(余额) 1000000.00或等价表示(J)客户号DESC【问题3】(1)(k) ADD 账户标记 INT(l) SET账户标记=0;(2)(m)AFTER INSERT(n)新交易.业务金额 100000.00或等价表示(o)账户.账户号新交易.账户号7. 问答题:某航空公司要开发一个订票信息处理系统,该系统的部分关系模式如下:航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达

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

最新文档


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

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