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

下载本文档

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

文档简介

1、住在富人区的她2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题数据库管理员对经理U1、U2赋予表D和M的插入权限。U1赋予实习生U3对表D的插入权限。U2发现当U3说服顾客办理信用卡后,每次都要找他注册,为了减少工作量,他也对U3赋予表M的插入权限。一段时间后,U1离职,数据库管理员收回权限,执行的SQL语句为REVOKE M FROM U1 CASCADE,此时U3仍具有的权限为( )。问题1选项A.无任何权限B.插入D表的权限C.插入M表的权限D.插入D和M表的权限【答案】C2.单选

2、题甲乙丙三人分别就相同内容的计算机程序的发明创造,先后向国务院专利行政部门提出申请,( )可以获得专利申请权。问题1选项A.甲乙丙均B.先申请者C.先试用者D.先发明者【答案】B3.单选题下表记录了某系统中各个学校的基本信息,关系运算(主管部门)的结果是( )。问题1选项A.电子科技大学,西安电子科技大学,杭州电子科技大学,桂林电子科技大学B.教育部,浙江,广西C.教育部,教育部,浙江,广西D.四川,陕西,浙江,广西【答案】B4.单选题以下选项中,( )不属于关系模型中的完整性约束。问题1选项A.实体完整性B.参照完整性C.元组完整性D.用户定义的完整性【答案】C5.单选题事务故障出现后,系统

3、自动执行( )以撤销该事务。问题1选项A.BEGIN TRANSACTIONB.UNDOC.COMMITD.REDO【答案】B6.单选题防止重放攻击最有效的方法是( )。问题1选项A.对用户密码进行加密存储使用B.使用一次一密的加密方式C.强制用户经常修改用户密码D.强制用户设置复杂度高的密码【答案】B【解析】重放攻击又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。所以,防范重放攻击可以加时间戳,或者一次一密的方式。7.单选题某应用系统有两个表,会员表Memb

4、er(Mld,Mname,Mphone,Mgender,Mage,balance,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 LI

5、KE and Member.M Id=Deal.M_Id;C.SELECT 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陈;【答案】A8.单选题假设有两个数据库表isurance和问题1选项A.SELECT * FROM employee, insurance WHERE insurance.id = employee.id AND insurance.isVal

6、id=1B.SELECT * FROM employee, insurance WHERE insurance.isvalid= 1 AND employee.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 A

7、ND employee.islocal=1【答案】C【解析】select的标准语法结构:select 列名 from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段。题干中已经说明:isvalid=1表示社保有效;islocal=0 表示不在当地。所以where的条件应该是insurance.isvalid=1 and employee.islocal=0 and insurance.id= employee.id所以答案为C。9.单选题( )要求关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。问题1选项A.1NFB.2NFC.3NF

8、D.4NF【答案】D【解析】设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。平凡的多值依赖与非平凡的多值依赖:若XY,而Z为空集,则称XY为平凡的多值依赖;若Z不为空,则称其为非平凡的多值依赖。所以,4NF要求关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。10.单选题一棵5层的二叉树,其最多有( )个结点,第5层最多有( )个结点。问题1选项A.15B.16C.31D.32问题2选项A.15B.16C.31D.32【

9、答案】第1题:C第2题:B【解析】第1题:二叉树的特性:1、在二叉树的第i层上最多有2i-1个结点(i1);2、深度为k的二叉树最多有2k-1个结点(k1);3、对任何一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1。代入公式得到正确答案为C,B。第2题:11.单选题关系模式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 )中 , 其属性集为U。X , Y

10、,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。12.单选题以下

11、关于数据库设计的说法中,正确的是( )。问题1选项A.在逻辑结构设计阶段,规范化程度越高越好B.逻辑结构设计的结果必须满足BCNFC.在物理结构设计阶段,聚簇可提高特定属性的查询效率D.在物理结构设计阶段,若选择B+树索引存取方法,关系上定义的索引数越多越好【答案】C【解析】聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据,所以查询效率是非常高的。一个表只有一个聚簇索引。13.单选题相比于集中式数据库,分布式数据库具有( )的优点。问题1选项A.成本低B.结构简单C.拓展性强D.数据冗余低【答案】C14.单选题以下关于数据库事务的说法中,错误的是( )。问题1选项A.数据库事务是恢

