2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)试卷号90_第1页
2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)试卷号90_第2页
2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)试卷号90_第3页
2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)试卷号90_第4页
2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)试卷号90_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、住在富人区的她2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题相比于集中式数据库,分布式数据库具有( )的优点。问题1选项A.成本低B.结构简单C.拓展性强D.数据冗余低【答案】C2.单选题采用DMA方式传送数据时,每传送一个数据都需要占用一个( )。问题1选项A.指令周期B.总线周期C.存储周期D.机器周期【答案】C【解析】存储周期,是指主存储器两次启动操作之间需要的最小时间间隔,也称之为主存储器周期时间。DMA获得内存总线的控制权,单纯的是为了做内存访问,所以仅需要一个存取周期。这是

2、和时钟周期没关系的。3.单选题关系模式R问题1选项A.1NFB.2NFC.3NFD.BCNF问题2选项A.主属性对码的部分函数依赖B.非主属性对码的部分函数依赖C.主属性对码的传递函数依赖D.非主属性对码的传递函数依赖【答案】第1题:B第2题:D【解析】第1题:根据该关系模式的依赖关系,可以求得候选键为A,D。根据函数依赖关系AB, AD. DA. BC ,可以得知并不存在部分依赖关系,由于AB,BC,所以存在传递依赖的关系,所以,最高属于2NF,原因是存在非主属性对码的传递函数依赖。第2题:4.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】如果一个数据库恢复系统

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)两个操作。请给出系统恢复时需要redo的事务列表和需要undo的事务列表。【问题3】(5 分)请用100字以内的文字,简要描述系统出错后,基于检查点的恢复过程。【答案】【问题1】X=

4、1,Y=50,Z=10。【问题2】需要redo的事务列表:T1。需要undo的事务列表:T2,T3。【问题3】步骤1:反向扫描日志文件,确定需要redo的事务和需要undo的事务。步骤2:对需要undo的事务撤销已经执行的操作。步骤3:对需要redo的事务重新执行已执行的操作。【解析】本题考查考生对数据库中事务故障的掌握。此类题目要求考生认真阅读日志文件,判断故障发生时完成和未完成的事务对数据项的影响。在此基础上,考生需要了解撤销事务和重做事务在故障恢复中的应用和故障恢复的正确步骤。【问题1】系统出错前,只提交了事务T1,即将数据项X的值由100改为1。T2和T3事务由于未提交,其中的修改未生

5、效。【问题2】系统恢复的方法为:清除尚未完成的事务对数据库的所有修改,undo(撤销)所有未完成的事务(从后往前)。将缓冲区中已完成事务提交的结果写入数据库,redo(重做)所有已提交的事务(从前往后)。T1已完成事务提交,需要redo。T2和T3事务尚未完成,需要undo。【问题3】本题需要重点关注撤销事务和重做事务的顺序。在重做事务之前,需要先进行撤销操作。5.单选题下列协议中,可以用于文件安全传输的是( )。问题1选项A.FTPB.SFTPC.TFTPD.ICMP【答案】B6.单选题某应用系统有两个表,会员表Member(Mld,Mname,Mphone,Mgender,Mage,bal

6、ance,visible)和消费记录表DeaI(D_Id,Ddate,Dtype,Dvalue,M_ld),其中MId为会员编码。如果要查询“陈”姓会员的消费记录,对应的SQL语句为( )。问题1选项A.SELECT Mname,Mphone,Ddate,Dvalue FROM Member,Deal WHERE Mname LIKE %陈and Member.M Id=Deal.M Id;B.SELECT Mname,Mphone,Ddate,Dvalue FRO M Member,Deal WHERE Mname LIKE and Member.M Id=Deal.M_Id;C.SELEC

7、T Mname,Mphone,Ddate,Dvalue FROM Member,Deal WHERE Member.M Id=Deal.M_Id;D.SELECT Mname,Mphone,Ddate,Dvalue FROM Member,Deal WHERE Mname LIKE陈;【答案】A7.单选题以下关于RISC和CISC计算机的叙述中,正确的是( )。问题1选项A.RISC不采用流水线技术,CISC采用流水线技术B.RISC使用复杂的指令,CISC使用简单的指令C.RISC采用很少的通用寄存器,CISC采用很多的通用寄存器D.RISC采用组合逻辑控制器,CISC普遍采用微程序控制器【

