版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年数据库原理与应用考试试题及答案一、单项选择题(每题2分,共20分)1.在关系数据库中,若属性集X能唯一确定属性集Y,且X的任何真子集都不能唯一确定Y,则称X对Y的函数依赖具有A.自反性 B.增广性 C.最小性 D.传递性答案:C解析:最小性要求决定因素无冗余属性,即X的任何真子集都不能函数决定Y。2.某事务T对数据项Q执行了SHARED锁,随后事务T又尝试对Q加EXCLUSIVE锁,系统将A.立即授予 B.阻塞等待 C.回滚T D.升级为共享锁答案:B解析:共享锁与排他锁冲突,T需等待其他事务释放共享锁。3.在分布式数据库中,采用“主副本+多从副本”策略,若主副本失效,最合理的恢复机制是A.任意从副本直接升主 B.基于Paxos选主 C.暂停服务人工切换 D.回滚所有副本答案:B解析:Paxos保证分布式一致性,可自动选出新主副本。4.下列SQL语句中,一定会触发索引范围扫描的是A.SELECTFROMRWHEREpk=5;B.SELECTFROMRWHEREaLIKE'%abc';C.SELECTFROMRWHEREaBETWEEN10AND20;D.SELECTFROMRWHEREa+1=10;答案:C解析:BETWEEN给出连续范围,优化器倾向使用索引范围扫描;LIKE前缀通配导致全表扫描;表达式计算导致索引失效。5.在PostgreSQL中,对分区表执行UPDATE导致记录跨分区移动,系统内部实际执行的操作顺序是A.DELETE原分区+INSERT新分区 B.直接UPDATE分区键 C.拒绝更新 D.触发器重写答案:A解析:跨分区移动被拆分为删除旧元组、插入新元组,以保证分区约束。6.若关系模式R(A,B,C,D)满足函数依赖集F={AB→C,C→D,D→A},则R的候选键为A.AB B.BC C.BD D.ABC答案:A解析:AB的闭包ABCD,且AB最小,故为候选键。7.在MongoDB副本集中,写关注级别w:"majority"的含义是A.写入主节点即返回 B.写入大多数节点后返回 C.写入全部节点后返回 D.写入磁盘后返回答案:B解析:majority保证写入被复制到多数节点,防止回滚。8.在MySQLInnoDB中,若隔离级别为REPEATABLEREAD,事务T1首次读取范围[10,20],随后T2插入15并提交,T1再次读取该范围,结果集A.出现幻读 B.不变 C.报错 D.阻塞答案:B解析:RR通过MVCC快照保证可重复读,InnoDB在此级别下使用间隙锁抑制幻读。9.在基于代价的优化器中,选择度(selectivity)最准确的统计信息来源是A.表行数 B.直方图 C.索引深度 D.块数答案:B解析:直方图记录列值分布,可精确估算选择度。10.在Redis中执行MULTI;INCRa;INCRb;EXEC,若EXEC失败,则A.a、b均回滚 B.a回滚、b不回滚 C.不回滚 D.只回滚失败命令答案:A解析:Redis事务为原子批量执行,EXEC失败整体丢弃。二、多项选择题(每题3分,共15分)11.关于两阶段提交(2PC),下列说法正确的有A.存在阻塞问题 B.需要协调者 C.所有参与者必须持久化日志 D.可解决网络分区 E.属于一致性协议答案:ABCE解析:2PC无法解决网络分区导致的脑裂,需3PC或Paxos改进。12.下列哪些技术可用于实现数据库水平分片后的全局唯一主键A.Snowflake算法 B.UUID C.数据库自增 D.分片号+本地自增 E.RedisINCR答案:ABDE解析:自增在分片后易冲突,需全局唯一策略。13.在Oracle中,能够触发索引跳跃式扫描(IndexSkipScan)的场景包括A.复合索引(性别,年龄)且查询条件只有年龄 B.复合索引(年龄,性别)且查询条件只有性别 C.单键索引 D.查询使用函数索引 E.低基数前导列答案:BE解析:前导列基数低时,优化器可跳跃到不同前导值,再按第二列过滤。14.关于PostgreSQL的MVCC,下列描述正确的有A.更新操作实际插入新元组 B.删除标记为dead C.事务ID回卷需冻结 D.读不阻塞写 E.使用undo段答案:ABCD解析:PG不采用undo,而是原址标记,通过vacuum回收空间。15.在MySQL8.0中,支持的原子DDL特性包括A.元数据与数据原子提交 B.崩溃恢复时回滚DDL C.binlog与redo一致 D.外键检查延迟 E.表空间加密答案:ABC解析:原子DDL通过重做日志与binlog协调,保证crash-safe。三、判断题(每题1分,共10分)16.在关系代数中,选择运算与投影运算满足交换律。答案:错误解析:选择对投影可交换需满足条件属性包含于投影属性。17.任何满足BCNF的关系模式必然满足3NF。答案:正确解析:BCNF比3NF更严格,故必然成立。18.在Raft算法中,Leader选举需要获得“大多数”投票,包括自己。答案:正确解析:候选节点给自己投一票,再收集多数节点。19.使用覆盖索引(CoveringIndex)可以避免回表,因此一定比非覆盖索引快。答案:错误解析:若索引宽度过大,I/O可能增加,需权衡。20.在SQLServer中,快照隔离级别使用tempdb存储行版本,因此tempdb压力大会导致性能下降。答案:正确解析:行版本存储于tempdb,资源竞争影响并发。21.在MongoDB中,分片键一旦选择便无法修改。答案:错误解析:4.2起支持refineShardKey,可扩展范围。22.在分布式系统中,CAP理论指出,发生网络分区时,系统必须在一致性与可用性之间二选一。答案:正确解析:分区容忍不可放弃,只能权衡C或A。23.在Oracle中,同一表的位图索引与B树索引可以同时存在。答案:正确解析:二者互补,适用于不同场景。24.在MySQL中,InnoDB的聚簇索引叶子节点存储整行数据,因此二级索引必须存储主键值。答案:正确解析:二级索引通过主键回表定位。25.在Redis中,List结构使用quicklist实现,结合了ziplist与linkedlist优点。答案:正确解析:quicklist分段ziplist,减少内存碎片。四、填空题(每空2分,共20分)26.在关系模式R(U,F)中,若U={A,B,C,D,E},F={AB→C,C→DE,D→A},则候选键的个数为________,其中最小候选键为________。答案:1;AB解析:AB闭包ABCDE,且AB最小。27.在PostgreSQL中,用于查看执行计划的命令是________,加上________选项可显示实际运行耗时。答案:EXPLAIN;ANALYZE28.在MySQL中,InnoDB的redo日志采用________方式写入,保证崩溃恢复;binlog采用________格式可实现行级复制。答案:WAL(Write-AheadLogging);ROW29.在分布式事务中,若采用Saga模式,补偿操作必须满足________性与________性。答案:幂等;可交换30.在MongoDB中,用于实现多点读取负载均衡的驱动特性称为________,其默认策略为________。答案:ReadPreference;primaryPreferred31.在Oracle中,________段用于存储临时排序数据,________池用于缓存数据字典。答案:TEMP;SHARED_POOL32.在Redis中,当string类型值大于________字节时,内部编码由int转为________。答案:44;embstr33.在SQL标准中,隔离级别________可防止脏读,________可防止不可重复读。答案:READCOMMITTED;REPEATABLEREAD34.在分布式数据库Spanner中,TrueTimeAPI通过________和________两个物理时钟偏差参数实现外部一致性。答案:ε;uncertainty35.在MySQL8.0的CTE递归查询中,关键字________用于定义初始成员,________用于定义递归成员。答案:UNION;UNIONALL五、简答题(每题8分,共24分)36.描述InnoDB的插入缓冲(ChangeBuffer)机制,并说明其适用场景与限制。答案:插入缓冲是InnoDB对非唯一二级索引页的延迟写入优化。当缓冲池中没有对应索引页时,系统先将修改操作缓存到changebuffer,后续页被读入时再合并。适用场景:写多读少、二级索引非唯一、磁盘随机I/O瓶颈明显。限制:唯一索引无法使用(需立即检查唯一性),内存占用受innodb_change_buffer_max_size控制,崩溃恢复需通过redo重放保证一致性。37.对比Raft与Paxos在工程实现上的差异,并说明Raft如何简化理解。答案:Paxos仅描述单日志项共识,缺乏多日志、成员变更等细节,工程实现需补充,导致复杂。Raft将问题分解为Leader选举、日志复制、安全性三个子问题,并引入任期号、日志匹配、心跳机制,强制日志连续性,简化日志恢复。Raft还明确成员变更算法(JointConsensus),避免Paxos的复杂状态机快照。通过增加约束(如只允许Leader追加日志),Raft牺牲少量性能换取可理解性与实现简洁。38.解释PostgreSQL的VACUUM机制,并说明其与MySQLInnoDB的purge操作异同。答案:PG的VACUUM负责回收旧元组、冻结事务ID、更新统计信息、维护可见性映射。其MVCC产生deadtuple,需定期清理防止膨胀。MySQLInnoDB的purge线程负责清理被标记删除的undo页、回收rollbacksegment。二者均回收旧版本,但PG在原表空间原地清理,InnoDB通过undo表空间回滚段管理;PG需手动或autovacuum触发,InnoDBpurge由后台线程持续进行;PG冻结TXID防止回卷,InnoDB通过undo编号循环使用。六、综合设计题(共31分)39.某电商平台订单表orders(order_id,user_id,merchant_id,amount,status,create_time,update_time)日增量千万级,需支持多维查询:(1)用户查看自己订单列表,按create_time倒序分页;(2)商家按status+create_time范围查询;(3)后台按amount区间统计。请给出分布式MySQL环境下的分片方案、索引设计、一致性策略,并评估数据倾斜风险与扩容方案。(15分)答案:分片方案:采用用户维度分片,以user_id哈希取模1024,保证用户维度查询单分片命中;商家查询需广播,可引入异构索引表,以merchant_id为分片键异步同步。索引设计:主键order_id全局唯一,使用Snowflake;分片表本地二级索引(create_time)用于用户分页;异构索引表二级索引(status,create_time)用于商家查询;统计查询引入列存副本,使用TiFlash或ClickHouse同步。一致性策略:订单创建使用分布式事务,TCC模式,try阶段预扣库存,confirm阶段写订单,cancel阶段释放库存;异构索引采用消息队列最终一致,允许秒级延迟。数据倾斜风险:大V用户订单集中,可引入子分片,按order_id范围再拆分;监控分片容量,达80%触发子分片。扩容方案:采用一致性哈希环,新增分片时迁移最小单位桶,双写同步后切换,凌晨低峰期操作,预计30分钟完成。40.设计一个高并发库存扣减系统,要求支持秒杀场景下10万QPS,库存精确不超限,并保证数据库高可用。请给出架构图、SQL实现、乐观锁与悲观锁对比、Redis与数据库一致性方案。(16分)答案:架构:采用分层架构,网关层限流→Redis集群预扣库存→消息队列削峰→MySQL集群持久化。Redis存库存余量与订单去重集合,使用Lua脚本保证原子性:local
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GA/T 2347-2025信息安全技术网络安全等级保护云计算测评指引
- 注册会计师税法中个人所得税法应纳税所得额专项扣除专项附加扣除的计算方法
- 浙教版小学信息科技四年级下册每课教学反思
- 2026河北保定交通发展集团有限公司招聘27人备考题库及答案详解【名师系列】
- 2026陕西西安临潼博仁医院招聘11人备考题库及参考答案详解(综合题)
- 2026黎明职业大学招聘编制内博士研究生学历学位教师24人备考题库(福建)附参考答案详解ab卷
- 2026湖南永州市江永县城乡农贸市场服务有限公司招聘5人备考题库(第二次)附参考答案详解(a卷)
- 2026广西百色市平果市气象局城镇公益性岗位人员招聘1人备考题库附参考答案详解(夺分金卷)
- 2026中共北京市丰台区委党校面向应届毕业生招聘2人备考题库附参考答案详解(夺分金卷)
- 2026陕西西安交通大学教务处文员招聘1人备考题库附参考答案详解(a卷)
- 儿童发热全程管理专家共识2026
- 2026年天津市和平区高三下学期一模语文试卷和答案
- 2026年冀教版(新版)三年级下册数学全册教案(完整版)教学设计含教学-新版
- 2025-2030档案管理行业现状调研与发展方向研究报告
- 妇产科面试题目及答案
- 2026年1月浙江省高考(首考)历史试题(含答案)
- 鞋厂介绍教学课件
- 雀斑激光治疗课件
- 铁死亡课件教学课件
- 剑突下纵隔肿瘤切除术
- 补钙补维生素课件
评论
0/150
提交评论