12、复和并发控制的基本单位B.数据库事务必须由用户显式地定义C.数据库事务具有ACID特性D.COMMIT和ROLLBACK都代表数据库事务的结束【答案】B【解析】数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。在数据库系统上执行并发操作时,事务是作为最小的控制单元来使用的,特别适用于多用户同时操作的数据库系统。COMMIT和ROLLBACK代表了数据库的正常提交和撤销提交。显式事务:显式事务又称自定义事务,是指用显式

13、的方式定义其开始和结束的事务,当使用start transaction和 commit语句时则表示发生显式事务。隐式事务:隐式事务是指每一条数据操作语句都自动地成为一个事务,事务的开始是隐式的,事务的结束有明确的标记。即当用户进行数据操作时,系统自动开启一个事务,事务的结束则需手动调用commit或rollback语句来结束当前事务,在当前事务结束后又自动开启一个新事务。所以B选项是错误的。15.单选题( )的保护期限是可以延长的。问题1选项A.著作权B.专利权C.商标权D.商业秘密权【答案】C【解析】商标权的保护期限是有效期为10年(若注册人死亡或倒闭1年后,未转移则可注销,期满后6个月内必

14、须续注)。16.单选题依次在初始为空的队列中插入元素5、6、7、8以后,紧接着做了两次删除操作,此时的队头元素是( )。问题1选项A.5B.6C.7D.8【答案】C【解析】队列是一种操作受限制的线性表,是先入先出的线性表。17.单选题数据库恢复操作的基本原理是( )。问题1选项A.存取控制B.加密C.完整性约束D.冗余【答案】D【解析】数据库恢复操作的基本原理是冗余机制。18.单选题确保计算机系统机密性的方法中不包括( )。问题1选项A.加密B.认证C.授权D.备份【答案】D19.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某市居委会在新冠病毒疫情期间需分配社区

15、人员到辖区内各个小区,协助小区物业人员进行业主出入登记及体温检测工作。居委会为高效完成工作并记录必要的工作信息,设计了相应的数据库。其中有一个表用来记录工作人员在各个小区的分布情况及每天工作时长。表的结构如下:人员分配(人员编号,人员姓名,小区编号,物业经理姓名,人员职责)。其中人员编号和小区编号唯一,人员职责用于记录该人员需配合小区完成的工作,假设每个人员在同一个小区只负责一项工作,但在不同小区可以负责不同的工作。请回答以下问题。【问题1】(6分)给出人员分配表中成立且左侧只有一个属性的所有函数依赖关系。题中设计的人员分配表是否满足2NF,请用100字以内的文字说明原因。【问题2】(3分)如

16、果要将人员分配表规范化为满足3NF,请用100字以内的文字简要说明解决方案。【问题3】(6 分)请给出问题2设计结果中各个表的主键和外键。【答案】【问题1】包含的函数依赖有:人员编号人员姓名小区编号物业经理姓名不是2NF因为人员分配表的主键是(人员编号,小区编号),存在非主属性对主键的部分依赖。【问题2】拆分为三个表:人员表(人员编号,人员姓名)小区表(小区编号,物业经理姓名)责任表(人员编号,小区编号,人员职责)【问题3】人员表的主键为人员编号,无外键。小区表的主键为小区编号,无外键。责任表的主键为(人员编号,小区编号),外键是人员编号和小区编号。【解析】本题考查数据库中第二范式和第三范式的

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

18、编号可以确定人员姓名,由小区编号可以确定物业经理,这两个属性对主键部分依赖,因此不符合2NF。【问题2】第三范式(3NF)就是指表中的所有数据元素不但要能唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。首先我们需要满足第二范式,应分为三个表。人员表(人员编号,人员姓名),人员编号为主键。小区表(小区编号,物业经理姓名),小区编号为主键。责任表(人员编号,小区编号,人员职责),人员编号和小区编号为主键。这三个表中已经不存在其他函数关系,符合第三范式。【问题3】如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。各表主键已在问题2中确定。其中,

19、人员表和小区表无外键。责任表中的人员编号和小区编号是人员表和小区表中的主关键字,因此人员编号和小区编号是外键。20.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某数据库系统采用数据转储方式对数据和日志文件进行离线备份,用检查点机制进行恢复。假设部分其日志文件如表5-1所示。日志记录内容中:【问题1】 (6分)假设各数据项的初始值为: 1=22, J=45, K=9,系统出错恢复后,I,J,K的数值会恢复为多少?【问题2】 (4分)请给出系统恢复时需要重做(Redo)的事务列表和需要撤销(undo)的事务列表。【问题3】(5分)假设掉电造成磁盘介质损坏,数据库无法