8、答案】D【解析】在RISC中,CPU中通用寄存器数量相当多, 以硬布线控制逻辑为主,不用或少用微码控制。而在CISC中普遍采用微程序控制器。8.单选题SQL语言中,NULL值代表( )。问题1选项A.空字符串B.数值0C.空值D.空指针【答案】C【解析】NULL值代表空值。9.单选题关系模式R中,D为R的函数依赖和多值依赖的集合。将R分解为两个关系模式R1和R2,则以下说法中错误的是( )。问题1选项A.如果U1U2U1-U2成立,那么此分解具有无损连接性B.如果U1U2U1-U2成立,那么此分解具有无损连接性C.如果U1U2U1-U2不成立,那么此分解不具有无损连接性D.如果U1U2U1-U

9、2不成立,那么此分解不具有无损连接性【答案】C【解析】将R分解为两个关系模式R1和R2,如果U1U2U1-U2或者U1U2U2-U1成立,那么此分解具有无损连接性。所以,:如果U1U2U1-U2不成立,那么此分解不具有无损连接性,这个说法是片面的,是错误的。10.案例题阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某数据库系统采用数据转储方式对数据和日志文件进行离线备份,用检查点机制进行恢复。假设其部分日志文件如表5-1所示。日志记录内容中:CHECKPOINT表示检查点,表示事务Ti开始执行,表示事务Ti提交,表示事务Ti将数据项D的值由V1改为V2,CRASH表明系

10、统发生断电故障。假设各数据项的初始值为:I=3J=6,K=11。【问题1】(4分)系统发生故障时,满足持久化要求的事务有哪些?不满足持久化要求的事务有哪些?【问题2】(6分)系统恢复后,数据项I、J、K的数值哪些会恢复为初始值?哪些不会恢复为初始值?请给出系统恢复后I、J、K的值。【问题3】(3分)如果系统采用先写数据库再记日志的机制,故障发生前已经提交了事务T2,但没有记录到。请给出系统恢复后I、J、K的值。【问题4】(2分)基于问题2和问题3的结果,请用50字以内的文字简要说明为什么先写日志机制更优。【答案】【问题1】满足持久化要求的事务:T1,T2不满足持久化要求的事务:T3,T4【问题

11、2】K恢复为初始值,l、J不恢复为初始值。最终结果I=4、J=8、K=11。【问题3】如果系统采用先写数据库再记日志的机制,则日志文件中没有,即T2表现为未提交,再恢复时,需要撤销所有T2的操作。最终结果I=5、J=7、K=11。【问题4】为什么要先写日志文件?写数据库和写日志文件是两个不同的操作,在这两个操作之间可能发生故障。如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了;如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。11.单选题两个事务T1和T2遵守两段锁协议,则并发调度结果( )。问题

12、1选项A.是可串行化的,一定会发生死锁B.是可串行化的,可能会发生死锁C.是可串行化的,一定会发生死锁D.不是可串行化的,可能会发生死锁【答案】B12.单选题( )是一种先进先出的线性表,只允许在表的一端插入元素,而在表的另一端删除元素。问题1选项A.栈B.队列C.串D.树【答案】B【解析】队列是先入先出的线性表,队列仅在表头删除元素、在表尾插入元素。13.单选题一个取值域是原子的,是指该域的元素是( )单元。问题1选项A.不同的B.不可分的C.常量D.不可见的【答案】B【解析】一个取值域是原子的,是指该域的元素是不可分的单元。14.单选题以下关于数据库的重组和重构的说法中,正确的是( )。问

13、题1选项A.数据库的重组修改了原设计的逻辑和物理结构B.数据库的重构不修改原设计的逻辑和物理结构C.数据库的重组是指按原设计要求重新安排存储位置、回收垃圾、减少指针链以提高系统性能D.数据库的重构是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能【答案】C【解析】数据库使用较长一段时间后,因为一些增,删,改等操作,使得数据的分布索引及相关数据会变得比较凌乱,从而影响数据库的效率。数据库重组即是将数据库的相关信息重新组织。15.单选题在程序设计语言中,( )表示了构成语言的各个记号和使用者的关系,而语境是指理解和实现程序设计语言的环境,包括( )环境和运行环境。问题1选项A

