资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2022年软考-数据库系统工程师考试题库及全真模拟冲刺卷(附答案带详解)1. 案例题阅读下列说明,回答问题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】(5 分)请用100字以内的文字,简要描述系统出错后,基于检查点的恢复过程。【答案】【问题1】X=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事务由于未提交,其中的修改未生效。【问题2】系统恢复的方法为:清除尚未完成的事务对数据库的所有修改,undo(撤销)所有未完成的事务(从后往前)。将缓冲区中已完成事务提交的结果写入数据库,redo(重做)所有已提交的事务(从前往后)。T1已完成事务提交,需要redo。T2和T3事务尚未完成,需要undo。【问题3】本题需要重点关注撤销事务和重做事务的顺序。在重做事务之前,需要先进行撤销操作。2. 单选题关系模式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,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。3. 单选题事务具有 ACID特性,其中C是指事务的( )。问题1选项A.原子性B.持续性C.隔离性D.一致性【答案】D【解析】A 原子性(Atomicity)就是把事物分割成像原子一样,表示我们事物需要细微的去控制。比如我给你转钱,里面有我扣钱,你到账。总不能我扣了钱,你没到账这种情况吧。所以就是指转账这个事物, 里面的所有环节哪怕一个出错,都需要事物回滚,就是一切回到之前那样。D 一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。还是转账来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是1000,这就是事务的一致性。C 隔离性(Isolation)隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离,即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。B 持久性(Durability)持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。4. 单选题关系模型中,一组具有相同数据类型的值的集合称为( )。问题1选项A.域B.变量C.分量D.元组【答案】A【解析】域:关系模型中,一组具有相同数据类型的值的集合称为域。元组:关系中的一行即为一个元组。分量:元组中的一个属性值,称为分量。例如,在学生基本信息登记表中元组的每一个属性值: “张三”、“女”、“2020/1/1”都是它的分量。5. 单选题关系的完整性约束不包含( )。问题1选项A.实体完整性B.参照完整性C.属性完整性D.用户定义完整性【答案】C【解析】完整性约束:防止的是对数据的意外破环。实体完整性:规定基本关系R的主属性A不能取空。用户自定义完整性:就是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。如:年龄必须为大于0小于150的整数。参照完整性/引用完整性:规定,若F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系),则R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。本题中属性完整性约束不属于关系的完整性约束。6. 单选题UNIX/Linux系统中Telnet 服务的默认端口号是( )。问题1选项A.20B.21C.22D.23【答案】D【解析】在 UNIX/Linux 系统中,telnet 服务的默认端口是 23,ftp 的端口号是 21和20。7. 单选题关于触发器, 下面说法中正确的是( )。问题1选项A.触发器可以实现完整性约束B.触发器不是数据库对象C.用户执行SELECT语句时可以激活触发器D.触发器不会导致无限触发链【答案】A【解析】触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。触发器可以查询其他表,而且可以包含复杂的 SQL 语句。 它们主要用于强制服从复杂的业务规则或要求。 例如,您可以根据客户当前的账户状态,控制是否允许插入新订单。触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。用户执行SELECT语句时是不能激活触发器的,只能通过update,insert,delete语句时才能激活触发器。所以答案C不正确。8. 单选题B-树是一种平衡的多路查找树。以下关于B-树的叙述中,正确的是( )。问题1选项A.根结点保存树中所有关键字且有序排列B.从根结点到每个叶结点的路径长度相同C.所有结点中的子树指针个数都相同D.所有结点中的关键字个数都相同【答案】B【解析】B-树中,所有非终端结点也就是非叶子结点,都会包含关键字,A选项错误。B-树中,所有叶子结点都出现在同一层次上并且不带信息(可以看作是外部结点或查找失败的结点),层次相同也就是高度相同,从根结点到每个叶子结点的路径长度相同,B选项正确。B-树中,所有非终端结点包含的关键字数量是不确定的,指向的子树个数也是不确定的,所以C选项和D选项错误。9. 单选题在UML图中,( )展现了一组对象以及它们之间的关系,描述了类实例的静态快照。问题1选项A.类图B.对象图C.序列图D.状态图【答案】B【解析】在UML图中,对象图展现了一组对象以及它们之间的关系,描述了类实例的静态快照。10. 案例题阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某学生信息管理系统的部分数据库关系模式如下:学生:Student ( stuno, stuname, stuage, stusex, schno),各属性分别表示学生的学号、姓名、年龄、性别,以及学生所属学院的编号;- stuno 主键学院:School ( schno, schname, schstunum ),各属性分别表示学院的编号、名称及学生人数;- schno 主键俱乐部:Club (clubno,clubname, clubyear, clubloc ),各属性分别表示俱乐部的编号、名称、成立年份和活动地点; - clubno 主键参加:JoinClub ( stuno, clubno. joinyear ),各属性分别表示学号、俱乐部编号,以及学生加入俱乐部 的年份。 - stuno, clubno 主键有关关系模式的说明如下:(1) 学生的性别取值为F和M (F表示女性,M表示男性)。(2) 删除一个学院的记录时,通过外键约束级联删除该学院的所有学生记录。(3) 学院表中的学生人数值与学生表中的实际人数要完全保持一致。也就是说,当学生表中增减记录时,就要自动修改相应学院的人数。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。【问题1】(4分)请将下面创建学生表的SQL语句补充完整,要求定义实体完整性约束、参照完整性 约束,以及其他完整性约束。CREATE TABLE Student (stuno CHAR(ll) ( a ),stuname VARCHAR,stuage SMALLINT,stusex CHAR(l) ( b),schno CHAR(3) ( c) ON DELETE ( d));【问题2】(5分)创建倶乐部人数视图,能统计每个倶乐部已加入学生的人数,属性有clubno clubname 和clubstunum。对于暂时没有学生参加的俱乐部,其人数为0。此视图的创建语句如下, 请补全。CREATE VIEW CS_NUMBER ( clubno, clubname, clubstunum ) ASSELECT JoinClub.clubno, ( e ) , ( f )FROM JoinClub, ClubWHERE JoinClub.clubno = Club.clubno( g ) BY JoinClub.clubno (h )SELECT clubno, clubname, 0 F
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号