20、启动,请用100字以内的文字简要说明其恢复过程。【答案】【问题1】I,J,K的数值会恢复为I=3,J=5,K=9【问题2】 Redo: T2 Undo:T3、T7 【问题3】由于掉电造成磁盘介质损坏,数据库已经无法启动,恢复过程的步骤如下所示:(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。(2)转入相应的日志文件副本,重做已完成的事务。【解析】因为在checkpoint这个日志点之前,T1已经完成,T2在检查点之后完成的,T3还没有完成,所以,T2需要重做,T3需要回滚。由于掉电造成磁盘介质损坏,数据库已经无法启动,恢复过程的步骤如下所示:(1)装入最新的数据库后备

21、副本,使数据库恢复到最近一次转储时的一致性状态。(2)转入相应的日志文件副本,重做已完成的事务,撤销未完成的事务。21.单选题关系模式R(U,F)中,属性集U=A,B,C,D,E,函数依赖集F=(ABC,CD,BDA,ADE,BDE。则(CE)F+=( )。问题1选项A.CEB.BCEC.CEDD.BCED【答案】C【解析】(CE)F+表示的是求CE的属性闭包,根据函数依赖关系可以获得所有属性,能够得到是CDE。答案是C。22.单选题TCP/IP的四层模型中,每一层都提供了安全协议,以下属于网络层安全协议的是( )。问题1选项A.HTTPSB.SSHC.IPSecD.Socks【答案】C23.

22、案例题阅读下列说明,回答问题1至问题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】

23、(5 分)请用100字以内的文字,简要描述系统出错后,基于检查点的恢复过程。【答案】【问题1】X=1,Y=50,Z=10。【问题2】需要redo的事务列表:T1。需要undo的事务列表:T2,T3。【问题3】步骤1:反向扫描日志文件,确定需要redo的事务和需要undo的事务。步骤2:对需要undo的事务撤销已经执行的操作。步骤3:对需要redo的事务重新执行已执行的操作。【解析】本题考查考生对数据库中事务故障的掌握。此类题目要求考生认真阅读日志文件,判断故障发生时完成和未完成的事务对数据项的影响。在此基础上,考生需要了解撤销事务和重做事务在故障恢复中的应用和故障恢复的正确步骤。【问题1】系统

24、出错前,只提交了事务T1,即将数据项X的值由100改为1。T2和T3事务由于未提交,其中的修改未生效。【问题2】系统恢复的方法为:清除尚未完成的事务对数据库的所有修改,undo(撤销)所有未完成的事务(从后往前)。将缓冲区中已完成事务提交的结果写入数据库,redo(重做)所有已提交的事务(从前往后)。T1已完成事务提交,需要redo。T2和T3事务尚未完成,需要undo。【问题3】本题需要重点关注撤销事务和重做事务的顺序。在重做事务之前,需要先进行撤销操作。24.单选题在一个关系型数据库中,参照完整性约束可以通过( )来实现。问题1选项A.主码B.候选码C.外码D.锁【答案】C【解析】参照完整

25、性/引用完整性:规定,若F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系),则R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。所以,在一个关系型数据库中,参照完整性约束可以通过外码来实现。25.单选题关于存储过程,下面说法中错误的是( )。问题1选项A.存储过程可用于实施企业业务规则B.存储过程可以有输入输出参数C.存储过程可以使用游标D.存储过程由数据库服务器自动执行【答案】D【解析】存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通

26、过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。主要作用包括了:提供了在服务器端快速执行 SQL 语句的有效途径;存储过程降低了客户端和服务器之间的通信量;方便实施企业规则,当企业规则发生变化时只要修改存储过程,而无需修改其他应用程序。所以,答案为D。26.单选题分布式数据库CAP理论中的A指的是( )。问题1选项A.一致性B.可用性C.分区容错D.原子性【答案】B【解析】CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance

27、)。CAP原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。27.单选题数据库管理员对经理U1、U2赋予表D和M的插入权限。U1赋予实习生U3对表D的插入权限。U2发现当U3说服顾客办理信用卡后,每次都要找他注册,为了减少工作量,他也对U3赋予表M的插入权限。一段时间后,U1离职,数据库管理员收回权限,执行的SQL语句为REVOKE M FROM U1 CASCADE此时U3仍具有的权限为()。问题1选项A.无任何权限B.插入D表的权限C.插入M表的权限D.插入D和M表的权限【答案】C28.单选题在数据库管理系统中,以下SQL语句书写顺序正确的是( )。问题1选项A.SELECTFR