14、.语法B.语义C.语用D.词法问题2选项A.开发B.调试C.测试D.编译【答案】第1题:C第2题:D【解析】在程序设计语言中,语用表示了构成语言的各个记号和使用者的关系,而语境是指理解和实现程序设计语言的环境,包括编译环境和运行环境。16.单选题以下关于串的叙述中,错误的是( )。问题1选项A.串是仅由字符构成的有限序列B.串是取值范围受限的线性表C.空串不包含任何字符D.串只可以采用顺序存储方式【答案】D【解析】串是由零个或多个任意字符组成的有限序列。17.单选题某数据库中有会员卡基本信息表(含余额信息)和消费记录表,现在需要通过触发器实现“新增消费记录后自动更新会员表的余额属性”,采用(

15、)触发器比较适合。问题1选项A.行级前B.行级后C.语句级前D.语句级后【答案】B18.单选题以下关于SQL的描述中,正确的是( )。问题1选项A.SQL只适用于关系型数据库B.SQL是一种结构化查询语言C.SQL语句不能嵌入到C语句中执行D.所有关系型数据库系统都必须支持SQL99标准的所有特性【答案】B19.单选题某公司的数据库在试运行阶段发现cpu长时间占用率高于95%,那么不可能的原因是( )。在运行一段时间后,由于硬盘故障,该数据库无法运行,这属于( )。问题1选项A.CPU性能过剩B.应用复杂过高C.查询执行成本过高D.存在大量行锁冲突问题2选项A.计算机病毒B.事务内部故障C.系

16、统故障D.介质故障【答案】第1题:A第2题:D【解析】很明显CPU性能过剩是不可能的原因。介质故障即外存故障,如磁盘损坏、强磁场干扰等。这类故障发生的可能性较小,但破坏性很强。它使数据库受到破坏,并影响正在存取数据的事务。20.单选题假设有两个数据库表isurance和问题1选项A.SELECT * FROM employee, insurance WHERE insurance.id = employee.id AND insurance.isValid=1B.SELECT * FROM employee, insurance WHERE insurance.isvalid= 1 AND e

17、mployee.islocal=0C.SELECT * FROM employee, insurance WHERE insurance.id = employee.id AND insurance.isvalid= 1 AND employee.islocal=0D.SELECT * FROM employee, insurance WHERE insurance.id = employee.id AND insurance.isvalid= 1 AND employee.islocal=1【答案】C【解析】select的标准语法结构:select 列名 from 表名 where 条件 g

18、roup by 分组字段 having 条件 order by 排序字段。题干中已经说明:isvalid=1表示社保有效;islocal=0 表示不在当地。所以where的条件应该是insurance.isvalid=1 and employee.islocal=0 and insurance.id= employee.id所以答案为C。21.单选题( )的保护期限是可以延长的。问题1选项A.著作权B.专利权C.商标权D.商业秘密权【答案】C【解析】商标权的保护期限是有效期为10年(若注册人死亡或倒闭1年后,未转移则可注销,期满后6个月内必须续注)。22.单选题UNIX/Linux系统中Tel

19、net 服务的默认端口号是( )。问题1选项A.20B.21C.22D.23【答案】D【解析】在 UNIX/Linux 系统中,telnet 服务的默认端口是 23,ftp 的端口号是 21和20。23.单选题系统为( )分配的存储空间在程序运行过程中一般是不改变的。问题1选项A.结构体B.数组C.全局变量D.局部变量【答案】C24.单选题关系的完整性约束不包含( )。问题1选项A.实体完整性B.参照完整性C.属性完整性D.用户定义完整性【答案】C【解析】完整性约束:防止的是对数据的意外破环。实体完整性:规定基本关系R的主属性A不能取空。用户自定义完整性:就是针对某一具体关系数据库的约束条件,

20、反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。如:年龄必须为大于0小于150的整数。参照完整性/引用完整性:规定,若F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系),则R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。本题中属性完整性约束不属于关系的完整性约束。25.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某市居委会在新冠病毒疫情期间需分配社区人员到辖区内各个小区,协助小区物业人员进行业主出入登记及体温检测工作。居委会为高效完成工作并记录必要的工作信息,设计了相应的数据库。其中

