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

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

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

1、2022软件水平考试-中级数据库系统工程师考试全真模拟卷(附答案带详解)1. 问答题:某医院为了更好的为患者服务、提高医院管理水平,拟开发满足自身特点的信息系统。其部分需求及设计如下:【需求描述】(1)患者到医院就诊,需提供本人医保卡或身份证,系统根据医保卡或身份证从外部医保信息库获取患者的其他详细信息,包括医保卡号、身份证号、姓名、性别、民族、出生日期等信息。(2)医生信息包括医生编号、姓名、性别、出生日期、职称等信息。(3)通过患者自述、化验结果分析等信息,医生对患者的病情进行诊断,开具处方,并填写病例。病例同时包含诊断和处方信息,包括编号、患者姓名、病情描述、诊断结论、主治医生、药品名称

2、、药品数量、服用剂量等,处方中一般会有多种药品。(4)病人凭医生开具的处方可在医院购买药品。医院记录药品的条码、名称、价格、生产厂商等信息。【逻辑结构设计】根据上述需求,设计出如下关系模式医生(编号,姓名,性别,出生日期,职称)患者(身份证号,医保卡号,姓名,性别,民族,出生日期)药品(条码,名称,价格,生产厂商)病例(编号,药品条码,患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期,服用剂量,药品数量,购买日期)。补充说明:患者身份证号,主治医生编号 是外键【问题1】(5分)对关系“患者”,请回答以下问题:(1)给出函数依赖集。(2)给出所有候选码。(3)判定属于第几范式,并说明理由

3、。【问题2】(7分)对关系“病例”,存在如下的数据依赖:DD编号(患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期),(编号,药品条码)(服用剂量,药品数量,购买日期)请回答以下问题(1)该关系模式存在哪些问题?(2)该关系模式是否属于4NF?请给出理由。(3)如果“病例”不是4NF,请分解,并指出分解后的关系模式所属范式。分解后的关系名依次为:病例1,病例2,.。【问题3】(3分)针对【问题2】的规范化要求,如果设计者分解出的多个关系模式其中之一如下:购药(病例编号,药品条码,服用剂量,药品数量,购买日期)如果医院要求统计每名医生(编号和姓名)每天接诊的患者所购买的各个药品的条码和数

4、量。基于上述设计,实现该统计共需哪几个关系?为提高该统计效率,允许对范式条件放宽要求,请修改“购药”关系模式以优化该统计。答案: 本题解析:【问题1】(1)身份证号(姓名,性别,民族,出生日期,医保卡号), 医保卡号和身份证号相互依赖。或者医保卡号(身份证号,姓名,性别,民族,出生日期), 医保卡号和身份证号相互依赖 。(2)身份证号或医保卡号(3)属于BCNF,不存在非主属性/主属性对码的部分函数依赖和传递函数依赖。【问题2】(1)由于一个处方中会有多种药品,存在有数据冗余,会造成数据的插入、更新、删除等异常。(2)不是4NF,存在非主属性对码的部分函数依赖,不是2NF,且存在非平凡函数的多

5、值依赖。(3)病例1( 编号 ,患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期)。属于BCNF(4)病例2( 编号,药品条码,服用剂量,药品数量,购买日期) 。 属于4NF【问题3】实现该统计共需关系有:医生关系模式购药(病例编号,药品条码,服用剂量,药品数量,购买日期,医生编号、医生姓名)2. 问答题:某医院为了更好的为患者服务、提高医院管理水平,拟开发满足自身特点的信息系统。其部分需求及设计如下。【需求描述】(1)患者到医院就诊,需提供本人医保卡或身份证,系统根据医保卡或身份证从外部医保信息库获取患者的其他详细信息,包括医保卡号、身份证号、姓名、性别、民族、出生日期等信息。(2)

6、医生信息包括医生编号、姓名、性别、出生日期、职称等信息。(3)通过患者自述、化验结果分析等信息,医生对患者的病情进行诊断,开具处方,并填写病例。病例同时包含诊断和处方信息,包括编号、患者姓名、病情描述、诊断结论、主治医生、药品名称、药品数量、服用剂量等,处方中一般会有多种药品。(4)病人凭医生开具的处方可在医院购买药品。医院记录药品的条码、名称、价格、生产厂商等信息。【逻辑结构设计】根据上述需求,设计出如下关系模式医生(编号,姓名,性别,出生日期,职称)患者(身份证号,医保卡号,姓名,性别,民族,出生日期)药品(条码,名称,价格,生产厂商)病例(编号,药品条码,患者身份证号,主治医生编号,病情

7、描述,诊断结论,诊断日期,服用剂量,药品数量,购买日期)【问题1】对关系“患者”,请回答以下问题:(1)给出函数依赖集。(2)给出所有候选码。(3)判定属于第几范式,并说明理由。【问题2】对关系“病例”,存在如下的数据依赖:FD编号(患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期),(编号,药品条码)(服用剂量,药品数量,购买日期),请回答以下问题。(1)该关系模式存在哪些问题?(2)该关系模式是否属于 4NF?请给给出理由。(3)如果“病例”不是 4NF,请分解,并指出分解后的关系模式所属范式。分解后的关系名依次为:病例 1,病例 2,.。【问题3】针对【问题 2】的规范化要求,如

