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

下载本文档

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

文档简介

1、住在富人区的她2022年职业考证-软考-数据库系统工程师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题在CPU中,用( ) 给出将要执行的下条指令在内存中的地址。问题1选项A.程序计数器B.指令寄存器C.主存地址寄存器D.状态条件寄存器【答案】A【解析】程序计数器是用于存放下一条指令所在单元的地址的地方。在程序执行前,必须将程序的起始地址,即程序的一条指令所在的内存单元地址送入程序计数器,当执行指令时,CPU将自动修改程序计数器的内容,即每执行一条指令程序计数器增加一个量,使其指向下一个待指向的指令。程序的转移等操作也是通过该

2、寄存器来实现的。指令寄存器一般用来保存当前正在执行的一条指令。地址寄存器一般用来保存当前CPU所访问的内存单元的地址,以方便对内存的读写操作。状态条件寄存器(PSW,Program Status Word)保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标志(Z),运算结果为负标志(N),中断标志(I),方向标志(D)和单步标识等。2.单选题防火墙的主要功能不包括( )。问题1选项A.包过滤B.访问控制C.加密认证D.应用层网关【答案】C【解析】防火墙作为访问控制设备,主要工作在OSI模型的三四层。防火墙主要基于IP报

3、文进行检测,对端口进行限制。还有一些防火墙具备一定的应用层防护能力,可以根据TCP会话异常性及攻击特征阻止攻击,通过IP拆分检测也能够判断隐藏在数据包中的攻击。但是防火墙没有加密认证的功能。3.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网上销售系统的部分关系模式如下:订单表:orders(o_no, o_date, o_time, p_no, mno, p_price, nums, amt, status)。其中属性含义分别为:订单号、订单日期、订单时间、产品编码、供应商编码、产品价格、产品数量、订单金额、订单状态(0-未处理、1-已处理、 2-已取消)。产

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

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

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

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