21、有一个表用来记录工作人员在各个小区的分布情况及每天工作时长。表的结构如下:人员分配(人员编号,人员姓名,小区编号,物业经理姓名,人员职责)。其中人员编号和小区编号唯一,人员职责用于记录该人员需配合小区完成的工作,假设每个人员在同一个小区只负责一项工作,但在不同小区可以负责不同的工作。请回答以下问题。【问题1】(6分)给出人员分配表中成立且左侧只有一个属性的所有函数依赖关系。题中设计的人员分配表是否满足2NF,请用100字以内的文字说明原因。【问题2】(3分)如果要将人员分配表规范化为满足3NF,请用100字以内的文字简要说明解决方案。【问题3】(6 分)请给出问题2设计结果中各个表的主键和外键

22、。【答案】【问题1】包含的函数依赖有:人员编号人员姓名小区编号物业经理姓名不是2NF因为人员分配表的主键是(人员编号,小区编号),存在非主属性对主键的部分依赖。【问题2】拆分为三个表:人员表(人员编号,人员姓名)小区表(小区编号,物业经理姓名)责任表(人员编号,小区编号,人员职责)【问题3】人员表的主键为人员编号,无外键。小区表的主键为小区编号,无外键。责任表的主键为(人员编号,小区编号),外键是人员编号和小区编号。【解析】本题考查数据库中第二范式和第三范式的概念和在实际问题中的应用。此类题目要求考生认真阅读题目对现实问题的描述,判断数据库中表的主键以及其他属性对主键的依赖关系,从而确定符合2

23、NF的要求。在此基础上,考生需要实现数据库的规范化,满足3NF的要求。同时考生也需要掌握外键的概念。【问题1】第二范式(2NF)是指每个表必须有主键(Primary key),其他属性与主键一一对应。 通常称这种关系为函数依赖(Functional dependence)关系,即表中其他属性都依赖于主键,或称该数据元素唯一地被主键所标识。在本题的人员分配表中,人员编号和小区编号为主键,由于每个人员在不同小区可以负责不同的工作,人员职业对主键完全依赖。但是由人员编号可以确定人员姓名,由小区编号可以确定物业经理,这两个属性对主键部分依赖,因此不符合2NF。【问题2】第三范式(3NF)就是指表中的所

24、有数据元素不但要能唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。首先我们需要满足第二范式,应分为三个表。人员表(人员编号,人员姓名),人员编号为主键。小区表(小区编号,物业经理姓名),小区编号为主键。责任表(人员编号,小区编号,人员职责),人员编号和小区编号为主键。这三个表中已经不存在其他函数关系,符合第三范式。【问题3】如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。各表主键已在问题2中确定。其中,人员表和小区表无外键。责任表中的人员编号和小区编号是人员表和小区表中的主关键字,因此人员编号和小区编号是外键。26.单选题攻击者使网络中

25、的服务器充斥着大量需要回复的信息,消耗带宽,导致系统停止正常服务或者响应很慢,这种攻击类型属于( )。问题1选项A.直注入攻击B.TCP会话动持C.DoS攻击D.ARP欺骗攻击【答案】C【解析】DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。tcp会话劫持是获取正常的数据,从而达到窃取秘密的目的。ARP欺骗,或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术。通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MA

26、C地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网上特定计算机或所有计算机无法正常连线。27.单选题某信息系统不断受到SQL注入攻击,应部署( )进行安全防护,实时阻断攻击行为。问题1选项A.防火墙B.WEB防火墙C.入侵检测系统D.堡垒机【答案】B28.单选题关系模式R中,X、Y、Z是U的子集。下列关于多值依赖描述中正确的是( ) 。问题1选项A.若XY为平凡的多值依赖,则U-X-Y为空集B.若XY为平凡的多值依赖,则Y是X的子集C.若XY且YZ,则XZD.若XY,则XY【答案】A【解析】多值函数依赖的定义为:在R( U,F )中 , 其属性

27、集为U。X , Y,Z是U的子集,并且Z=U-X-Y。当且仅当对R(U)的任何一个关系r,给定一组属性(X,Z)的值 , 有一组Y值,这组Y值仅仅决定于X值而与其他属性Z(U-X-Y)的值无关 , 那么称Y多值依赖于X或X多值决定Y , 记为:XY具有6种性质:对称性 : XY , 则XZ,其中Z=UXY传递性 : XY , Y Z , 则 XZ Y函数依赖可以看作多值依赖的特殊情况若XY , X Z , 则 XYZ若XY , X Z , 则 XY Z若XY , X Z , 则 XZ Y平凡的多值依赖:如果Z为空,就是平凡的多值依赖;如果Z不为空,就是非平凡的多值依赖。所以,此题的正确答案为A