28、OMGROUP BYWHEREB.SELECTFROMWHEREGROUP BYC.SELECTWHEREGROUP BYFROMD.SELECTWHEREFROMGROUP BY【答案】B【解析】SELECT基本结构为: SELECT ALL| DISTINCT , n FROM , n WHERE GROUP BY HAVING ORDER BY ASC|DESC , n 29.单选题假设所有的作业同时到达,平均周转时间最短的调度算法是( )。问题1选项A.先来先服务B.优先级调度C.短作业优先D.轮转算法【答案】C【解析】先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序

29、来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。短作业优先调度算法(SPF): 就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道它实际的运行时间的长短,因此需要用户在提交作业时同时提交作业运行时间的估计值。时间片轮转调度算法:每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维

30、护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。基于优先级调度算法(HPF):每一个作业规定一个表示该作业优先级别的整数,当需要将新的作业输入并调入内存处理时,优先选择优先级别数最高的作业。作业周转时间(Ti)完成时间(Tei)提交时间(Tsi)作业平均周转时间(T)周转时间/作业个数30.单选题以下调度算法最适用于交互式系统的是( )。问题1选项A.先来先服务B.优先级调度C.短作业优先D.轮转算法【答案】D31.单选题关系型数据库是( )的集合,表是( ) 的集合。问题1选项A.表B.记录C.码D.属性问题2选项A.约束B.记录C.码D.索引【答案】第1题:A第2题:B【解

31、析】关系型数据库是表的集合,表是记录的集合。32.单选题结构化查询语言(SQL)的出现,极大地促进了( )的应用。问题1选项A.层次数据库B.网络数据库C.关系数据库D.文件管理系统【答案】C【解析】SQL是一门ANSI的标准计算机语言,用来访问和操作数据库系统。SQL可与数据库程序协同工作,而关系型数据库管理系统使用的就是SQL语言进行数据的操作。33.单选题软件过程模型中,( )首次引入风险管理。问题1选项A.螺旋模型B.瀑布模型C.V模型D.原型化模型【答案】A34.单选题以下关于触发器的说法中,错误的是( )。问题1选项A.触发器可以带参数B.触发器不能被应用程序显式调用C.触发器可以

32、关联到基本表D.一个基本表上可以定义多个触发器【答案】A【解析】触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。触发器可以查询其他表,而且可以包含复杂的SQL语句。触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。触发器是不能被应用程序显示调用,所以也是不能带参数的。所以,错误

33、的选项是A。35.单选题某软件需求“发送消息需要在1秒钟内得到响应”,该需求属于( )。问题1选项A.功能需求B.非功能需求C.设计约束D.过程约束【答案】B36.单选题以下关于数据库事务的叙述中,正确的是( )。问题1选项A.一个数据库应用程序只能包含一个数据库事务B.一个数据库事务仅包含条SQL语句C.一个数据库事务仅包含一个存储过程D.一个数据库事务可以包含一组SQL语句【答案】D【解析】数据库事务(transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。

34、所以,事务是可以包含一组SQL语句,ABC是错误的。37.单选题下表是某两个事务并发执行时的调度过程,这里不会出现不可重复读的问题,是因为这两个事务都使用了( );两个事务的并行执行结果是正确的,是因为这两个事务都使用了( );在执行过程中没有发生死锁,这是因为( )导致的。问题1选项A.三级封锁协议B.二级封锁协议C.两段锁协议D.一次封锁法问题2选项A.二级封锁协议B.三级封锁协议C.两段锁协议D.排他锁问题3选项A.排他锁B.共享锁C.两段锁协议D.偶然的调度【答案】第1题:A第2题:C第3题:D【解析】三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束

35、才释放。三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。所以答案选A。两段锁可以保证多个事务的并发执行是可串行化的调度。所以答案是C。两段锁是不能保证死锁的,没有发生是因为这次的调度刚好没有出现而已。所以答案是D。38.单选题关系的完整性约束不包含( )。问题1选项A.实体完整性B.参照完整性C.属性完整性D.用户定义完整性【答案】C【解析】完整性约束:防止的是对数据的意外破环。实体完整性:规定基本关系R的主属性A不能取空。用户自定义完整性:就是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。如:年龄必须为大于0小于

36、150的整数。参照完整性/引用完整性:规定,若F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系),则R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。本题中属性完整性约束不属于关系的完整性约束。39.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网上销售系统的部分关系模式如下:订单表:orders(o_no, o_date, o_time, p_no, mno, p_price, nums, amt, status)。其中属性含义分别为:订单号、订单日期、订单时间、产品编码、供应商编码、产品价格、产品数

