资源描述
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. 单选题相比于文件系统,用数据库系统管理数据,具有( )的优势。问题1选项A.数据冗余高B.数据独立性高C.数据结构化程度低D.数据联系弱【答案】B【解析】相比于文件系统,数据库管理系统具有数据独立性高的优势。3. 单选题在UML图中,( )展现了一组对象以及它们之间的关系,描述了类实例的静态快照。问题1选项A.类图B.对象图C.序列图D.状态图【答案】B【解析】在UML图中,对象图展现了一组对象以及它们之间的关系,描述了类实例的静态快照。4. 案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某竞赛管理系统的部分数据库关系模式如下:选手: PLAYER(PnO Phame, Sex. Region, Tel),各属性分别表示参赛选手的编号、姓名、性别、地区和联系电话:竞赛项目: CONTEST(CnO, Chame, Type, Date),各属性分别表示竞赛项目的编号、名称、类别和举办日期;选手参赛: PC(Pno. Cno, City, Rank, Point),各属性分别表示选手编号、竞赛项目编号、竞赛所在城市、选手取得的名次和积分。有关关系模式的说明如下:(1)下划线标出的属性是表的主码。(2)选手参赛表的属性Pno和Cno分别参照了选手表和竞赛项目表的主码。(3)一个选手参加一项竞赛有一个名次和一-个积分,名次有4个取值(“一”“二” “三”无”)。另外,竞赛所在城市不能为空。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。【问题1】 (5分)请将下面创建选手参赛表PC的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。CREATE TABLE PC(Pno CHAR(10) REFERENCES(a)(Pno),Cno CHAR(3) REFERENCES(b)(Cno),City CHAR(20)(c)Rank CHAR(20)(d)PointSMALLIT,(e)【问题2】(6分)查询所有未参加Al类别竞赛的选手,要求输出选手的编号(Pno),查询结果按照选手编号的升序排列。此功能由下面的SQL语句实现,请补全。SELECT Pno FROM(f)INTOll mhoms FROM otdersWHERE Pno(g)SELECT(h)FROM PC, ContestWHERESET (i)(j)Type=Al)(k)Pon;【问题3】 (4分)由于某种原因,编号为TE06的竞赛项目在正式举办前被取消了。而此前系统中已经记录了些选手的报名参赛情况,因此需要在系统中删除E06的竞赛项目记录,以及该竞赛的所有报名参赛纪录。根据问题1在选手参赛表PC上定义由于某种原因,编号为E06的竞赛项目在正式举办前被取消了。而此前系统中已经记录了一些选手的报名参赛情况,因此需要在系统中删除E06的竞赛项目记录,以及该竞赛的所有报名参赛记录。根据【问题1】在选手参赛表PC上定义的参照完整性约束,此功能可以由下面的SQL语句实现,请补全。(1)FROM(m)WHERE Cno= E06;(n)FROM(o)WHERE Cno= E06;【答案】【问题1】(a):PLAYER(b):CONTEST(c):NOT NULL(d):CHECK(Rank in(一, 二, 三, 无)(e):PRIMARY KEY (Pno,Cno)【问题2】f: PLAYERg: not inh: pnoi: o=oj: andk: order by【问题3】l:deletem:PCn:deleteo:CONTEST【解析】问题1中完整的语句如下:CREATE TABLE PC(Pno CHAR(10) REFERENCES PLAYER (Pno),Cno CHAR(3) REFERENCES CONTEST (Cno),City CHAR(20) NOT NULL,Rank CHAR(20) CHECK(Rank in(一, 二, 三, 无),Point SMALLIT,PRIMARY KEY (Pno,Cno)问题2中完整的语句如下:SELECT Pno FROM PLAYERWHERE Pno not in (SELECT pno FROM PC, ContestWHER o=oand Type=Al )order by Pon;问题3中完整的语句如下,请注意删除表中的数据,根据外键约束,先要删除子表中的数据,再删除主表的数据。DELETE FROM PC WHERE Cno= E06;DELETE FROM CONTEST WHERE Cno= E06:5. 单选题操作系统中,短期调度指的是( )。问题1选项A.作业调度B.进程调度C.线程调度D.CPU调度【答案】B【解析】长期调度,又称为作业调度或高级调度,这种调度将已进入系统并处于后备状态的作业按某种算法选择一个或一批,为其建立进程,并进入主机,当该作业执行完毕时,还负责回收系统资源,在批处理系统中,需要有作业调度的过程,以便将它们分批地装入内存,在分时系统和实时系统中,通常不需要长期调度。它的频率比较低,主要用来控制内存中进程的数量。中期调度,又称为交换调度。它的核心思想是能将进程从内存或从CPU竞争中移出,从而降低多道程序设计的程度,之后进程能被重新调入内存,并从中断处继续执行,这种交换的操作可以调整进程在内存中的存在数量和时机。其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。短期调度,又称为进程调度、低级调度或微观调度。这也是通常所说的调度,一般情况下使用最多的就是短期调度。它的主要任务是按照某种策略和算法将处理机分配给一个处于就绪状态的进程,分为抢占式和非抢占式。6. 单选题程序设计语言的基本成分包括数据、运算、控制和( )。 数据是程序操作的对象,按照数据组织形式可以分为多种类型,其中枚举属于( )类型;数组属于( )类型。问题1选项A.存储B.分配C.传输D.函数问题2选项A.基本B.用户定义C.构造D.特殊问题3选项A.基本B.用户定义C.构造D.特殊【答案】第1题:C第2题:B第3题:C【解析】程序设计语言的基本成分包括数据、运算、控制和传输,数据是程序操作的对象,按照数据组织形式可以分为多种类型,其中枚举属于用户定义类型, 数组属于构造类型。7. 单选题关于存储过程,下面说法中错误的是( )。问题1选项A.存储过程可用于实施企业业务规则B.存储过程可以有输入输出参数C.存储过程可以使用游标D.存储过程由数据库服务器自动执行【答案】D【解析】存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。主要作用包括了:提供了在服务器端快速执行 SQL 语句的有效途径;存储过程降低了客户端和服务器之间的通信量;方便实施企业规则,当企业规则发生变化时只要修改存储过程,而无需修改其他应用程序。所以,答案为D。8. 单选题假设某计算机系统中资源R的可用数为6,系统中有3个进程竞争R,且每个进程都需要i个R,该系统可能会发生死锁的最小i值是( )。若信号量S的当前值为-2,则R的可用数和等待R的进程数分别为( )。问题1选项A.1B.2C.3D.4问题2选项A.0、0B.0、1C.1、0D.0、2【答案】第1题:C第2题:D【解析】当3个进程都占有2个R资源时,都需要再申请一个资源才能正常运行,此时会出现相互等待的状况。9. 单选题A transaction is an action, or a series of actions, carried out by a single user or( ), that accesses or changes the contents of the database.A transaction should possess the four basic or so-called ACID properties:Atomicity. The “all or nothing” property. A transaction is an( ) unit that is either performed in its entirety or is not performed at all.Consistency. A transaction must transform the database from one consistent state to another consistent state.Isolation.Transactions execute independently of one another. In other words, the partial effects of( )transactions should not be visible to other transactions.Durability.The effects of a successfully completed (committed)transaction are permanently recorded in the database and must not be lost because of a subsequent failure.The four properties above, only( )property is the responsibility of the concurrency control subsystem to ensure. It is the responsibility of both the( )and the application developers to ensure consistency. To guarantee the Atomicity and Durability properties after a failure, a log file is needed.问题1选项A.application developerB.all usersC.application programD.DBMS问题2选项A.IndivisibleB.permanentC.infrequentD.infinite问题3选项A.completedB.incompleteC.abortedD.committed问题4选项A.atomicityB.consistencyC.isolationD.durability问题5选项A.DBMSB.DBAC.end userD.DBS【答案】第1题:C第2题:A第3题:B第4题:B第5题:A【解析】a transaction is an action, or a series of actions, carried out by a single user or ( ) that accesses or changes the contents of the database.10. 单选题二叉树遍历是按照某种策略访问树中的每个结点,且仅访问一次。按照遍历左子树要在遍历右子树之前进行的原则,根据访问( )位置的不同,可得到二叉树的前序、中序和后序三种遍历方法。问题1选项A.根节点B.导航节点C.叶子结点D.兄弟节点【答案】A【解析】本题考查数据结构基础知识。遍历运算是二叉树的基本运算,主要有先序、中序、后序和层序遍历。先序遍历的基本方法:对于非空二叉树,先访问根结点,然后先序遍历根的左子树,最后先序遍历根的右子树。因此,若已知某二叉树的先序遍历序列,则可直接得到其树的根结点。中序遍历的基本方法:对于非空二叉树,先中序遍历根的左子树,然后访问根结点,最后中序遍历根的右子树。因此,若已知某二叉树的根结点,则可根据中序遍历序列将该二叉树左右子树上的结点划分开。后序遍历的基本方法:对于非空二叉树,首先后序遍历根的左子树,接着后序遍历根的右子树,最后访问根结点。因此,若已知某二叉树的后序遍历序列,则可直接得到其树根结点。因此,按照遍历左子树要在遍历右子树之前进行的原则,根据访问根结点位置的不同, 可得到二叉树的前序、中序和后序三种遍历方法。11. 单选题在软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准,耦合程度最高的是( )耦合;内聚程度最高的是( )内聚。问题1选项A.数据B.内容C.标记D.公共问题2选项A.顺序B.功能C.时间D.逻辑【答案】第1题:B第2题:B【解析】耦合程度从低到高的顺序为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。最好的是非直接耦合,没有直接联系,模块之间不相互依赖于对方。最差的是内容耦合,一个模块访问了另一个模块的内部数据。内聚程度从高到低的顺序为:功能内聚、顺序内聚、通信内聚、过程内聚、瞬时内聚、逻辑内聚和偶然内聚。所以,在软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准,耦合程度最高的是内容耦合;内聚程度最高的是功能内聚。12. 单选题对于两个关系E和F,( )的运算结果的任一元组, 同时属于E和F。问题1选项A.EFB.EUFC.EFD.E-F【答案】C【解析】关系的基本运算有两类:一类是传统的集合运算(并、差、交、笛卡尔积),另一类是专门的关系运算(选择、投影、连接、除法、外连接等)。传统的集合运算:(1)并(UNION)设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为。记为T=RS。(2)差(DIFFERENCE)R和S的差是由属于R但不属于S的元组组成的集合,运算符为。记为T=RS。(3)交(INTERSECTION)R和S的交是由既属于R又属于S的元组组成的集合,运算符为。记为T=RS。RS=R(RS)。因此,对于两个关系E和F, EF的运算结果的任一元组, 同时属于E和F。答案为C。13. 单选题分布式数据库的 CAP理论指的是:对于一个分布式数据库系统,一致性、可用性和分区容错性这三个特点,最多只能满足( )个。问题1选项A.0B.1C.2D.3【答案】C【解析】分布式数据库的 CAP理论指的是:对于一个分布式数据库系统,一致性、可用性和分区容错性这三个特点,最多只能满足2个。一致性(Consistency)系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读取到最新的值,这样的系统被认为具有强一致性。也就是说所有节点在同一时间具有相同的数据;可用性(Availability)每一个操作总是能够在一定的时间内返回结果,这里需要注意的是“一定时间内”和“返回结果”。也就是说保证每个请求不管成功或者失败都有响应;分区容忍(Partition tolerance)分区容忍性可以理解为系统在存在网络分区的情况下仍然可以接受请求(满足一致性和可用性)。这里网络分区是指由于某种原因网络被分成若干个孤立的区域,而区域之间互不相通。还有一些人将分区容忍性理解为系统对节点动态加入和离开的处理能力,因为节点的加入和离开可以认为是集群内部的网络分区。也就是说系统中任意信息的丢失或失败不会影响系统的继续运作。14. 单选题CPU的速度要远快于打印机的速度,为解决这个速度不匹配的问题,可以使用( )。问题1选项A.并行技术B.缓存技术C.虚拟内存技术D.交换技术【答案】B【解析】缓存就是数据交换的缓冲区。速度快的CPU把数据放到缓存中,打印机就从缓存中取数据进行打印。从而释放了CPU的等待。15. 单选题引用调用方式下进行函数调用,是将( )。问题1选项A.实参的值传递给形参B.实参的地址传递给形参C.形参的值传递给实参D.形参的地址传递给实参【答案】B【解析】在函数调用时,系统为形参准备空间,并把实参的值赋值到形参空间中,在调用结束后,形参空间将被释放,而实参的值保持不变,这就是传值传递方式。传值传递方式中实参与形参之间的数据传递是单向的,只能由实参传递给形参,因而即使形参的值在函数执行过程中发生了变化,也不会影响到实参值。在C语言中,当参数类型是非指针类型和非数组类型时,均采用传值方式。16. 单选题以下关于磁盘碎片整理程序的描述中,正确的是( )。问题1选项A.磁盘碎片整理程序的作用是延长磁盘的使用寿命B.用磁盘碎片整理程序可以修复磁盘中的坏扇区,使其可以重新使用C.用磁盘碎片整理程序可以对内存进行碎片整理,以提高访问内存速度D.用磁盘碎片整理程序对磁盘进行碎片整理,以提高访问文件的速度【答案】D【解析】在Windows系统中,磁盘碎片整理程序可以分析本地卷,以及合并卷上的可用空间使其成为连续的空闲区域,从而使系统可以更高效地访问文件或文件夹。17. 单选题以下关于哈希函数的说法中,不正确的是( )。问题1选项A.哈希表是根据键值直接访问的数据结构B.随机预言机是完美的哈希函数C.哈希函数具有单向性D.哈希函数把固定长度输入转换为变长输出【答案】D【解析】Hash,一般翻译为散列、杂凑,或音译为哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。哈希表是根据键(Key)而直接访问在内存存储位置的数据结构。在密码学里面,随机预言机(英语:Random oracle)是一部预言机,对任何输入都回传一个真正均匀随机的输出,不过对相同的输入,该预言机每次都会用同一方法输出。换句话说,随机预言机是一个将所有可能输入与输出作随机映射的函数。18. 单选题以下有关测试的说法中,错误的是( )。问题1选项A.测试证明了程序的正确性B.测试无法执行穷举测试,只能做选择测试C.测试工作需要制定测试计划,按计划执行测试工作D.白盒测试方法用于单元测试环节【答案】A【解析】软件测试的目的是发现软件的错误,验证软件是否满足用户需求,并通过分析软件错误产生的原因,以帮助发现当前开发工作所采用的软件过程的缺陷,以便进行软件过程改进。软件测试不能发现软件中的所有错误,也不可能保证软件完全正确。19. 单选题采用ADSL接入Internet,用户端接入介质为( ),使用的网络为( )。问题1选项A.双绞线B.红外线C.同轴电缆D.光纤问题2选项A.电话网B.电视网C.DDN专线D.5G无线广域网【答案】第1题:A第2题:A【解析】1989年在贝尔实验室诞生的ADSL是xDSL家族成员中的一员,被誉为“现代信息高速公路上的快车”。它因其下行速率高、频带宽、性能优等特点而深受广大客户的喜爱,成为继MODEM、ISDN之后的又一种全新更快捷,更高效的接入方式。它是运行在原有普通电话线上的一种新的高速宽带技术。事实上,ADSL的传输技术中,ADSL用其特有的调制解调硬件来连接现有双绞线连接的各端。20. 单选题以下关于单链表存储结构特征的叙述中,不正确的是( )。问题1选项A.表中结点所占用存储空间的地址不必是连续的B.在表中任意位置进行插入和删除操作都不用移动元素C.所需空间与结点个数成正比D.可随机访问表中的任一结点【答案】D【解析】单链表存储不能随机访问表中的任一结点,必须从头结点依次.next。
展开阅读全文