28、。29.单选题在关系模式学生(学号,姓名,性别,年龄,系号,系名)中,一个学生只能属于一个系,系名对于码学号的数据依赖是( ),该关系模式最高属于( ),将学生分解为两个关系模式:S(学号,姓名,性别,年龄,系号)和D(系号,系名),则此分解( )。问题1选项A.平凡函数依赖B.部分函数依赖C.传递函数依赖D.多值依赖问题2选项A.2NFB.3NFC.4NFD.BCNF问题3选项A.具有无损连接性,保持函数依赖B.具有无损连接性,不保持函数依赖C.不具有无损连接性,保持函数依赖D.不具有无损连接性,不保持函数依赖【答案】第1题:C第2题:A第3题:A【解析】第1题:第2题:第3题:30.单选题

29、数据库系统在运行过程中可能会发生CPU故障,这属于( )。在此类故障的恢复过程中,需要根据日志进行的操作为( ) 。问题1选项A.事务故障B.系统故障C.介质故障D.指令故障问题2选项A.UNDOB.REDOC.UNDO+REDOD.后备副本+UNDO+REDO【答案】第1题:B第2题:C【解析】数据库系统在运行过程中可能会发生CPU故障,这属于系统故障。在此类故障的恢复过程中,需要根据日志进行的操作为undo+redo。31.单选题NoSQL数据库的四大分类是指( )。问题1选项A.键值存储数据库,列存储数据库,文档型数据库,关系型数据库B.列存储数据库,文档型数据库,关系型数据库,分布式数

30、据库C.键值存储数据库,列存储数据库,文档型数据库,图数据库D.列存储数据库,文档型数据库,关系型数据库,图数据库【答案】C【解析】NOSQL数据库的四大分类是指键值存储数据库,列存储数据库,文档型数据库,图数据库。32.单选题数据的逻辑独立性由( )的映射实现。问题1选项A.外模式到逻辑模式B.外模式到内模式C.逻辑模式到内模式D.内模式到逻辑模式【答案】A【解析】数据的独立性是数据库系统的最基本的特征之一。数据独立性是指应用程序和数据结构之间相互独立,互不影响。在三层模式体系结构中数据独立性是指数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的能力。正是三级模式间的两层映像保

31、证了数据库系统中的数据具有较高的数据独立性。数据独立性包括数据逻辑独立性和数据物理独立性。为了实现数据库系统的外模式与模式的联系和转换,在外模式与模式之间建立映像,即外模式/模式映像。通过外模式与模式之间的映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来。由于一个模式与多个外模式对应,因此,对于每个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系,这些映像定义通常包含在各自外模式的描述中。有了外模式/模式映像,模式改变时,如增加新的属性、修改属性的类型,只要对外模式/模式的映像做相应的改变,可使外模式保持不变,则以外模式为依据编写的应用程序就不受影

32、响,从而应用程序不必修改,保证了数据与程序之间的逻辑独立性,也就是逻辑数据独立性。33.单选题采用ADSL接入Internet,用户端接入介质为( ),使用的网络为( )。问题1选项A.双绞线B.红外线C.同轴电缆D.光纤问题2选项A.电话网B.电视网C.DDN专线D.5G无线广域网【答案】第1题:A第2题:A【解析】1989年在贝尔实验室诞生的ADSL是xDSL家族成员中的一员,被誉为“现代信息高速公路上的快车”。它因其下行速率高、频带宽、性能优等特点而深受广大客户的喜爱,成为继MODEM、ISDN之后的又一种全新更快捷,更高效的接入方式。它是运行在原有普通电话线上的一种新的高速宽带技术。事