37、量、订单金额、订单状态(0-未处理、1-已处理、 2-已取消)。产品表:products(p_no, p_name, p_type, price, m_no, p_nums)。其中属性含义分别为:产品编码、产品名称、产品类型、产品价格、供应商编码、库存数量。【问题1】(5分)节假日时,由供应商提供商品打折后的新价格,数据存放在临时表中,该临时表的表名为tmp_prices(不同供应商有不同的临时表),其关系模式如下:后台维护人员需要根据供应商填写在tmp prices中的数据来更新产品表中某些产品的价格。下面是基于游标,用SQL实现的价格更新程序,请补全空缺处的代码。【问题2】(6分)假设用户

38、1和用户2同时购买1份A商品,用户3查询和浏览A商品。三个用户对应事务的部分调度序列如表4-1所示(事务中未进行并发控制),其中TO时刻该A商品的库存数量p_nums为100。表4-1 事务运行部分调度示意表请说明T4、T7时刻,用户3事务读取到的p_nums 数值分别是多少。请说明T8时刻事务调度结果是否正确?若不正确请说明属于哪一种数据不一致性。【问题3】(4分)为保证并发事务的正确性,系统要求所有事务需遵循两段锁协议。(1)请用100字以内的文字简要解释两段锁协议,并说明“两段”的含义。(2)请说明两段锁协议是否可以避免死锁?如不能避免,应采取什么措施解决死锁问题。【答案】【问题1】(a

39、)cursor(b)open(c)Pno, Pprice, Mno(d)commit【问题2】T4时刻,p_nums的值为100。T7时刻,p_nums的值为99。事务调度结果不正确。丢失修改。【问题3】(1)两段锁协议是指对任何数据进行读写之前必须对数据加锁;在释放一个封锁之后,事务不再申请和获得任何其他锁。“两段”的含义是:事务分为两个阶段,第一阶段是获得封锁,称为扩展阶段;第二阶段是释放封锁,称为收缩阶段。(2)两段锁协议不能避免死锁。解决措施是采用死锁检测机制,发现后按照一定算法解除死锁。【解析】本题考查数据库设计中存储过程和事务并发的相关知识及应用。【问题1】本问题考查存储过程和游标

40、的基本知识。题干描述中已经给出了关系模式和具体的需求描述,给出了使用游标的明确要求,并给出了主体程序。考生应根据游标的具体使用要求,填写空白处代码。存储过程中游标的使用分为四个步骤:定义游标、打开游标、取数据、关闭游标。空白(a)处于存储过程的Declare部分,此部分用于定义临时变量,所以此处应该是游标定义,应该填cursor关键字;空白(b)处应该填open,即打开游标;游标打开后,常见的数据处理方法是采用循环方式,利用fetch语句取出一条数据进行处理,所以空白(c)处应该填写存储数据的临时变量,即Pno,Pprice,Mno,分别来存储取出的产品编码、产品价格和供应商编码,此处需要注意

41、的是临时变量的顺序,需要和游标定义中select后的属性顺序保持一致。空白(d)是该存储过程的最后一条语句,应该对修改后的数据进行确认提交,应该填写commit语句。【问题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时刻