8、致。空白(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时刻事务3从数据库读取的p_nums值为99。从上述描述中可以看到,到

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

10、完全避免锁死的发生,当两个满足两段锁协议的事务并发运行时,如果两个事务对两个资源进行了交叉锁定,死锁就必然发生。因此DBMS必须要提供死锁检测机制,以实时检测死锁的发生,并根据某种策略解除死锁。4.单选题以下恶意代码中,不需要宿主程序的是( )。问题1选项A.病毒B.蠕虫C.木马D.宏【答案】B5.单选题某应用系统有两个表,会员表Member(Mld,Mname,Mphone,Mgender,Mage,balance,visible)和消费记录表DeaI(D_Id,Ddate,Dtype,Dvalue,M_ld),其中MId为会员编码。如果要查询“陈”姓会员的消费记录,对应的SQL语句为( )

11、。问题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.SELECT Mname,Mphone,Ddate,Dvalue FROM Member,Deal WHERE Member.M Id=Deal.M_Id;D.SELECT Mname,Mphone

12、,Ddate,Dvalue FROM Member,Deal WHERE Mname LIKE陈;【答案】A6.单选题数据块的传输过程中,( )不需要CPU的参与。问题1选项A.中断驱动/OB.程序驱动/OC.DMAD.TLB【答案】C7.单选题CPU的速度要远快于打印机的速度,为解决这个速度不匹配的问题,可以使用( )。问题1选项A.并行技术B.缓存技术C.虚拟内存技术D.交换技术【答案】B【解析】缓存就是数据交换的缓冲区。速度快的CPU把数据放到缓存中,打印机就从缓存中取数据进行打印。从而释放了CPU的等待。8.单选题( )算法是不稳定的排序算法。问题1选项A.简单选择B.冒泡C.直接插入

13、D.归并排序【答案】A【解析】选择排序的基本思想是:设所排序序列的记录个数为n。i取1,2,n-1,从所有n-i+1个记录(Ri,Ri+1,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。举个例子,序列10,8,10,2,9,我们知道第一遍选择第1个元素10会和2交换,那么原序列中2个10的相对前后顺序就被破坏了,所以选择排序不是一个

14、稳定的排序算法。9.单选题通过将一个关系拆分成两个更小的关系来使其满足范式时,必须( )来保持数据的完整性约束。问题1选项A.用相同的属性使两个子关系互相关联B.移除两个子关系中所有的函数依赖C.封锁机制D.事务机制【答案】A【解析】通过将一个关系拆分成两个更小的关系来使其满足范式时,必须用相同的属性使两个子关系互相关联来保持数据的完整性约束。10.单选题软件过程模型中,( )首次引入风险管理。问题1选项A.螺旋模型B.瀑布模型C.V模型D.原型化模型【答案】A11.单选题下列协议中,属于安全远程登录协议的是( )。问题1选项A.TLSB.TCPC.SSHD.TFTP【答案】C【解析】安全传输

15、层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,

16、专为远程登录会话和其他网络服务提供安全性的协议。12.单选题下列协议中,可以用于文件安全传输的是( )。问题1选项A.FTPB.SFTPC.TFTPD.ICMP【答案】B13.单选题以下关于SQL的描述中,正确的是( )。问题1选项A.SQL只适用于关系型数据库B.SQL是一种结构化查询语言C.SQL语句不能嵌入到C语句中执行D.所有关系型数据库系统都必须支持SQL99标准的所有特性【答案】B14.单选题下表记录了某系统中各个学校的基本信息,关系运算(主管部门)的结果是( )。问题1选项A.电子科技大学,西安电子科技大学,杭州电子科技大学,桂林电子科技大学B.教育部,浙江,广西C.教育部,教育

17、部,浙江,广西D.四川,陕西,浙江,广西【答案】B15.单选题计算机系统中,I/O接口的功能有( )。数据传输及缓存;设备状态检测和反馈;I/O操作的控制与定时问题1选项A.B.C.D.【答案】D16.单选题某学生想要设计一个博客系统,在数据库的概念设计阶段提出了如下图所示的E-R模型,其中的联系类型为( ),联系的属性为( )。问题1选项A.一元联系B.二元联系C.三元联系D.四元联系问题2选项A.发表B.发表时间C.用户D.无【答案】第1题:C第2题:B【解析】第1题:第2题:17.单选题软件能力成熟度模型(CMM)是对软件组织进化阶段的描述,分为5个成熟度级别,其中在( )级别,说明该组

18、织已经建立了基本的项目管理过程来跟踪成本和进度。问题1选项A.可重复级B.已定义级C.已管理级D.优化级【答案】A【解析】初始级:软件过程的特点是无秩序的,甚至是混乱的,软件处于无章法和步骤可循的状态,或者制订的规范为能覆盖基本的关键过程要求,且执行没有政策、资源方面的保证,那么仍被视为初始级。可重复级:已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。焦点集中在软件管理过程上。一个可管理的过程就是一个可重复的过程,一个可重复的过程则能逐渐演化和成熟。定义级:用于管理和工程的软件过程均已文档化、标准化,并已形成整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合、适当修

19、改后的标准软件过程来进行操作。要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。管理级:软件过程和产品质量有详细的度量报告,软件产品和过程得到了定量的认识和控制。优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进。18.单选题设有关系模式:选课(学号,课程号,课程名,成绩),其函数依赖集为课程号+课程名,课程名课程号,(学号,课程号)成绩。则关于该关系模式,以下说法错误的是( )。将“选课”分解为两个关系模式:SC(学号,课程号,成绩)和C(课程号,课程名),则SC和C最

20、高分别属于( )。对于关系模式“选课”来说,(学号,课程号)课程号是特殊的多值依赖,本质上是( )。问题1选项A.每个非平凡函数依赖的决定因素都包含码B.不存在非函数依赖的多值依赖C.不存在非主属性对码的部分函数依赖D.不存在非主属性对码的传递函数依赖问题2选项A.3NF和3NFB.BCNF和3NFC.3NF和BCNFD.BCNF和BCNF问题3选项A.非函数依赖的多值依赖B.平凡的多值依赖C.非平凡的函数依赖D.平凡的函数依赖【答案】第1题:A第2题:D第3题:D【解析】第1题:根据函数依赖集可以得到选课的候选键为:(学号,课程号)和(学号,课程名)。由于存在课程号课程名,这个决定因数并不包

21、含码。所以A选项是错误的。BCNF是3NF的改进形式。一个满足BCNF的关系模式的条件:1.所有非主属性对每一个码都是完全函数依赖。2.所有的主属性对每一个不包含它的码,也是完全函数依赖。3.没有任何属性完全函数依赖于非码的任何一组属性。所以答案是D。(学号,课程号)课程号平凡函数依赖的定义。当关系中属性集合Y是属性集合X的子集时(YX),存在函数依赖XY,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。根据平凡函数依赖的定义,正确答案是D。第2题:第3题:19.单选题一个栈的输入序列为1,2,3,4,5,不可能得到的输出序列是( )。问题1选项A.2,3,4,1,5B.5,4,

22、1,3,2C.2,3,1,4,5D.1,5,4,3,2【答案】B【解析】栈的特点就是先入后出。假设入栈为I,出栈为O。那么2,3,4,1,5的出入栈的序列为IIOIOIOOIO; 那么2,3,1,4,5的出入栈序列为IIOIOOIOIO; 那么1,5,4,3,2的出入栈序列为IOIIIIOOOO;所以不可能的序列是B。20.单选题以下关于并发调度的说法中,正确的是( )。问题1选项A.以不同串行方式调度执行两个事务,结果都相同B.并发调度结果与某一种串行调度结果相同,是并发调度正确的必要条件C.不满足两段锁协议的并发调度,其结果一定是错误的D.满足两段锁协议的并发调度不会产生死锁【答案】B【解

23、析】并发调度的结果与某一种串行调度结构相同,是并发调度正确的必要条件。这个是正确的,并发调度的结果只要跟某个串行调度结果相同,就代表是正确的。所以答案是B。21.单选题TCP/IP的四层模型中,每一层都提供了安全协议,以下属于网络层安全协议的是( )。问题1选项A.HTTPSB.SSHC.IPSecD.Socks【答案】C22.单选题在地址栏中输入,浏览器默认的应用层协议是( )。问题1选项A.HTTPB.DNSC.TCPD.FTP【答案】A【解析】默认的是: -协议名称 服务器名 域名23.单选题( )强调风险分析,比较适用于庞大、复杂且高风险的系统。问题1选项A.瀑布模型B.螺旋模型C.V

24、模型D.原型化模型【答案】B【解析】螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。24.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某数据库系统采用数据转储方式对数据和日志文件进行离线备份,用检查点机制进行恢复。假设部分其日志文件如表5-1所示。日志记录内容中:【问题1】 (6分)假设各数据项的初始值为: 1=

25、22, J=45, K=9,系统出错恢复后,I,J,K的数值会恢复为多少?【问题2】 (4分)请给出系统恢复时需要重做(Redo)的事务列表和需要撤销(undo)的事务列表。【问题3】(5分)假设掉电造成磁盘介质损坏,数据库无法启动,请用100字以内的文字简要说明其恢复过程。【答案】【问题1】I,J,K的数值会恢复为I=3,J=5,K=9【问题2】 Redo: T2 Undo:T3、T7 【问题3】由于掉电造成磁盘介质损坏,数据库已经无法启动,恢复过程的步骤如下所示:(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。(2)转入相应的日志文件副本,重做已完成的事务。【解析

26、】因为在checkpoint这个日志点之前,T1已经完成,T2在检查点之后完成的,T3还没有完成,所以,T2需要重做,T3需要回滚。由于掉电造成磁盘介质损坏,数据库已经无法启动,恢复过程的步骤如下所示:(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。(2)转入相应的日志文件副本,重做已完成的事务,撤销未完成的事务。25.单选题下表是某两个事务并发执行时的调度过程,这里不会出现不可重复读的问题,是因为这两个事务都使用了( );两个事务的并行执行结果是正确的,是因为这两个事务都使用了( );在执行过程中没有发生死锁,这是因为( )导致的。问题1选项A.三级封锁协议B.二级

27、封锁协议C.两段锁协议D.一次封锁法问题2选项A.二级封锁协议B.三级封锁协议C.两段锁协议D.排他锁问题3选项A.排他锁B.共享锁C.两段锁协议D.偶然的调度【答案】第1题:A第2题:C第3题:D【解析】三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。所以答案选A。两段锁可以保证多个事务的并发执行是可串行化的调度。所以答案是C。两段锁是不能保证死锁的,没有发生是因为这次的调度刚好没有出现而已。所以答案是D。26.单选题在程序编译过程中,执行类型分析和检查是在( )阶段。问题1

28、选项A.词法分析B.语法分析C.语义分析D.代码优化【答案】C【解析】在程序编译过程中,执行类型分析和检查是语义分析阶段的工作。27.单选题在关系型数据库中,( )。问题1选项A.表的行次序可以任意交换B.表的列次序不能任意交换C.同一个表的两个列可以有相同的属性名D.同一个数据库的两个表可以同名【答案】A28.单选题事务T1将数据库中的A值从50改为30,事务T2读A值为30,事务T1又将刚才的操作撤销,A值恢复为50。这种情况属于( ), 是由于数据库系统在( )方面的不当引起的,能解决此问题的方法是( )。问题1选项A.丢失修改B.不可重复读C.读脏数据D.幻影现象问题2选项A.并发控制

29、B.完整性约束C.安全性控制D.数据库的恢复问题3选项A.一级封锁协议和二级封锁协议B.二级封锁协议和三级封锁协议C.一级封锁协议和三级封锁协议D.一级封锁协议、二级封锁协议和三级封锁协议【答案】第1题:C第2题:A第3题:B【解析】丢失修改:是指两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。脏读:指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据, 那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。不可重

30、复读:指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。 那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。幻影现象是指同一事务对数据对象的两次访问得到的数据记录数不同。原因在于两次访问期间满足条件的记录被别的事务修改了或因为别的事务对表进行了增删,造成两次访问满足条件的记录不同了。属于不可重复读类不一致性。一级封锁协议解决了丢失修改,二级封锁协议解决了脏读,三级封锁协议解决了不可重复读。所以,正确答案分别为CAB。29.单选题计算机

31、操作的最小时间单位是( )。问题1选项A.指令周期B.时钟周期C.总线周期D.CPU周期【答案】B【解析】计算机操作的最小时间单位是时钟周期。 时钟周期是计算机中最基本的、最小的时间单位。 30.单选题事务具有 ACID特性,其中C是指事务的( )。问题1选项A.原子性B.持续性C.隔离性D.一致性【答案】D【解析】A 原子性(Atomicity)就是把事物分割成像原子一样,表示我们事物需要细微的去控制。比如我给你转钱,里面有我扣钱,你到账。总不能我扣了钱,你没到账这种情况吧。所以就是指转账这个事物, 里面的所有环节哪怕一个出错,都需要事物回滚,就是一切回到之前那样。D 一致性(Consist

32、ency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。还是转账来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是1000,这就是事务的一致性。C 隔离性(Isolation)隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离,即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后

33、才开始,这样每个事务都感觉不到有其他事务在并发地执行。B 持久性(Durability)持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。31.单选题数据库恢复操作的基本原理是( )。问题1选项A.存取控制B.加密C.完整性约束D.冗余【答案】D【解析】数据库恢复操作的基本原理是冗余机制。32.单选题数据的逻辑独立性由( )的映射实现。问题1选项A.外模式到逻辑模式B.外模式到内模式C.逻辑模式到内模式D.内模式到逻辑模式【答案】A【解析】数据的独立性是数据库系统的最基本的特征之一。数据独立性是指应用程序和数据结

34、构之间相互独立,互不影响。在三层模式体系结构中数据独立性是指数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的能力。正是三级模式间的两层映像保证了数据库系统中的数据具有较高的数据独立性。数据独立性包括数据逻辑独立性和数据物理独立性。为了实现数据库系统的外模式与模式的联系和转换,在外模式与模式之间建立映像,即外模式/模式映像。通过外模式与模式之间的映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来。由于一个模式与多个外模式对应,因此,对于每个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系,这些映像定义通常包含在各自外模式的描述中。有了外

35、模式/模式映像,模式改变时,如增加新的属性、修改属性的类型,只要对外模式/模式的映像做相应的改变,可使外模式保持不变,则以外模式为依据编写的应用程序就不受影响,从而应用程序不必修改,保证了数据与程序之间的逻辑独立性,也就是逻辑数据独立性。33.单选题关系模式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。当且仅当

36、对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。34.单选题相比于集中式数据库,分布式数据库具有( )的优点

37、。问题1选项A.成本低B.结构简单C.拓展性强D.数据冗余低【答案】C35.单选题有一进口商品数据表iteminfo(itemid,itemtype,unitprice,itemcount),其中itemid是自动编号字段,其他属性可以为NULL。如果用SQL语句:INSERT INTO iteminfo(unitprice,itemcount) VALUES (9.99,150)向数据表中插入元组时,则该元组的item_type属性值为( )。问题1选项A.NULLB.任意值C.0D.插入失败,不存在该元组【答案】A【解析】缺省为NULL值。答案为A。36.单选题E-R 图向关系模式转换时,

38、实体标识符转换为关系的( )。问题1选项A.码B.元组C.记录D.约束【答案】A【解析】E-R 图向关系模式转换时,实体标识符转换为关系的码。37.案例题阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】为防控新冠疫情,一些公共设施需要定期消毒,管理部门为高效完成工作并记录必要的工作信息,设计了相应的数据库,其中有一个表用来记录公共汽车的消毒情况,表的结构如下:消毒记录(日期,车牌号,行驶路线,消毒人员工号,消毒人员姓名)其中车牌号和消毒人员工号唯一,同一辆车保持固定的行驶路线。假设同一人员每天可以负责多辆车的消毒工作。【问题1】(6分)给出消毒记录表中成立且左侧只有一个属

39、性的所有函数依赖关系。题中设计的消毒记录表是否满足2NF请用100字以内的文字说明原因。【问题2】 (6分)如果要将消毒记录表规范化为满足3NF,请用100字以内的文字简要说明解决方案,并给出各个新表的主码和外码。【问题3】 (3分)如果每辆车每日有多次消毒,需要记录每次消毒的消毒时间,在问题2设计结果的基础上,如何在不破坏3NF且不增加冗余的前提下做到?请简单说明方案。【答案】【问题1】左侧只有一个属性的函数依赖关系有2个,分别为: 车牌号-行驶路线 消毒人员工号-消毒人员姓名 不满足2NF,根据题干可以得到消毒记录表的候选键为(日期,车牌号),由于存在车牌号-行驶路线,属于部分依赖。根据2

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

41、到消毒记录表的候选键为(日期,车牌号),由于存在车牌号-行驶路线,属于部分依赖。根据2NF的要求,不存在非主属性对主属性的部分依赖,所以不满足2NF。 【问题2】由于消毒记录表不满足2NF,需要将消毒记录表进行拆分成多个表,拆分的表如下:消毒记录1(车牌号,行驶路线)消毒记录2(消毒人员工号,消毒人员姓名)消毒记录3(车牌号,日期,消毒人员工号)由于拆分后的三个表都不存在非主属性对主属性的部分和传递函数依赖,所以都满足3NF。【问题3】由于每辆车每日有多次消毒记录时间,可以在问题2的基础上增加表:消毒记录4(车牌号,日期,消毒时间)38.单选题以下关于触发器的说法中,错误的是( )。问题1选项

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

43、。触发器是不能被应用程序显示调用,所以也是不能带参数的。所以,错误的选项是A。39.案例题阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某数据库系统采用数据转储方式对数据和日志文件进行离线备份,用检查点机制进行恢复。假设其部分日志文件如表5-1所示。日志记录内容中:CHECKPOINT表示检查点,表示事务Ti开始执行,表示事务Ti提交,表示事务Ti将数据项D的值由V1改为V2,CRASH表明系统发生断电故障。假设各数据项的初始值为:I=3J=6,K=11。【问题1】(4分)系统发生故障时,满足持久化要求的事务有哪些?不满足持久化要求的事务有哪些?【问题2】(6分)系统恢

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

45、所有T2的操作。最终结果I=5、J=7、K=11。【问题4】为什么要先写日志文件?写数据库和写日志文件是两个不同的操作,在这两个操作之间可能发生故障。如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了;如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。40.单选题在一个关系表中,各表的行代表( )。问题1选项A.关系B.外码C.元组D.属性【答案】C【解析】关系数据库中的关系模型事实上可以看作是一个二维表,这个二维表中的列称为属性(或字段),行称为元组(或记录)。41.单选题数据模型中,唯一标识实体的属性集称为( )。问题1选项A.外码B.码C.属性D.元组【答案】B【解析】数据模型中,唯一标识实体的属性集称为码。42.单选题系统为( )分配的存储空间在程序运行过程中一般是不改变的。问题1选项A.结构体B.数组C.全局变量D.局部变量【答案】C43.单选题要求事务在读数据前必须先加S锁,读完后即释放的协议是( )。问题1选项A.一级封锁协议B.二级封锁协议C.三级封锁协议D.两段锁协议【答

温馨提示

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

评论

0/150

提交评论