33、实上,ADSL的传输技术中,ADSL用其特有的调制解调硬件来连接现有双绞线连接的各端。34.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网上销售系统的部分关系模式如下:订单表:orders(o_no, o_date, o_time, p_no, mno, p_price, nums, amt, status)。其中属性含义分别为:订单号、订单日期、订单时间、产品编码、供应商编码、产品价格、产品数量、订单金额、订单状态(0-未处理、1-已处理、 2-已取消)。产品表:products(p_no, p_name, p_type, price, m_no, p_nu

34、ms)。其中属性含义分别为:产品编码、产品名称、产品类型、产品价格、供应商编码、库存数量。【问题1】(5分)节假日时,由供应商提供商品打折后的新价格,数据存放在临时表中,该临时表的表名为tmp_prices(不同供应商有不同的临时表),其关系模式如下:后台维护人员需要根据供应商填写在tmp prices中的数据来更新产品表中某些产品的价格。下面是基于游标,用SQL实现的价格更新程序,请补全空缺处的代码。【问题2】(6分)假设用户1和用户2同时购买1份A商品,用户3查询和浏览A商品。三个用户对应事务的部分调度序列如表4-1所示(事务中未进行并发控制),其中TO时刻该A商品的库存数量p_nums为

35、100。表4-1 事务运行部分调度示意表请说明T4、T7时刻,用户3事务读取到的p_nums 数值分别是多少。请说明T8时刻事务调度结果是否正确?若不正确请说明属于哪一种数据不一致性。【问题3】(4分)为保证并发事务的正确性,系统要求所有事务需遵循两段锁协议。(1)请用100字以内的文字简要解释两段锁协议,并说明“两段”的含义。(2)请说明两段锁协议是否可以避免死锁?如不能避免,应采取什么措施解决死锁问题。【答案】【问题1】(a)cursor(b)open(c)Pno, Pprice, Mno(d)commit【问题2】T4时刻,p_nums的值为100。T7时刻,p_nums的值为99。事务

36、调度结果不正确。丢失修改。【问题3】(1)两段锁协议是指对任何数据进行读写之前必须对数据加锁;在释放一个封锁之后,事务不再申请和获得任何其他锁。“两段”的含义是:事务分为两个阶段,第一阶段是获得封锁,称为扩展阶段;第二阶段是释放封锁,称为收缩阶段。(2)两段锁协议不能避免死锁。解决措施是采用死锁检测机制,发现后按照一定算法解除死锁。【解析】本题考查数据库设计中存储过程和事务并发的相关知识及应用。【问题1】本问题考查存储过程和游标的基本知识。题干描述中已经给出了关系模式和具体的需求描述,给出了使用游标的明确要求,并给出了主体程序。考生应根据游标的具体使用要求,填写空白处代码。存储过程中游标的使用

37、分为四个步骤:定义游标、打开游标、取数据、关闭游标。空白(a)处于存储过程的Declare部分,此部分用于定义临时变量,所以此处应该是游标定义,应该填cursor关键字;空白(b)处应该填open,即打开游标;游标打开后,常见的数据处理方法是采用循环方式,利用fetch语句取出一条数据进行处理,所以空白(c)处应该填写存储数据的临时变量,即Pno,Pprice,Mno,分别来存储取出的产品编码、产品价格和供应商编码,此处需要注意的是临时变量的顺序,需要和游标定义中select后的属性顺序保持一致。空白(d)是该存储过程的最后一条语句,应该对修改后的数据进行确认提交,应该填写commit语句。【

38、问题2】本问题考查事务并发可能会带来的并发问题。根据题干描述,三个事务并发执行,T0时刻p_nums为100。到T4时刻,事务1和事务2均对事务内部的变量p_nums进行了减一操作,事务1和事务2的p_nums值为99,但均未写入数据库,因此此时事务3从数据库中读取的p_nums值应该依然是100。到了T7时刻,事务1将99的数值写入数据库,事务2也将99的数值写入数据库,并且覆盖了事务1写入的数值(虽然都是99),所以T7时刻事务3从数据库读取的p_nums值为99。从上述描述中可以看到,到了T8时刻,事务1和事务2都完成了减一操作,但数据库中p_nums的值却是99(不是98),因此事务调