8、果设计者分解出的多个关系模式其中之一如下:购药(病例编号,药品条码,服用剂量,药品数量,购买日期)如果医院要求统计每名医生(编号和姓名)每天接诊的患者所购买的各个药品的条码和数量。基于上述设计,实现该统计共需哪几个关系?为提高该统计效率,允许对范式条件放宽要求,请修改“购药”关系模式以优化该统计。答案: 本题解析:【问题1】1)FD=身份证号-(医保卡号,姓名,性别,民族,出生日期),医保卡号-(身份证号,姓名,性别,民族,出生日期)2)候选码:身份证号 或 医保卡号3)患者关系属于4NF,因为在FD不存在非主属性对码的部分和传递依赖,也不存在主属性对不包含它的码的部分和传递函数依赖,同时也不

9、存在非平凡且非函数依赖的多值依赖。【问题2】1)由于将一对多的两个关系合并成为一个关系,在FD中存在非主属性对码的部分函数依赖,因此关系存在插入、删除、更新异常和数据冗余。2)不属于4NF,而是属于2NF,存在非主属性(患者身份证号等)对码(编号,药品条码)的部分函数依赖,同时也存在编号对条形码等属性的非平凡多值函数依赖。3)病例 1(编号,患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期)病例 2(编号,药品条码,服用剂量,药品数量,购买日期)【问题3】需要有的关系为:病例、医生、购药关系。如果仅为了提高该查询的效率,即尽量减少连接运算,可以考虑在修改购药关系如下:购药(病例编号,药

10、品条码,服用剂量,药品数量,购买日期,医生编号,医生姓名)3. 多选题:授予专利权的条件是指一项发明创造获得专利权应当具备的实质性条件,包括()、(请作答此空)和()。A.适用性B.便捷性C.创造性D.灵活性答案:C 本题解析:本题考查知识产权相关知识获得专利权的条件发明或者实用新型的条件:新颖性、创造性、实用性。外观设计的条件:新颖性、美观性、合法性。4. 问答题:某抢红包软件规定发红包人可以一次抛出多个红包,由多个人来抢。要求每个抢红包的人最多只能抢到同一批次中的一个红包,且存在多个人同时抢同一红包的情况。给定的红包关系模式如下:Red(ID,BatchID,SenderID,Money,

11、ReceiverID)其中 ID 唯一标识每一个红包; BatchID 为发红包的批次,一个 BatchID 值可以对应多个ID 值;SenderID 为发红包人的标识;Money 为红包中的钱数; ReceiverID 记录抢到红包的人的标识。发红包人一次抛出多个红包,即向红包表中插入多条记录,每条记录表示一个红包, 其 ReceiverID 值为空值。抢某个红包时,需要判定该红包记录的 ReceiverID 值是否为空,不为空时表示该红包己被抢走,不能再抢,为空时抢红包人将自己的标识写入到 ReceiverID 宇段中,即为抢到红包。【问题1】引入两个伪指令 a = R(X) 和 W(b,

12、X) 。其中a = R(X) 表示读取当前红包记录的ReceiverID 字段(记为数据项 X) 到变量a中, W(b,X)表示将抢红包人的唯一标识b的值写入到当前红包记录的ReceiverID 字段(数据项 X) 中,变量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)抢到红包的是第几人

13、?并说明理由。(2)引入共享锁指令 SLocki(X)、独占锁指令XLocki(X)和解锁指令 ULocki(X) ,其中下标i表示第i个抢红包人的指令。如下的调度执行序列:SLock1(X),a1 = R1(X),SLock2(X),a2 = R2(X),XLock1(X).是否会产生死锁?并说明理由。(3)为了保证系统第一个响应的抢红包人为最终抢到红包的人,请使用上述中引入的锁指令,对上述(1)中的调度执行序列进行修改,在满足2PL协议的前提下,给出一个不产生死锁的完整的调度执行序列。【问题2】下面是用 SQL实现的抢红包程序的一部分,请补全空缺处的代码CREATE PROCEDURE S

14、crambleRed (IN BatchNo VARCHAR(20) , 红包批号( IN RecvrNo VARCHAR(20) ) 一接收红包者BEGIN是否已抢过此批红包if exist s( SELECT * FROM Red WHERE BatchID = BatchNo AND ReceiverID = RecvrNo) thenreturn -1;end if;-读取此批派发红包中未领取的红包记录IDDECLARE NonRecvedNo VARCHAR(30);DECLARE NonRecvedRed CURSOR FORSELECT ID FROM RedWHERE Batc

15、hID = BatchNo AND ReceiverID IS NULL;-打开游标OPEN NonRecvedRed;FETCH NonRecvedRed INTO NonRecvedNo;while not error一抢红包事务BEGIN TRANSACTION;/写入红包记录UPDATE RED STE RECDIVER ID =RecvrNoWHERE ID = nonRECVED AND( a )/执行状态判定Ifimage.png修改的记录数= 1 THENCOMMIT;( b );Return 1;ElseROLLBACK;End if;( c );End while-关闭游标CLOSE NonRecved RDReturn 0;END答案: 本题解析:【问题1】(1)第2人,并发操作出现了丢失更新的问题,第2个的更新覆盖了第1个的更新,原因是破坏了事物的隔离性。(2)会产生死锁,由于数据X同时被1和2加锁了S锁,再对方没有释放的时候,都无法加成功X锁,导致1和2一直都处于等待的状态(3)XLock(X) a=R(X) W(b,X)U

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

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

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