42、事务3从数据库读取的p_nums值为99。从上述描述中可以看到,到了T8时刻,事务1和事务2都完成了减一操作,但数据库中p_nums的值却是99(不是98),因此事务调度结果不正确,不属于串行化调度,属于丢失修改。导致不正确的原因是事务2的修改覆盖了事务1的修改,导致事务1的修改丢失了。【问题3】本问题考查两段锁协议的基本知识。两段锁协议是指对任何数据进行读写之前必须对数据加锁;在释放一个封锁之后,事务不再申请和获得任何其他锁。该协议明确所有事务必须分两个阶段对数据项加锁和解锁:第一阶段是获得封锁,事务可以对数据加读/写锁,但不能释放,也称为扩展阶段;第二阶段是释放封锁,事务可以释放前面对数据

43、加的读/写锁,但不能再申请加锁,也称为收缩阶段。两段锁协议不能保证完全避免锁死的发生,当两个满足两段锁协议的事务并发运行时,如果两个事务对两个资源进行了交叉锁定,死锁就必然发生。因此DBMS必须要提供死锁检测机制,以实时检测死锁的发生,并根据某种策略解除死锁。40.单选题假设有两个数据库表,product 表和market 表,分别存放商品信息和市场需求信息。对SQL语句: selet * fom product, market where productp. id=markep.id的结果描述正确的是( )。如果想从market表中移除m id为MO3的记录,语句( )是正确的。如果要收回G

44、RANT SELECT ON product to role_A WITH GRANT OPTION语句给role_A赋予的权限,使用语句( )。在product表、market表初始数据不变的情况下,以下SQL语句返回的结果有( )条记录。SELECT product.p_idFROM productWHERE product.p_num( SELECT sum (market.m_need) FROM market WHERE market.p_id = product.p_id);问题1选项A.查找市场所需商品的信息B.查找所有市场信息C.查找所有商品信息D.查找市场所需的商品信息以及相

45、应的市场需求信息问题2选项A.REMOVE FROM market WHERE m id-*MO3B.DROP FROM market WHERE m id-MO3C.DELETE FROM market WHERE m id=MO3D.UPDATE FROM market WHERE m id=MO3问题3选项A.REVOKE SELECT ON product FROM role AB.REVOKE SELECT ON product FROM role ACASCADEC.REVOKE SELECT ON product FROM role A WITH GRANT OPTIOND.RE

46、VOKE SELECT ON producet FROM role AALL问题4选项A.0B.1C.2D.3【答案】第1题:D第2题:C第3题:B第4题:D【解析】考查关系数据库的基础知识。Delete和收回权限的语法格式分别为:(1)DELETE FROM 表名 WHERE 条件表达式(2)收回权限语句 REVOKE , n ON FROM , n RESTRICT|CASCADE因此,此题的删除语句为delete from,收回权限用REVOKE SELECT ON product FROM role A CASCADE。41.单选题以下关于蜜罐的叙述中,不正确的是( )。问题1选项A.

47、蜜罐对攻击者更有吸引力B.对蜜罐的任何连接都被确定为入侵C.蜜罐计算机中有吸引力的文件使入侵者逗留并留下证据D.蜜罐能够主动发现攻击者【答案】D【解析】蜜罐就是杀毒软件公司故意用一个防范措施很差的电脑上网,让它中毒,然后研究新产生的病毒,分析后做出杀毒的工具,收入病毒库,这样杀毒软件就能不断地查杀新出现的病毒了。这样的引病毒上勾的防范措施很差的电脑就是“蜜罐”。蜜罐的基本原理。蜜罐系统是一个陷阱系统,它通过设置一个具有很多漏洞的系统吸引黑客入侵,收集入侵者信息,为其他安全技术提供更多的知识。蜜罐采用监视器和事件日志两个工具对访问蜜罐系统的行为进行监控。由于蜜罐是一个很具有诱惑力的系统,能够分散黑客的注意力和精力,所以对真正的网络资源起到保护作用。所以蜜罐是不能主动发现攻击者。42.单选题在关系模式学生(学号,姓名,性别,年龄,系号,系名)中,一个学生只能属于一个系,系名对于码学号的数据依赖是( ),该关系模式最高属于( ),将学生分解为两个关系模式:S(学号,姓名,性别,年龄,系号)和D(系号,系名),则此分解( )。问题1选项A.平凡函数依赖B.部分函数依赖C.传递函数依赖D.多值依赖问题2选项A.2NFB.3NFC.4NFD.BCNF问题3选项A.具有无损连接性,保持函数依赖B.具有无损连接性,不保持函数依赖C.不具有无损连接性,保持函数依赖D.不具

温馨提示

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

评论

0/150

提交评论