39、度结果不正确,不属于串行化调度,属于丢失修改。导致不正确的原因是事务2的修改覆盖了事务1的修改,导致事务1的修改丢失了。【问题3】本问题考查两段锁协议的基本知识。两段锁协议是指对任何数据进行读写之前必须对数据加锁;在释放一个封锁之后,事务不再申请和获得任何其他锁。该协议明确所有事务必须分两个阶段对数据项加锁和解锁:第一阶段是获得封锁,事务可以对数据加读/写锁,但不能释放,也称为扩展阶段;第二阶段是释放封锁,事务可以释放前面对数据加的读/写锁,但不能再申请加锁,也称为收缩阶段。两段锁协议不能保证完全避免锁死的发生,当两个满足两段锁协议的事务并发运行时,如果两个事务对两个资源进行了交叉锁定,死锁就

40、必然发生。因此DBMS必须要提供死锁检测机制,以实时检测死锁的发生,并根据某种策略解除死锁。35.单选题以下关于C语言函数的说法中,不正确的是( )。问题1选项A.函数是一段具有独立功能的程序单元B.函数是先声明后引用C.函数的定义包括函数首部和函数体D.函数允许嵌套定义【答案】D36.单选题计算机操作的最小时间单位是( )。问题1选项A.指令周期B.时钟周期C.总线周期D.CPU周期【答案】B【解析】计算机操作的最小时间单位是时钟周期。 时钟周期是计算机中最基本的、最小的时间单位。 37.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】为防控新冠疫情,一些公共设施

41、需要定期消毒,管理部门为高效完成工作并记录必要的工作信息,设计了相应的数据库,其中有一个表用来记录公共汽车的消毒情况,表的结构如下:消毒记录(日期,车牌号,行驶路线,消毒人员工号,消毒人员姓名)其中车牌号和消毒人员工号唯一,同一辆车保持固定的行驶路线。假设同一人员每天可以负责多辆车的消毒工作。【问题1】(6分)给出消毒记录表中成立且左侧只有一个属性的所有函数依赖关系。题中设计的消毒记录表是否满足2NF请用100字以内的文字说明原因。【问题2】 (6分)如果要将消毒记录表规范化为满足3NF,请用100字以内的文字简要说明解决方案,并给出各个新表的主码和外码。【问题3】 (3分)如果每辆车每日有多

42、次消毒,需要记录每次消毒的消毒时间,在问题2设计结果的基础上,如何在不破坏3NF且不增加冗余的前提下做到?请简单说明方案。【答案】【问题1】左侧只有一个属性的函数依赖关系有2个,分别为: 车牌号-行驶路线 消毒人员工号-消毒人员姓名 不满足2NF,根据题干可以得到消毒记录表的候选键为(日期,车牌号),由于存在车牌号-行驶路线,属于部分依赖。根据2NF的要求,不存在非主属性对主属性的部分依赖,所以不满足2NF。【问题2】 由于消毒记录表不满足2NF,需要将消毒记录表进行拆分成多个表,拆分的表如下: 消毒记录1(车牌号,行驶路线) 消毒记录2(消毒人员工号,消毒人员姓名)消毒记录3(车牌号,日期,

43、消毒人员工号) 由于拆分后的三个表都不存在非主属性对主属性的部分和传递函数依赖,所以都满足3NF。 【问题3】由于每辆车每日有多次消毒记录时间,可以在问题2的基础上增加表:消毒记录4(车牌号,日期,消毒时间)【解析】【问题1】左侧只有一个属性的函数依赖关系有2个,分别为: 车牌号-行驶路线 消毒人员工号-消毒人员姓名 不满足2NF,根据题干可以得到消毒记录表的候选键为(日期,车牌号),由于存在车牌号-行驶路线,属于部分依赖。根据2NF的要求,不存在非主属性对主属性的部分依赖,所以不满足2NF。 【问题2】由于消毒记录表不满足2NF,需要将消毒记录表进行拆分成多个表,拆分的表如下:消毒记录1(车

44、牌号,行驶路线)消毒记录2(消毒人员工号,消毒人员姓名)消毒记录3(车牌号,日期,消毒人员工号)由于拆分后的三个表都不存在非主属性对主属性的部分和传递函数依赖,所以都满足3NF。【问题3】由于每辆车每日有多次消毒记录时间,可以在问题2的基础上增加表:消毒记录4(车牌号,日期,消毒时间)38.单选题某公司开发系统记录员工基本信息。假设每个员工只在一个部门工作:每个员工必须提供工作和家庭两部电话号码。( )不满足1NF。问题1选项A.R1(员工编号,姓名,性别)B.R2(员工编号,姓名,家庭电话,工作电话)C.R3(员工编号,姓名,部门)D.R4(员工编号,姓名,电话家庭电话,工作电话)【答案】D

