2025年计算机等级考试三级(数据库技术)试卷及答案_第1页
2025年计算机等级考试三级(数据库技术)试卷及答案_第2页
2025年计算机等级考试三级(数据库技术)试卷及答案_第3页
2025年计算机等级考试三级(数据库技术)试卷及答案_第4页
2025年计算机等级考试三级(数据库技术)试卷及答案_第5页
已阅读5页,还剩22页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2025年计算机等级考试三级(数据库技术)试卷及答案一、单选题(每题1分,共40分。每题只有一个正确答案,错选、多选、未选均不得分)1.在关系模式R(U,F)中,U={A,B,C,D,E},F={AB→C,C→D,D→E},则属性集{AB}的闭包是A.{A,B} B.{A,B,C} C.{A,B,C,D} D.{A,B,C,D,E}答案:D解析:由AB→C得C;由C→D得D;由D→E得E,故闭包为全属性。2.下列关于两段锁协议(2PL)的叙述,错误的是A.所有事务必须分两个阶段获得和释放锁B.遵守2PL的并发调度一定是可串行化的C.2PL可以避免死锁D.2PL仍可能出现级联回滚答案:C解析:2PL只保证可串行化,不保证无死锁;死锁需额外机制如等待图检测。3.在MySQL8.0中,执行语句`SELECTFROMtWHEREcol>'$.name'='Tom';`时,col字段必须声明为A.TEXT B.JSON C.VARCHAR(1000) D.BLOB答案:B解析:只有JSON类型才能用→操作符直接解析路径。4.设关系R(A,B)有1000个元组,S(B,C)有2000个元组,B为外键,则R⋈S结果最大可能元组数为A.1000 B.2000 C.1000×2000 D.无法确定答案:B解析:外键约束保证R.B⊆S.B,故最多与S全部2000行匹配,但R只有1000行,故最大1000;题问“最大可能”,若R.B全部重复且等于S.B的同一值,则结果仍为1000;但极端情况下若R.B值全部落在S.B的同一值,则结果1000;若R.B值全部不同且均出现在S.B,则结果1000;故最大1000。但选项无1000,重新审题:若R.B无重复,S.B无重复,则结果1000;若R.B有重复,S.B有重复,则结果可能超过1000;极端情况R.B全部相同且S.B也全部相同,则结果1000×2000;但外键要求R.B⊆S.B,故R.B取值范围⊆S.B,因此结果元组数≤1000×2000,但受R.B重复度限制,理论最大为1000×2000,故选C。答案修正:C解析:外键只约束引用完整性,不限制重复,故最坏笛卡儿积1000×2000。5.在PostgreSQL中,对分区表measurement按logdate做范围分区,若插入logdate='20250615',但无对应分区,系统将A.自动创建新分区 B.报错 C.写入默认分区 D.写入第一个分区答案:B解析:未开启自动分区时,无匹配分区则报错。6.关于B+树索引,下列说法正确的是A.所有关键字仅出现在叶节点B.非叶节点存储记录指针C.叶节点之间无序D.支持顺序检索但不支持随机检索答案:A解析:B+树非叶节点仅起索引作用,关键字全部副本在叶节点,叶节点有序且链表连接。7.在Oracle中,执行`FLASHBACKTABLEempTOTIMESTAMPSYSTIMESTAMP1/24;`需具备A.FLASHBACKANYTABLE权限 B.表上启用ROWMOVEMENT C.回收站开启 D.需同时具备A与B答案:D解析:闪回表需权限及ROWMOVEMENT,回收站针对DROP,不针对闪回表。8.设事务T1读A,T2写A,T3写B,若调度S=R1(A)W2(A)W3(B)C1C2C3,则S属于A.冲突可串行化 B.视图可串行化 C.不可串行化 D.以上都不是答案:A解析:冲突序T1→T2,T3与T1、T2无冲突,等价串行序T1T2T3。9.在分布式数据库中,采用“主副本+多数派协议”的并发控制方法,其容错节点数为A.f≤2f B.f≤f+1 C.可容忍f=⌊(N−1)/2⌋ D.可容忍任意f答案:C解析:多数派写需N≥2f+1,故f=⌊(N−1)/2⌋。10.在MongoDB副本集中,客户端设置writeConcern为{w:"majority",j:true},其含义为A.写入主节点内存即返回 B.写入主节点并持久化即返回 C.写入多数节点内存即返回 D.写入多数节点且日志持久化才返回答案:D解析:j=true要求日志刷盘,w=majority要求多数节点确认。11.在SQLServer中,使用列存储索引的表执行UPDATE时,系统会A.直接原地修改列存 B.删除旧行插入新行 C.转入deltastore D.报错答案:C解析:列存表更新先写入deltastore,后由tuplemover合并。12.关于函数依赖集的最小覆盖,下列步骤正确顺序是①消除左部冗余属性 ②合并右部相同左部 ③消除冗余函数依赖A.①②③ B.③①② C.②①③ D.①③②答案:D解析:先拆右部为单属性,再①去左冗余,③去冗余FD,②合并。13.在Redis中,执行`WATCHbalance;MULTI;DECRBYbalance100;EXEC;`时,若balance被其他客户端修改,则A.EXEC返回nil B.EXEC返回QUEUED C.事务继续执行 D.返回错误答案:A解析:WATCH乐观锁,若键被改,EXEC返回nil,事务取消。14.在TiDB中,事务采用Percolator模型,其提交协议本质是A.2PC B.3PC C.1PC D.Paxos答案:A解析:Percolator为基于2PC的乐观并发控制。15.在关系代数中,σθ(R⋈S)与(σθ1(R))⋈(σθ2(S))等价,必须满足A.θ仅涉及R属性 B.θ仅涉及S属性 C.θ1∧θ2=θ且θ仅涉及R或S D.任何θ均可答案:C解析:选择下推需θ可分解为R侧与S侧条件。16.在MySQLInnoDB中,参数innodb_flush_log_at_trx_commit=2表示A.每次提交刷盘 B.每秒刷盘,提交仅写OSbuffer C.不刷盘 D.每N次提交刷盘答案:B解析:值为2时,日志写OSbuffer,每秒刷盘一次,可能丢1秒事务。17.在数据仓库中,星型模式与雪花模式主要区别是A.是否含时间维度 B.维度表是否规范化 C.是否含事实表 D.是否支持聚集答案:B解析:雪花对维度再规范化。18.在PostgreSQL中,创建索引语句`CREATEINDEXCONCURRENTLYidxONtbl(col);`会A.阻塞读写 B.仅阻塞写 C.不阻塞读写 D.需独占锁答案:C解析:CONCURRENTLY用两次扫描+会话级锁,不阻塞DML。19.在Oracle中,段空间管理采用ASSM,其位图块位于A.数据字典 B.段头 C.位图块独立区间 D.撤销表空间答案:C解析:ASSM使用位图区间管理freespace。20.在SQL中,下列关于窗口函数RANK()与DENSE_RANK()说法正确的是A.并列后RANK跳号,DENSE_RANK不跳 B.二者均不跳号 C.二者均跳号 D.RANK不跳,DENSE_RANK跳答案:A解析:RANK遇并列后跳号,DENSE_RANK连续。21.在分布式CAP理论中,当网络分区发生时,HBase选择A.牺牲可用性 B.牺牲一致性 C.牺牲分区容忍性 D.同时保证CA答案:A解析:HBase基于HDFS,强一致,分区时拒写,牺牲可用性。22.在MySQL中,执行计划出现“Usingfilesort”表示A.使用磁盘临时文件排序 B.使用索引排序 C.使用内存排序 D.使用覆盖索引答案:A解析:filesort指额外排序步骤,可能在内存或磁盘。23.在数据库恢复中,ARIES算法中CLR记录的作用是A.补偿日志,用于回滚 B.记录检查点 C.记录redo D.记录undo答案:A解析:CLR为CompensationLogRecord,用于回滚已提交事务的未刷新脏页。24.在MongoDB中,对数组字段tags建立多键索引,下列查询能使用索引的是A.db.col.find({tags:{$size:3}}) B.db.col.find({tags:"db"}) C.db.col.find({tags:{$all:["db","cache"]}}) D.B与C均可答案:D解析:多键索引支持等值与$all,不支持$size。25.在Oracle中,使用DBMS_REDEFINITION在线重定义表时,需创建A.物化视图日志 B.临时表 C.中间表 D.索引组织表答案:C解析:需创建中间表结构,同步数据后切换。26.在PostgreSQL中,VACUUMFULL对表的影响是A.仅回收空间 B.重组数据并释放空间 C.不锁表 D.仅更新统计信息答案:B解析:VACUUMFULL重写表,释放空间,需排他锁。27.在SQL中,下列关于可重复读隔离级别现象说法正确的是A.允许幻读 B.允许不可重复读 C.允许脏读 D.不允许幻读答案:A解析:可重复读仅保证读一致快照,幻读仍可能。28.在TiDB中,当事务冲突严重,系统会自动A.回滚并返回重试 B.阻塞等待 C.转为悲观锁 D.报错答案:C解析:TiDB3.0+支持悲观锁,冲突大可自动切换。29.在RedisCluster中,键“user:1001”通过CRC16计算槽位,其槽位区间为A.0−4095 B.0−16383 C.0−65535 D.0−255答案:B解析:RedisCluster共16384槽。30.在MySQL8.0中,使用EXPLAINFORMAT=JSON可获取A.优化器成本信息 B.仅执行顺序 C.仅索引使用 D.仅表名答案:A解析:JSON格式含cost、rows、filtered等详细代价。31.在Oracle中,索引组织表(IOT)的溢出段用于存储A.非键列 B.键列 C.行头 D.索引分支答案:A解析:IOT长行非键列存入溢出段。32.在SQLServer中,列存索引的压缩方式默认采用A.ROW B.PAGE C.COLUMNSTORE D.COLUMNSTORE_ARCHIVE答案:C解析:列存默认COLUMNSTORE压缩,ARCHIVE需显式。33.在MongoDB中,分片键选择单调递增的ObjectId会导致A.写放大 B.读热点 C.写热点 D.无影响答案:C解析:单调键使新文档集中到最后一个chunk,写热点。34.在PostgreSQL中,使用pgbench测试时,选项`Mprepared`表示A.使用简单协议 B.使用扩展协议 C.使用预处理语句 D.使用复制协议答案:C解析:prepared即服务端预处理。35.在MySQL中,innodb_buffer_pool_size设置为系统内存的80%,但实例为8G,OS仅2G,则启动会A.自动下调 B.报错退出 C.使用swap D.无影响答案:B解析:InnoDB启动检查可用内存,不足则失败。36.在Oracle中,使用ASM磁盘组,FAILGROUP的作用是A.镜像副本 B.故障隔离单元 C.条带单元 D.缓存分区答案:B解析:FAILGROUP用于镜像失败隔离。37.在Redis中,执行`GEOADDcities116.439.9beijing`后,内部采用A.Geohash B.跳表 C.哈希表 D.压缩列表答案:A解析:RedisGeo基于zset,score为geohash。38.在SQL中,下列关于CTE递归查询说法正确的是A.必须指定MAXRECURSION B.可无限递归 C.必须含UNIONALL D.不能自引用答案:C解析:递归CTE需UNIONALL连接锚点与递归部分。39.在MySQL中,执行`SHOWENGINEINNODBSTATUS`输出中,SECTION“LATESTDETECTEDDEADLOCK”用于A.查看最近死锁信息 B.查看锁等待 C.查看事务列表 D.查看缓冲池答案:A解析:该段打印最近死锁细节。40.在PostgreSQL中,参数shared_buffers建议设置为A.10%RAM B.25%RAM C.80%RAM D.50%RAM答案:B解析:官方建议25%,与OS缓存协同。二、多选题(每题2分,共20分。每题至少两个正确答案,多选少选均不得分)41.下列关于MySQLInnoDB行格式的描述,正确的有A.DYNAMIC可存储长字段偏移 B.COMPACT存储变长长度列表 C.COMPRESSED支持页级压缩 D.REDUNDANT为老格式 E.行格式可在线修改答案:ABCD解析:E需重建表,非在线。42.在分布式事务中,XA接口的角色包括A.应用程序 B.事务管理器 C.资源管理器 D.通信管理器 E.日志管理器答案:ABC解析:XA规范定义AP、TM、RM。43.在Oracle中,使用RMAN可实现A.增量备份 B.块级恢复 C.跨平台恢复 D.压缩备份 E.逻辑导出答案:ABCD解析:E为DataPump,非RMAN。44.在PostgreSQL中,下列哪些操作会触发WAL写A.INSERT B.SELECT C.UPDATE D.CREATEINDEX E.VACUUM答案:ACD解析:SELECT不修改数据,VACUUM可能产生WAL但非必须,CREATEINDEX记录WAL。45.在MongoDB中,以下哪些索引类型支持A.单字段 B.复合 C.多键 D.文本 E.哈希答案:ABCDE解析:均支持。46.在SQLServer中,AlwaysOn可用性组支持A.同步提交 B.异步提交 C.自动故障转移 D.可读副本 E.无共享存储答案:ABCDE解析:AlwaysOn无需共享存储。47.在MySQL中,下列哪些语句会隐式提交事务A.STARTTRANSACTION B.CREATETABLE C.GRANT D.TRUNCATE E.SELECT答案:BCD解析:DDL隐式提交。48.在Redis中,下列哪些数据结构支持原子递增A.STRING B.HASH C.LIST D.SET E.ZSET答案:AB解析:INCR/HLINCRBY支持。49.在TiDB中,TiKV采用的Raft协议提供A.强一致 B.最终一致 C.线性一致 D.顺序一致 E.因果一致答案:AC解析:Raft保证线性一致。50.在数据仓库中,缓慢变化维SCD类型包括A.类型0 B.类型1 C.类型2 D.类型3 E.类型4答案:ABCD解析:类型4为快速变化维,非经典SCD。三、填空题(每空2分,共20分)51.在MySQLInnoDB中,默认隔离级别为________。答案:REPEATABLEREAD52.在PostgreSQL中,查看当前连接数的系统视图为________。答案:pg_stat_activity53.在Oracle中,系统全局区SGA的组件________用于缓存数据块。答案:DatabaseBufferCache54.在MongoDB中,分片集群的路由进程名称为________。答案:mongos55.在Redis中,列表结构底层实现为________与________两种编码。答案:ziplist、linkedlist(或quicklist)56.在分布式系统中,________定理指出一致性、可用性、分区容忍性三者不可同时满足。答案:CAP57.在SQL中,窗口函数LAG(col,1)用于获取当前行________行的col值。答案:前一58.在TiDB中,事务的乐观锁在________阶段检测冲突。答案:提交(prewrite)59.在MySQL中,InnoDB表空间文件默认名称________。答案:ibdata1(系统表空间)或.ibd(独立表空间)60.在PostgreSQL中,实现物理复制的默认流复制协议基于________复制槽。答案:WAL四、判断题(每题1分,共10分。正确打“√”,错误打“×”)61.在MySQL中,InnoDB支持哈希索引。答案:×解析:InnoDB仅自适应哈希,用户不可显式创建。62.在Oracle中,索引可以存储NULL值。答案:√解析:B树索引全NULL不存储,但部分NULL可存。63.在MongoDB中,副本集选举需要多数节点存活。答案:√64.在Redis中,事务执行失败会回滚已执行命令。答案:×解析:Redis无回滚,继续执行。65.在SQL标准中,SERIALIZABLE隔离级别允许幻读。答案:×解析:不允许任何异常。66.在PostgreSQL中,VACUUM可回收死元组空间。答案:√67.在MySQL中,TEXT字段可创建普通索引。答案:√解析:需指定前缀长度。68.在TiDB中,TiFlash是行存副本。答案:×解析:TiFlash为列存。69.在Oracle中,表空间可以跨数据库共享。答案:×解析:表空间属单库。70.在数据仓库中,事实表通常比维度表大。答案:√五、简答题(每题5分,共30分)71.简述MySQLInnoDB中聚簇索引与非聚簇索引的区别。答案:聚簇索引将主键与数据行存储在一起,叶节点即数据页;非聚簇索引(二级索引)叶节点存储主键值,需回表查询;聚簇索引唯一,按主键排序;二级索引可多个,需额外IO回表。72.说明Oracle中Redo与Undo的作用及区别。答案:Redo记录数据修改后的值,用于前滚恢复,保证持久性;Undo记录修改前的值,用于回滚事务、构造一致性读,保证隔离性;Redo日志循环写,Undo表空间可重用;Redo用于崩溃恢复,Undo用于事务回滚与读一致。73.描述MongoDB分片键选择原则。答案:分片键需高基数、高频查询、写分布均匀;避免单调递增;复合键可优化范围查询;不可更改;需考虑热点与chunk迁移平衡。74.解释PostgreSQL中MVCC如何实现可重复读。答案:事务启动时获取快照,记录xmin/xmax;读取时可见性判断:元组xmin<快照xmin且已提交,xmax不可见;快照隔离保证同一事务多次读一致;无幻读通过快照过滤。75.说明Redis持久化RDB与AOF优缺点。答案:RDB快照紧凑,恢复快,但可能丢数据;AOF实时追加,数据更完整,但文件大、恢复慢;混合持久化结合二者优点;RDB适合备份,AOF适合低丢失场景。76.简述TiDB的SQL层与TiKV层如何协同处理事务。答案:SQL层解析SQL生成执行计划,事务层获取TSO时间戳,乐观锁下缓存写操作,提交时prewrite写锁与数据到TiKV,TiKV使用Raft同步日志,全部成功后commit记录,SQL层返回客户端。六、综合应用题(共30分)77.某电商系统采用MySQL8.0,订单表orders(order_id,user_id,status,amount,create_time)数据量5亿行,需支持按user_id范围查询及按create_time排序分页。现有索引idx_user(user_id),查询`SELECTFROMordersWHEREuser_idBETWEEN1000AND2000ORDERBYcreate_timeDESCLIMIT10;`耗时3秒。(1)分析性能瓶颈原因(3分)(2)设计最优索引并给出创建语句(4分)(3)说明覆盖索引能否实现及如何改写SQL(3分)答案:(1)原因:idx_user仅过滤user_id,回表后需额外排序,5亿行数据量大,回表+filesort耗时。(2)创建复合索引:CREATEINDEXidx_user_timeONorders(user_id,create_timeDESC);使范围扫描+有序,避免排序。(3)覆盖索引需包含查询列,但SELECT含所有列,无法覆盖;可改写为SELECTorder_idFROMordersWHEREuser_idBETWEEN1000AND2000OR

温馨提示

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

评论

0/150

提交评论