2026年软考《数据库系统工程师》考试真题(完整版)_第1页
2026年软考《数据库系统工程师》考试真题(完整版)_第2页
2026年软考《数据库系统工程师》考试真题(完整版)_第3页
2026年软考《数据库系统工程师》考试真题(完整版)_第4页
2026年软考《数据库系统工程师》考试真题(完整版)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

2026年软考《数据库系统工程师》考试真题(完整版)上午试题在计算机体系结构中,若处理机的时钟频率为2.5GHz,指令集包含4类指令,其CPI(每条指令周期数)和指令混合比分别为:ALU指令CPI=1,占比40%;Load/Store指令CPI=2,占比30%;分支指令CPI=3,占比20%;访存指令CPI=5,占比10%。则该处理机的MIPS(百万条指令每秒)约为()。A.800B.1000C.1200D.1500在操作系统中,若系统中有5个进程,每个进程需要3个资源R,系统中当前共有10个资源R。若按照银行家算法进行资源分配,此时系统处于()状态。A.安全B.不安全C.死锁D.循环等待以下关于数据结构中堆的描述,正确的是()。A.最小堆中,任意一个非叶子节点的值均小于或等于其左右子节点的值B.最小堆中,完全二叉树的层序遍历序列一定是递增序列C.堆的插入操作时间复杂度通常为O(n)D.堆的删除堆顶元素操作时间复杂度通常为O(logn)某哈希表长度为m,采用除留余数法构造哈希函数,即H(key)=key%p。为了减少冲突,p的选择通常为()。A.小于等于m的最大奇数B.小于等于m的最大素数C.mD.m-1在关系代数中,设关系R和S具有相同的目n,且对应的属性取自同一个域。则R×A.笛卡尔积B.自然连接C.并D.差若关系模式R(U,F)中,U={A,B,C,D,E},F={AB→C,C→D,D→E},则关系模式R的候选码为()。A.ABB.AB和CDC.AB和ACD.AC数据库系统的三级模式结构是指()。A.外模式、模式、内模式B.用户模式、逻辑模式、物理模式C.视图、基本表、索引D.全局模式、局部模式、存储模式SQL语言中,用于收回权限的语句是()。A.GRANTB.REVOKEC.DENYD.REMOVE事务的原子性是指()。A.事务中包含的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务的执行不能被其他事务干扰D.事务必须是使数据库从一个一致性状态变到另一个一致性状态若系统采用三级封锁协议,则可以解决的问题是()。A.丢失修改B.不可重复读C.读“脏”数据D.幻影读在数据库恢复技术中,Redo日志的作用是()。A.撤销已提交的事务对数据库的修改B.重做已提交的事务对数据库的修改C.记录事务的回滚操作D.记录事务的锁定状态以下关于E-R图向关系模型转换的叙述,错误的是()。A.一个实体型转换为一个关系模式B.一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并C.一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并D.一个m:n联系必须转换为一个独立的关系模式索引是数据库中重要的数据结构。以下关于B+树索引的描述,错误的是()。A.B+树的所有数据都存储在叶子节点B.B+树的非叶子节点只起到索引作用C.B+树适合范围查询D.B+树的叶子节点之间通过指针连接,但指针是单向的在分布式数据库系统中,分片透明性位于()层次。A.全局外模式B.全局概念模式C.分片模式D.分配模式NoSQL数据库Cassandra采用的数据模型特点是()。A.键值对B.列族C.文档D.图以下关于函数依赖的Armstrong公理,错误的是()。A.自反律:若Y⊂eB.增广律:若X→Y,则XZ→YZC.传递律:若X→Y,Y→Z,则X→ZD.合并律:若X→Y,X→Z,则Y→Z设有关系模式R(A,B,C,D),其函数依赖集F={A→B,B→C,A→D},则关系模式R的规范化程度最高达到()。A.1NFB.2NFC.3NFD.BCNF在SQL中,下列聚合函数中,忽略NULL值的是()。A.COUNT(*)B.COUNT(列名)C.MAX(列名)D.SUM(列名)若事务T对数据对象R加了S锁(共享锁),则其他事务对R()。A.只能加S锁,不能加X锁B.只能加X锁,不能加S锁C.不能加任何锁D.可以加S锁或X锁数据库设计中,需求分析阶段常用的工具是()。A.E-R图B.数据流图(DFD)C.判定表D.程序流程图在关系数据库中,视图是一个虚表,其定义存储在()中。A.数据字典B.索引文件C.日志文件D.数据文件设有关系R(A,B,C)和S(B,C,D),则R÷S(除法)的结果属性集为()。A.{A}B.{D}C.{A,D}D.{A,B,C}为了优化查询性能,数据库管理员可以考虑()。A.增加数据冗余B.减少索引数量C.频繁更新索引列D.使用游标在数据仓库中,维度的层次结构是指()。A.维度的不同粒度级别B.维度的物理存储位置C.维度的数据类型D.维度的关联关系以下关于嵌入式SQL的描述,正确的是()。A.嵌入式SQL语句可以直接使用宿主变量,无需特殊标记B.游标用于处理多行结果集C.嵌入式SQL程序不需要预编译D.SQLCA(SQL通信区)主要用于存储SQL语句若关系模式R属于1NF,且每一个非主属性完全函数依赖于码,则R最高属于()。A.2NFB.3NFC.BCNFD.4NF在MySQL中,InnoDB存储引擎支持的隔离级别默认是()。A.ReadUncommittedB.ReadCommittedC.RepeatableReadD.Serializable设有栈S和队列Q,初始状态为空。元素a,b,c,d,e,f依次入栈,出栈元素依次入队,然后依次出队。则出队序列为()。A.a,b,c,d,e,fB.f,e,d,c,b,aC.a,f,e,d,c,bD.f,a,b,c,d,e数据库物理设计阶段,选择存取方法时,主要考虑的是()。A.存储空间B.存取时间C.开发成本D.维护成本在两阶段锁协议中,事务的()阶段可以对任何数据项加锁。A.扩展B.收缩C.提交D.回滚以下关于触发器的叙述,正确的是()。A.触发器可以显式调用B.触发器可以定义在视图上C.触发器在约束检查之前执行D.触发器主要用于复杂的业务规则和审计设有关系模式R(U,F),U={A,B,C,D,E,G},F={AB→C,C→D,D→E,E→G},则属性集AB的闭包(AA.{A,B,C}B.{A,B,C,D}C.{A,B,C,D,E}D.{A,B,C,D,E,G}在SQL中,匹配包含模式'abc%'的字符串,应使用()。A.LIKE'abc%'B.LIKE'\abc%'C.LIKE'abc\%'D.LIKE'^abc%'数据库故障恢复中,检查点的作用是()。A.标记事务的提交点B.减少恢复时需要扫描的日志量C.同步缓冲区和磁盘数据D.记录死锁发生点在面向对象数据库中,对象标识符(OID)具有的特性是()。A.随对象值的改变而改变B.全局唯一且独立于值C.由用户定义D.仅在当前会话有效以下关于多版本并发控制(MVCC)的描述,错误的是()。A.MVCC可以实现读写操作不冲突B.MVCC通过保存数据的多个版本来实现C.MVCC不需要使用锁机制D.MVCC在PostgreSQL和MySQL中广泛应用关系数据库规范化理论是为了解决()问题。A.数据冗余和操作异常B.数据安全性C.数据完整性D.查询效率设有关系R(A,B,C)和S(A,B,C),R中有5个元组,S中有4个元组,其中有2个元组相同。则R∪S的元组数为()。A.7B.9C.20D.1在SQL中,创建唯一索引的命令是()。A.CREATEINDEXidxONT(col)B.CREATEUNIQUEINDEXidxONT(col)C.CREATEDISTINCTINDEXidxONT(col)D.CREATEINDEXidxONT(col)UNIQUE以下关于数据库安全性的叙述,不属于TCSEC(桔皮书)划分的安全级别是()。A.A1B.B1C.C2D.D3在位图索引中,如果某列的基数很高,则()。A.位图索引效率高B.位图索引效率低,且占用空间大C.位图索引无法建立D.位图索引会自动转换为B+树索引事务T1读取数据A=100,事务T2读取数据A=100,T1将A修改为200并提交,T2将A修改为300并提交。这种异常现象称为()。A.丢失修改B.不可重复读C.读“脏”数据D.幻影读在数据库应用系统设计中,概要设计阶段产生的主要文档是()。A.需求规格说明书B.概要设计说明书C.详细设计说明书D.测试计划设有一个稀疏图,其边数远小于节点数的平方,对其进行遍历,优先使用的数据结构是()。A.邻接矩阵B.邻接表C.十字链表D.二维数组在关系模式R(A,B,C,D)中,若有A→B,B→C,则A→C,这是根据()推导出来的。A.自反律B.增广律C.传递律D.合并律若X→Y,则XZ→YZ,这是Armstrong公理中的()。A.自反律B.增广律C.传递律D.伪传递律在SQL中,下列关于CASE表达式的描述,错误的是()。A.CASE表达式可以用于SELECT子句B.CASE表达式可以用于WHERE子句C.CASE表达式必须包含ELSE子句D.CASE表达式返回一个值在数据库备份中,增量备份是指()。A.备份所有数据B.备份自上次完全备份以来修改的数据C.备份自上次任意备份以来修改的数据D.仅备份数据库结构在分布式数据库的查询处理中,半连接操作的主要目的是()。A.减少网络传输的数据量B.增加数据冗余C.简化查询逻辑D.提高本地处理速度在OLAP操作中,下钻是指()。A.从汇总数据深入到细节数据B.从细节数据汇总到高层数据C.在不同维度间切换D.切换数据切片设有关系模式R(U,F),若X→U,则X称为R的()。A.超码B.候选码C.主码D.外码在SQL中,约束条件PRIMARYKEY与UNIQUE的区别是()。A.PRIMARYKEY允许NULL值,UNIQUE不允许B.UNIQUE允许NULL值,PRIMARYKEY不允许C.两者完全相同D.PRIMARYKEY允许重复值,UNIQUE不允许以下关于存储过程的描述,正确的是()。A.存储过程在客户端执行B.存储过程可以接收参数,也可以返回参数C.存储过程不能包含事务控制语句D.存储过程的执行计划每次都需要重新编译在数据库性能调优中,查询计划中的“NestedLoopJoin”适用于()。A.大表与大表的连接B.小表与大表的连接,且驱动表结果集很小C.全表扫描D.索引扫描在关系数据库中,实现参照完整性通常通过()。A.触发器B.断言C.主键与外键约束D.游标若事务T对数据R加了X锁(排他锁),则其他事务对R()。A.可以加S锁B.可以加X锁C.不能加任何锁D.只能加意向锁以下关于第四范式(4NF)的描述,正确的是()。A.消除非平凡且非函数依赖的多值依赖B.消除部分函数依赖C.消除传递函数依赖D.消除插入和删除异常在SQLServer中,master数据库的主要作用是()。A.存储用户数据B.存储系统级信息C.存储临时数据D.存储日志信息在数据挖掘中,Apriori算法用于()。A.分类B.聚类C.关联规则挖掘D.孤立点检测在Redis中,支持持久化的方式包括()。A.RDB和AOFB.只支持RDBC.只支持AOFD.不支持持久化设有关系模式R(A,B,C,D),函数依赖F={A→B,B→C,D→A},则R的候选码是()。A.AB.DC.ADD.BD在数据库设计中,确定用户需求、收集和分析数据是()阶段的任务。A.概念设计B.逻辑设计C.物理设计D.需求分析在SQL中,ROLLBACK命令的作用是()。A.提交事务B.回滚事务C.保存事务点D.释放锁以下关于数据库死锁的叙述,正确的是()。A.死锁是可以完全避免的B.死锁检测通常采用超时法或等待图法C.预防死锁通常采用允许事务一次性申请所有资源D.解除死锁的唯一方法是回滚所有事务在关系代数中,(RA.选择R中第5个属性值大于2的元组B.选择R中属性名为'5'的值大于属性名为'2'的元组C.投影D.连接若关系R有1000个元组,关系S有500个元组,则R×S的元组数为()。A.500B.1000C.1500D.500000在PostgreSQL中,用于管理数据库集群的服务进程是()。A.postmasterB.postgresC.pg_ctlD.initdb在数据库应用开发中,ODBC的作用是()。A.数据库管理系统B.数据库应用接口C.数据库连接标准D.数据库查询语言以下关于局部性原理的描述,错误的是()。A.时间局部性:最近访问的数据很可能再次被访问B.空间局部性:最近访问数据附近的数据很可能被访问C.局部性原理是Cache工作的基础D.数据库查询完全不遵循局部性原理在关系模式R(U,F)中,若X→Y且Y⧸⊂eqA.平凡函数依赖B.非平凡函数依赖C.完全函数依赖D.部分函数依赖在SQL中,子查询可以出现在()。A.WHERE子句中B.FROM子句中C.HAVING子句中D.以上都可以若数据库日志采用先写日志原则,目的是()。A.提高并发度B.保证ACID中的持久性C.减少日志文件大小D.简化恢复算法在MongoDB中,文档的基本存储单位是()。A.表B.行C.BSOND.XML在数据库概念设计中,属性必须是()。A.不可再分的数据项B.可以是复合数据C.可以是其他实体D.必须是主键以下关于SQL中EXISTS与IN的区别,描述正确的是()。A.性能上EXISTS通常比IN快,特别是子查询表大时B.性能上IN通常比EXISTS快C.两者逻辑完全等价,无任何区别D.EXISTS只能用于子查询返回单列在关系模式分解中,若分解具有无损连接性,则()。A.分解后的关系模式通过自然连接可以恢复到原关系模式B.分解后的关系模式函数依赖保持不变C.分解后的关系模式一定达到更高范式D.分解后的关系模式减少了数据冗余在数据库查询优化中,将选择操作尽可能下推到执行树的叶子节点,目的是()。A.减少中间结果的大小B.增加并行度C.简化语法树D.方便权限检查在SQL中,定义外键约束时,ONDELETECASCADE表示()。A.删除主表记录时,若从表有对应记录,则操作被拒绝B.删除主表记录时,从表对应记录被设为NULLC.删除主表记录时,从表对应记录被级联删除D.删除主表记录时,从表对应记录被设为默认值设有关系R(A,B,C,D),F={A→B,C→D},若将R分解为R1(A,B)和R2(C,D),则该分解()。A.具有无损连接性,保持函数依赖B.不具有无损连接性,保持函数依赖C.具有无损连接性,不保持函数依赖D.不具有无损连接性,不保持函数依赖在数据库系统中,缓冲区管理器由()管理。A.操作系统B.DBMSC.文件系统D.应用程序在数据仓库中,星型模式与雪花模式的区别在于()。A.星型模式只有一个事实表,雪花模式有多个B.雪花模式的维度表是规范化的,星型模式维度表可能是反规范化的C.星型模式查询性能比雪花模式差D.雪花模式更易于理解以下关于数据库并发调度的叙述,冲突操作包括()。A.读-读B.读-写C.写-读D.写-写在SQL中,TRUNCATETABLE与DELETETABLE的区别是()。A.TRUNCATE不能回滚,DELETE可以回滚B.DELETE不能回滚,TRUNCATE可以回滚C.两者都不能回滚D.两者都可以回滚,但TRUNCATE更快设有关系R(A,B,C),S(B,C,D),则R与S自然连接后的属性集为()。A.{A,B,C,D}B.{A,B,C}C.{B,C,D}D.{A,D}在数据库安全性中,强制存取控制(MAC)基于()。A.用户权限表B.数据标签和用户clearanceC.角色管理D.口令验证下午试题试题一(共15分)某大型电商平台需要构建后台订单管理系统。该系统主要涉及客户、商品、类别、供应商和订单等实体。具体需求如下:1.一个客户可以下多个订单,一个订单只属于一个客户。2.一个订单可以包含多种商品,一种商品可以出现在多个订单中。订单明细需要记录购买数量和当时的单价。3.每种商品属于一个类别,一个类别包含多种商品。4.每种商品由一个供应商提供,一个供应商可以提供多种商品。5.需要记录客户的姓名、地址、电话。6.需要记录商品的名称、库存量。7.订单需要记录下单日期和总金额。根据上述需求,完成以下问题:【问题1】(4分)请给出该系统的E-R图。(使用矩形表示实体,椭圆表示属性,菱形表示联系,并标注联系类型)【问题2】(6分)将上述E-R图转换为关系模式。请标出每个关系模式的主码(下划线标出)和外码(括号注明)。【问题3】(5分)在订单明细关系中,属性“单价”是否属于该关系的非主属性?如果订单明细关系模式为:订单明细(订单号,商品号,数量,单价),请分析该模式是否存在插入异常、删除异常或更新异常?若存在,请说明原因。试题二(共20分)某图书管理系统的数据库包含以下关系模式:图书(书号,书名,作者,出版社,出版日期,价格,库存量)读者(读者号,姓名,单位,电话)借阅(读者号,书号,借阅日期,归还日期,罚款金额)其中,“归还日期”为NULL表示该书尚未归还。请用SQL语句完成以下查询:【问题1】(4分)查询“清华大学”出版社出版的、价格在50到100元之间的图书的书名和作者。【问题2】(5分)查询2024年借阅图书超过5本的读者的姓名和借阅数量。【问题3】(5分)查询当前(即尚未归还)借阅了“数据库系统教程”这本书的所有读者的姓名。【问题4】(6分)创建一个视图“V_Overdue”,包含所有逾期未归还图书的读者号、读者姓名、书号、书名和借阅日期。假设借阅期限为30天。试题三(共20分)某银行的转账业务涉及账户表Account(AccountNo,Balance)。转账事务T1:从账户A转100元到账户B。转账事务T2:从账户B转200元到账户A。设A和B的初始余额均为1000元。现有两个并发调度序列如下:调度S1:T1:Read(A)T1:A=A-100T1:Write(A)T2:Read(B)T2:B=B-200T2:Write(B)T1:Read(B)T1:B=B+100T1:Write(B)T2:Read(A)T2:A=A+200T2:Write(A)调度S2:T1:Read(A)T2:Read(B)T1:A=A-100T2:B=B-200T1:Write(A)T2:Write(B)T1:Read(B)T2:Read(A)T1:B=B+100T2:A=A+200T1:Write(B)T2:Write(A)【问题1】(5分)分别计算调度S1和S2执行结束后,账户A和B的余额。【问题2】(5分)调度S1和S2是否是冲突可串行化的?请说明理由。【问题3】(5分)若采用严格两阶段锁协议(Strict2PL),请描述上述事务在执行过程中加锁和解锁的时序,并说明是否能保证调度S1或S2的正确性。【问题4】(5分)若采用乐观并发控制方法,请简述其三个主要步骤,并说明在何种情况下该调度会失败。试题四(共15分)某关系数据库中有关系模式R(U,F),其中U={A,B,C,D,E,P,G},函数依赖集F={A→B,BC→D,D→E,EP→G,A→P}。【问题1】(4分)计算属性集(A,C)的闭包(A【问题2】(4分)求关系模式R的候选码。【问题3】(4分)判断关系模式R最高属于第几范式(1NF、2NF、3NF、BCNF),并说明理由。【问题4】(3分)若将R分解为R1(A,B,D,E,P,G)和R2(C,D),请判断该分解是否具有无损连接性。试题五(共20分)随着物联网技术的发展,某智能交通系统需要处理海量的车辆轨迹数据。数据特征包括:写入吞吐量极大(每秒数百万条记录),数据查询主要基于车辆ID和时间范围进行历史轨迹回放,对事务ACID要求不高,但要求系统具有高可用性和水平扩展能力。【问题1】(5分)根据上述应用场景,应该选择哪种类型的数据库管理系统?(关系型数据库、NoSQL键值数据库、NoSQL文档数据库、NoSQL列族数据库等)并说明理由。【问题2】(5分)在选定的数据库类型中,请设计一个适合存储车辆轨迹数据的数据模型结构(用伪代码或示意图表示),并解释RowKey(或主键)的设计策略。【问题3】(5分)在分布式数据库系统中,CAP定理指出一致性、可用性和分区容错性三者不可兼得。根据该智能交通系统的需求,应该优先保证CAP中的哪两项?为什么?【问题4】(5分)为了进一步提高查询性能,系统采用了预聚合技术。请结合车辆轨迹数据,说明预聚合可能带来的存储开销和查询收益,并指出其适用场景。参考答案与解析上午试题参考答案1.B解析:平均CPI=1×0.4+2×0.3+2.A解析:利用银行家算法。Need矩阵=Max-Allocation。若存在安全序列。进程最大需求5*3=15,现有10,缺口5。若分配需保证至少有一个进程能完成。若每个进程分2个,共占用10,剩余0,死锁。若分得不均。安全状态判定:存在一个进程,其Need<=Available。初始Available=10。假设分配后状态,若所有进程Need>Available则不安全。题目问“此时系统处于”,通常指初始状态。最大需求15,资源10,至少差5。只要有进程能满足即可。若所有进程都申请3个,现有10,满足3个进程后剩1,不满足第4个。但这只是假设。实际上初始状态Available=10,Max_i=3。Need_i<=3。Available=10>=3,所以可以分配给任意进程。故是安全的。3.D解析:堆的插入和删除都涉及调整,时间复杂度为O(lo4.B解析:除留余数法中,p通常取小于等于表长m的最大素数,以减少冲突。5.A解析:×符号在关系代数中通常表示广义笛卡尔积。自然连接通常是⋈。6.A解析:计算(A7.A解析:三级模式结构:外模式(用户视图)、模式(逻辑模式)、内模式(物理存储)。8.B解析:GRANT授权,REVOKE收回。9.A解析:原子性指事务的不可分割性。10.B解析:三级封锁协议解决了脏读(一级)、不可重复读(二级)、幻读(三级)。注意:一级加X锁写,二级加S锁读直到结束,三级加谓词锁。通常说三级解决幻读,二级解决不可重复读。题目问解决不可重复读,对应二级。但选项中有“不可重复读”。若协议是三级,则包含二级功能。题目问“采用三级封锁协议,则可以解决”,答案通常是“不可重复读”和“幻读”。单选题看选项,若有B选B。若是多选则BC。这里假设单选,选B(不可重复读是三级协议解决的主要问题之一,区别于一级和二级)。11.B解析:Redo日志用于重做已提交事务的修改,确保持久性。Undo用于回滚。12.B解析:1:1联系可以合并到任意一端。正确。1:n联系可以合并到n端。正确。m:n联系必须独立。正确。A正确。B正确。C正确。D正确。检查B:1:1联系如果不独立,可以合并到任意一端,无主次之分。B正确。检查题目是否有误:通常E-R转关系,1:1可以与任意一端合并。1:n与n端合并。m:n独立。A、C、D都正确。B说“与任意一端对应的关系模式合并”,这是正确的。等等,如果1:1联系是实体集A和B之间的联系,且联系有属性,若合并到A,则B的主键和联系属性加入A;若合并到B,则A的主键和联系属性加入B。所以B是对的。再仔细看:也许题目问的是“错误”的?如果是找错误,可能出在“1:1联系...也可以与任意一端...”,有些教材建议与特定端(如全参与端)合并。但一般理论上是任意端。如果是找错误,看D。m:n必须独立,这是对的。看C,1:n可以独立也可以合并,对的。看A,实体转关系,对的。推测:可能是B选项描述有细微差别,或者题目是找错误。如果B是“只能与某一端合并”则是错。如果B是“可以与任意一端”,则是对的。修正思路:通常考题中,1:1联系如果双向都是1:1,确实可以任意。如果是找错误,可能在于B选项的表述“也可以与任意一端对应的关系模式合并”在某些特定语境下被视为不严谨(如联系有属性且双向全参与,合并会导致冗余)。但最经典的错误点通常是:1:1联系必须独立(错),或1:n联系可以合并到1端(错)。这里B说可以合并到任意端,C说可以合并到n端。似乎都对。再读题:若1:1联系,如果联系有属性,合并到任意一端都是可行的。等等,可能是C:1:n联系只能与n端合并(如果联系有属性)。如果C说“也可以与1端合并”,则C错。但C说“也可以与n端对应的关系模式合并”,这是对的。再看B:如果1:1联系,假设A是主,B是副,通常合并到A。如果B说“任意”,可能被视为不严谨(虽然理论上可以)。实际上,在标准软考题库中,类似的题错误选项通常是“1:1联系必须转换为独立关系模式”或“1:n联系可以与1端合并”。这里可能B是错的,因为1:1联系如果是一对一,通常建议与某一端合并,但若说“任意”,在特定业务语义下可能不合适(如职工与部门,1:1,但部门包含职工属性可能不合适,虽然物理上可行)。暂定B为潜在错误项,或者题目本身无误,选对。假设题目是找错误,B的“任意”可能是考点。或者D选项“m:n联系必须转换为一个独立的关系模式”,这是绝对正确的。重新审视:如果题目是“错误的是”,且没有其他明显错误,可能选B(因为有些教材规定1:1联系合并时需考虑全参与情况,并非随意)。但在无更明显错误下,通常B被视为正确描述。让我们换个角度,也许题目是对的,让我选对的?题目说“错误的是”。等等,我可能看漏了。1:1联系,如果两端都是非强制参与(0..1),则必须独立。如果是强制参与(1..1),则可以合并。所以B说“可以与任意一端...合并”忽略了参与度约束,不严谨。故选B。13.D解析:B+树的叶子节点通过双向链表连接(通常实现),方便范围查询。D说单向,是错误的。14.C解析:分片透明性是最高级,用户无需知道数据如何分片。位于全局概念模式与分片模式之间,或者说是分片模式之上的透明性。通常说:分片透明性(用户无需知道分片)、分配透明性(用户无需知道物理位置)、局部映射透明性。分片透明性位于全局概念模式层。15.B解析:Cassandra是基于列族的NoSQL数据库。16.D解析:合并律是推导出来的,不属于基本公理(自反、增广、传递)。基本公理是A、B、C。D是合并律,属于导出规则。17.B解析:F={A→B,B→C,A→D}。码是A。部分依赖?A是码,非主属性B,C,D。B完全依赖于A。C依赖于B(传递于A)。D完全依赖于A。不存在部分依赖(因为码是单属性)。存在传递依赖A->B->C。所以是2NF。18.B解析:COUNT(列名)忽略NULL。COUNT(*)统计所有行。SUM,MAX,MIN忽略NULL。19.A解析:S锁与S锁兼容,与X锁不兼容。所以其他事务只能加S锁。20.B解析:需求分析常用DFD(数据流图)、DD(数据字典)。E-R是概念设计。21.A解析:视图定义存储在数据字典中。22.A解析:R÷S,结果属性为R-S。R(A,B,C),S(B,C,D)。R-S={A}。23.A解析:增加冗余(如物化视图、派生列)可以优化查询性能(以空间换时间)。24.A解析:维度的层次结构是指不同粒度级别,如年->月->日。25.B解析:嵌入式SQL中,宿主变量前加冒号。游标用于处理多行结果集。嵌入式SQL需要预编译。SQLCA用于通信。B正确。26.A解析:定义了2NF:1NF且非主属性完全函数依赖于码。27.C解析:MySQLInnoDB默认是RepeatableRead。28.B解析:栈是后进先出。入栈a,b,c,d,e,f。出栈序列为f,e,d,c,b,a。入队f,e,d,c,b,a。出队序列f,e,d,c,b,a。29.C解析:物理设计选择存取方法,主要目标是提高存取时间效率(尽管也要考虑空间)。30.A解析:扩展阶段加锁,收缩阶段解锁。31.D解析:触发器不能显式调用(由事件触发),可以定义在表或视图上(部分DB支持视图触发器),通常在约束检查之后执行(后触发),用于审计。32.D解析:(A33.A解析:'abc%'匹配以abc开头的字符串。34.B解析:检查点技术用于减少恢复时扫描日志的量。35.B解析:OID是全局唯一且独立于值的。36.C解析:MVCC通常需要配合锁机制(如间隙锁)解决写写冲突或幻读,虽然读写不冲突。说“不需要使用锁机制”太绝对。37.A解析:规范化解决冗余和操作异常。38.A解析:R有5,S有4,相同2。并集=5+4-2=7。39.B解析:CREATEUNIQUEINDEX。40.D解析:TCSEC级别:D,C1,C2,B1,B2,B3,A1。没有D3。41.B解析:位图索引适合基数低(重复值多)。基数高则位图稀疏,效率低且空间大。42.B解析:T1读100,T2读100,T1写200提交,T2写300提交。T2覆盖了T1的修改。这是丢失修改(覆盖更新)。43.B解析:概要设计产生概要设计说明书(包括DB结构)。44.B解析:稀疏图用邻接表节省空间。45.C解析:传递律。46.B解析:增广律。47.C解析:CASE表达式可以不包含ELSE,此时返回NULL。48.C解析:增量备份(差异增量)是备份自上次完全备份以来修改的数据。差异增量vs累积增量。通常“增量备份”指备份自上次任意备份(完全或增量)以来的修改。但在软考中,需区分术语。Differentialbackup(差异增量)基于上一次Full。Incrementalbackup(累积增量)基于上一次Incremental。中文“增量备份”通常对应Incremental。如果是基于上一次Full,通常叫“差异备份”。题目中C描述“自上次任意备份以来”,这是Incremental的定义。B是Differential。根据选项语境,若只有C符合增量定义,选C。注:很多教材定义增量备份为基于上次备份(含增量)。49.A解析:半连接先传输投影后的连接属性进行过滤,减少网络数据量。50.A解析:下钻是深入细节。51.A解析:X→U,X是超码。如果X不含多余属性,是候选码。51题重复,跳过解析。52.B解析:PRIMARYKEY不允许NULL,UNIQUE允许NULL(视DBMS而定,通常允许多个NULL或一个NULL,但区别在于PK绝对非空)。53.B解析:存储过程在服务端执行,可接收/返回参数,可包含事务。执行计划可缓存。54.B解析:NestedLoop适合小表驱动大表。55.C解析:参照完整性通过PRIMARYKEY和FOREIGNKEY约束实现。56.C解析:X锁排他,其他事务不能加任何锁(S或X)。57.A解析:4NF定义:消除非平凡且非函数依赖的多值依赖。58.B解析:master数据库存储系统级信息。59.C解析:Apriori用于关联规则挖掘。60.A解析:Redis支持RDB(快照)和AOF(日志)。61.C解析:F={A→B,B→C,D→A}。(D=D62.D解析:需求确定是需求分析阶段。63.B解析:ROLLBACK回滚事务。64.B解析:死锁检测常用等待图法。预防有死锁避免(银行家)和死锁预防(破坏条件)。C说“预防...一次性申请所有资源”是死锁预防的一种策略(破坏请求与保持条件),是正确的。B说“检测通常采用...”也是正确的。题目问“正确的是”,B和C都像。但C描述的是“预防死锁通常采用...”,而“一次性申请”是预防的一种,不是通用的“通常”手段(通常指条件)。B是检测的定义。更正:C选项“预防死锁通常采用允许事务一次性申请所有资源”,这种说法比较绝对,因为静态分配效率低。B是检测的定义。选B。65.A解析:σ表示选择。5>2'表示第5列大于'2'(字符串比较)或数值。这是列下标表示法。66.D解析:笛卡尔积元组数=1000×67.A解析:PostgreSQL服务进程是postmaster(较老版本)或postgres(新版本充当)。经典答案是postmaster。68.C解析:ODBC是数据库连接标准/API。69.D解析:数据库查询也遵循局部性原理(如索引访问、数据页缓存)。D说完全不遵循是错的。70.B解析:Y不是X子集,是非平凡。71.D解析:子查询可出现在WHERE,FROM,HAVING。72.B解析:先写日志保证原子性和持久性。73.C解析:MongoDB存储BSON。74.A解析:原子性要求属性不可再分。75.A解析:EXISTS通常比IN快,特别是子查询大时,因为EXISTS只要找到就停止。76.A解析:无损连接性指通过自然连接可还原。77.A解析:下推选择操作减少中间结果。78.C解析:CASCADE级联删除。79.A解析:R1(A,B),R2(C,D)。R1∩R2=空集。必然无损连接(因为R1∩R2→R1或R2为空,空集决定任何属性是平凡的?不,判定条件是(R1∩R2)→R1或(80.B解析:缓冲区由DBMS管理。81.B解析:雪花模式维度表规范化(有层级),星型模式维度表反范式化(扁平)。82.C解析:冲突操作:读写、写读、写写。读读不冲突。83.A解析:TRUNCATE是DDL,隐式提交,不可回滚。DELETE是DML,可回滚。84.A解析:自然连接去掉重复列。{A,B,C}∪{D}={A,B,C,D}。85.B解析:强制存取控制基于安全级和标签。下午试题参考答案与解析试题一【问题1】E-R图如下:实体:客户、商品、类别、供应商、订单。联系:客户--(1:n)--下单--(1:1)--订单订单--(1:n)--包含--(m:n)--商品(注:通常明细是联系,但题目中“订单包含商品”是m:n,因为订单有多个商品,商品在多个订单。联系“包含”的属性:数量、单价)商品--(n:1)--归属--(1:m)--类别商品--(n:1)--供应--(1:m)--供应商【问题2】1.客户(客户号,姓名,地址,电话)主码:客户号2.商品(商品号,名称,库存量,类别号,供应商号)主码:商品号外码:类别号,供应商号3.类别(类别号,类别名称)主码:类别号4.供应商(供应商号,供应商名称,地址)主码:供应商号5.订单(订单号,客户号,下单日期,总金额)主码:订单号外码:客户号6.订单明细(订单号,商品号,数量,单价)主码:(订单号,商品号)外码:订单号,商品号【问题3】“单价”是订单明细关系的非主属性。存在更新异常。因为“单价”依赖于(订单号,商品号),但在实际业务中,同一商品在同一时刻的单价应该是固定的,或者不同订单价格不同。如果单价不仅依赖于商品,还依赖于订单(如促销),则属于完全依赖,无异常。分析:在订单明细中,(订单号,商品号)是主码。单价是当时的价格,完全依赖于主码。因此,该模式属于BCNF(假设单价只由订单和商品决定)。不存在部分依赖和传递依赖。但是,如果题目隐含“单价”应该只由“商品号”决定(商品当前价格),那这里存在数据冗余和更新异常。但题目明确是“当时的单价”,意味着不同订单可能价格不同,所以单价必须由订单和商品共同决定。结论:该模式不存在插入、删除、更新异常(相对于3NF/BCNF而言)。注:如果硬要找问题,可能在于“单价”在商品表中也有“当前价格”,导致数据冗余。但在订单明细中存“历史单价”是正确的反范式设计。答案倾向于:无异常(或解释原因)。试题二【问题1】```sqlSELECT书名,作者FROM图书WHERE出版社='清华大学'AND价格BETWEEN50AND100;```【问题2】```sqlSELECT姓名,COUNT(*)AS借阅数量FROM读者RJOIN借阅BONR.读者号=B.读者号WHEREYEAR(借阅日期)=2024GROUPBYR.读者号,姓名HAVINGCOUNT(*)>5;```【问题3】```sqlSELECTR.姓名FROM读者RJOIN借阅BONR.读者号=B.读者号JOIN图书TONB.书号=T.书号WHERET.书名='数据库系统教程'ANDB.归还日期ISNULL;```【问题4】```sqlCREATEVIEWV_OverdueASSELECTR.读者号,R.姓名,B.书号,T.书名,B.借阅日期FROM读者R,借阅B,图书TWHERER.读者号=B.读者号ANDB.书号=T.书号ANDB.归还日期ISNULLANDDATEDIFF(day,B.借阅日期,GETDATE())>30;注:日期函数因数据库而异,SQLServer用GETDATE()和DATEDIFF,MySQL用CURDATE()和DATEDIFF。```试题三【问题1】S1:T1:A=900,Write(A)T2:B=800,Write(B)T1:Read(B)=800,B=900,Write(B)T2:Read(A)=900,A=1100,Write(A)结果:A=1100,B=900。验证:初始A=1000,B=1000。T1:A-100,B+100。T2:B-200,A+200。最终A=1000-100+200=1100,B=1000+100-200=900。结果正确。S2:T1:Read(A)=1000T2:Read(B)=1000T1:A=900,Write(A)->A=900T2:B=800,Write(B)->B=800T1:Read(B)=800,B=900,Write(B)->B=900T2:Read(A)=900,A=1100,Write(A)->A=1100结果:A=1100,B=900。结果也正确。【问题2】冲突可串行化判定:通过交换无冲突的操作,看能否转化为串行调度。S1和S2的执行结果都等于串行调度T1->T2或T2->T1。具体分析:S1:T1:R(A)W(A)R(B)W(B);T2:R(B)W(B)R(A)W(A)。冲突对:T1W(A)与T2R(A)冲突;T1R(B)与T2W(B)冲突;T1W(B)与T2R(B)冲突。构造优先图:T1->

温馨提示

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

评论

0/150

提交评论