45、【解析】D选项中的电话是可以再分的属性,所以不满足1NF。39.单选题下表为两个事务T1和T2的一个并发调度。其中,数据项A的初值为3,B的初值为4;变量X、Y为事务中的局部变量。语句X=Read(A)表示读取数据项A的值到变量X,Write(A,X)表示将变量X的值写入数据项A中。此并发调度执行结束后A和B的值分别为( );该调度( )。问题1选项A.A=5,B=20B.A=7,B=6C.A=25,B=24D.A=90问题2选项A.是正确的B.是可串行化的C.是不正确的D.会产生死链【答案】第1题:B第2题:C【解析】第1题:第2题:40.单选题某学生想要设计一个博客系统,在数据库的概念设计

46、阶段提出了如下图所示的E-R模型,其中的联系类型为( ),联系的属性为( )。问题1选项A.一元联系B.二元联系C.三元联系D.四元联系问题2选项A.发表B.发表时间C.用户D.无【答案】第1题:C第2题:B【解析】第1题:第2题:41.单选题有一进口商品数据表iteminfo(itemid,itemtype,unitprice,itemcount),其中itemid是自动编号字段,其他属性可以为NULL。如果用SQL语句:INSERT INTO iteminfo(unitprice,itemcount) VALUES (9.99,150)向数据表中插入元组时,则该元组的item_type属性

47、值为( )。问题1选项A.NULLB.任意值C.0D.插入失败,不存在该元组【答案】A【解析】缺省为NULL值。答案为A。42.单选题数据库系统中的运算溢出属于( )。问题1选项A.事务故障B.系统故障C.介质故障D.硬件故障【答案】A【解析】事务故障是由于程序执行错误而引起事务非预期的、异常终止的故障。它发生在单个事务的局部范围内,实际上就是程序的故障。有的事务故障可以通过事务程序本身发现。43.单选题TCP/IP的四层模型中,每一层都提供了安全协议,以下属于网络层安全协议的是( )。问题1选项A.HTTPSB.SSHC.IPSecD.Socks【答案】C44.单选题下表是某两个事务并发执行

48、时的调度过程,这里不会出现不可重复读的问题,是因为这两个事务都使用了( );两个事务的并行执行结果是正确的,是因为这两个事务都使用了( );在执行过程中没有发生死锁,这是因为( )导致的。问题1选项A.三级封锁协议B.二级封锁协议C.两段锁协议D.一次封锁法问题2选项A.二级封锁协议B.三级封锁协议C.两段锁协议D.排他锁问题3选项A.排他锁B.共享锁C.两段锁协议D.偶然的调度【答案】第1题:A第2题:C第3题:D【解析】三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。所以答

49、案选A。两段锁可以保证多个事务的并发执行是可串行化的调度。所以答案是C。两段锁是不能保证死锁的,没有发生是因为这次的调度刚好没有出现而已。所以答案是D。45.单选题以下关于MapReduce技术的说法中,不正确的是( )。问题1选项A.MapReduce的计算过程分解为两个主要阶段:Map阶段和Reducel阶段B.用户无需编写Map函数和Reduce函数C.MapReduce中存在数据chunk的冗余复制D.在同等硬件条件下,MapReducel的性能一般低于并行数据库【答案】B【解析】MapReduce的计算过程分解为两个主要阶段:Map阶段和Reducel阶段,在同等硬件条件下,MapR

50、educe的性能远低于并行数据库。MapReduce中存在数据chunk的冗余复制。46.单选题WLAN的含义是( )。问题1选项A.无线局域网B.无线广域网C.有线网络D.共享网络【答案】A【解析】WLAN是Wireless Local Area Network的简称,指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。无线局域网本质的特点是不再使用通信电缆将计算机与网络连接起来,而是通过无线的方式连接,从而使网络的构建和终端的移动更加灵活。47.单选题A database system is a collection of interrelated data

51、and a set of programs that allow users to access and modify these data. A major purpose of a database system is to provide users with an( )view of the data. That is, the system hides certain details of how the data are stored and maintained. For the system to be usable, it must retrieve data( )。 The need for efficiency has led designers to

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论