版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年数据库工程师(软考中级)真题及答案1.计算机完成一条指令的过程分为取指、分析、执行三个阶段,若指令流水线分为取指(Δt=2ns)、译码(Δt=1ns)、执行(Δt=3ns)三个阶段,则流水线周期为(1)ns,连续执行10条指令的吞吐率约为(2)条/ns。(1)A.2B.3C.6D.4(2)A.2.29B.0.29C.3.29D.1.293.下列关于关系模型中实体完整性约束的描述,正确的是(3)。A.实体完整性要求外码不能取空值B.实体完整性要求主属性不能取空值C.实体完整性主要用来保证不同实体之间数据一致D.实体完整性由DBMS通过参照完整性机制实现4.在计算机网络OSI七层模型中,负责路由选择的层次是(4)。A.物理层B.数据链路层C.网络层D.传输层5.以下属于非对称加密算法的是(5)。A.AESB.DESC.RSAD.IDEA6.栈是一种后进先出的线性结构,若元素入栈顺序为1、2、3、4,不可能得到的出栈序列是(6)。A.1234B.4321C.2413D.34217.将一个10阶对称矩阵压缩存储到一维数组中(矩阵元素从下标0开始存储,只存储下三角部分),则矩阵中元素a[8][5]对应一维数组的下标为(7)。A.20B.36C.41D.488.一棵二叉树的前序遍历序列为ABDGCFK,中序遍历序列为DGBAFCK,则该二叉树的后序遍历序列为(8)。A.ABDGCFKB.GDBFKCAC.KFCDGABD.DBGACFK9.下列排序算法中,最坏时间复杂度最低的是(9)。A.冒泡排序B.快速排序C.希尔排序D.归并排序10.给定关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→E},则R的候选键为(10),R最高满足(11)。(10)A.AB.BC.CD.AB(11)A.1NFB.2NFC.3NFD.BCNF12.下列SQL语句中,属于数据控制语言(DCL)的是(12)。A.CREATEB.GRANTC.SELECTD.UPDATE13.若有关系R(A,B,C)和S(C,D,E),则关系代数表达式πA,R.C,S.D(R⨝S)与下列哪个SQL语句等价(13)。A.SELECTA,C,DFROMR,SWHERER.C=S.CB.SELECTA,R.C,DFROMR,SWHERER.C=S.CC.SELECTA,R.C,S.DFROMR,SWHERER.C=S.CD.SELECTA,C,S.DFROMR,SWHERER.C=S.C14.事务提交之后,其对数据库的修改永久保存在数据库中,这体现了事务的(14)。A.原子性B.一致性C.隔离性D.持久性15.阿里云RDS、腾讯云CDB这类全托管云数据库服务属于云计算服务模型中的(15)。A.IaaSB.PaaSC.SaaSD.FaaS16.分布式数据库中,分片透明性位于(16)之间。A.全局概念模式与分片模式B.分片模式与分配模式C.全局应用程序与全局概念模式D.分配模式与局部概念模式17.判断死锁发生的必要条件是四个,下列不属于死锁必要条件的是(17)。A.互斥条件B.请求和保持条件C.不剥夺条件D.环路等待条件E.不可分段条件18.事务的哪个性质保证了多个事务并发执行时,一个事务的执行不干扰其他事务的执行(18)。A.原子性B.一致性C.隔离性D.持久性19.数据库系统中,数据物理结构改变不影响逻辑结构,这称为(19)。A.物理独立性B.逻辑独立性C.一致性D.完整性20.下列关于B+树索引的描述,错误的是(20)。A.B+树所有叶子节点之间都有指针相连,适合范围查询B.B+树所有关键字都存储在叶子节点,非叶子节点是索引部分C.B+树相比于B树,插入删除操作更稳定D.B+树的查找效率比B树更低,不适合做数据库索引21.下列MySQL存储引擎中,默认支持事务处理的是(21)。A.MyISAMB.InnoDBC.MemoryD.Archive22.下列关于JSON数据格式的描述,正确的是(22)。A.JSON是轻量级标记语言,语法比XML更冗余B.JSON不支持数组类型,只能存储键值对结构C.JSON格式可以被JavaScript直接解析,广泛用于前后端数据交互D.JSON不支持嵌套结构,无法存储复杂数据23.下列关于视图的描述,错误的是(23)。A.视图是虚拟表,不存储实际数据B.视图可以简化用户的查询操作C.视图可以提高数据的逻辑独立性D.所有视图都可以执行更新操作24.若要删除关系表中的所有数据,同时保留表结构,下列语句执行效率最高的是(24)。A.DROPTABLE表名B.DELETEFROM表名C.TRUNCATETABLE表名D.REMOVEFROM表名25.两阶段封锁协议中,第一阶段的特点是(25)。A.只获得锁,不释放锁B.只释放锁,不获得锁C.先获得锁再释放锁D.先释放锁再获得锁26.某查询语句过滤条件是WHEREageBETWEEN20AND30,在age字段建立B+树索引后,该查询可以利用索引定位范围数据,这属于(26)。A.全索引扫描B.范围查询C.索引连接D.唯一索引扫描27.数据库并发操作中,导致数据不一致性的根本原因是(27)。A.数据量过大B.并发操作带来的不同事务的相互干扰C.索引过多导致写入慢D.硬件故障28.下列权限中,属于数据库实例级权限的是(28)。A.创建表权限B.查询表权限C.创建用户权限D.修改列权限29.NoSQL数据库中,Redis属于哪种存储类型(29)。A.键值存储B.文档存储C.列存储D.图存储30.数据库慢查询日志的作用是(30)。A.记录所有执行错误的SQL语句B.记录所有执行时间超过阈值的SQL语句C.记录所有的查询语句D.记录所有慢用户的访问日志上午真题参考答案(1)B(2)B(3)B(4)C(5)C(6)C(7)C(8)B(9)D(10)A(11)B(12)B(13)C(14)D(15)B(16)C(17)E(18)C(19)A(20)D(21)B(22)C(23)D(24)C(25)A(26)B(27)B(28)C(29)A(30)B下午案例分析真题(共4题,满分75分)案例一(15分,数据库设计)某地方高校开发教材管理信息系统,经过需求分析得到如下信息:1.学校设有多个学院,每个学院有唯一的学院编号,学院包含学院名称、办公联系电话两个属性;每个学院下辖多个专业,每个专业只属于一个学院,专业包含专业编号、专业名称两个属性。2.每个专业招收多个班级,班级包含班级编号、班级名称、入学年份三个属性,一个班级只属于一个专业。3.每个学院有多名教师,一名教师只属于一个学院,教师包含教师编号、姓名、职称三个属性;一名教师可以讲授多门课程,一门课程可以由多名教师讲授。4.课程包含课程编号、课程名称、学分三个属性,每门课程对应选用一本教材,多门课程可以选用同一本教材。5.教材的唯一标识为ISBN编号,包含教材名称、作者、出版社、定价、出版年份五个属性;教材入库需要记录入库批次,每个批次包含批次编号、入库数量、入库时间、经办人信息。6.每学期开课的时候,每个班级每门课程需要统计预定教材的数量,用于统一采购。问题1(6分)根据上述需求,补充完善实体联系图中的联系和联系类型(本题隐含实体:学院、专业、班级、教师、课程、教材、入库批次)。问题2(6分)根据补充后的ER图,将逻辑结构设计阶段生成的关系模式补充完整,下划线标出主键,*标出外键:学院(____,学院名称,联系电话)专业(____,专业名称,____)教师(____,姓名,职称,____)课程(____,课程名称,学分,____)教材(ISBN,教材名称,作者,出版社,定价,出版年份)开课订购(____,订购数量)问题3(3分)若需求调整,要求支持一本教材由多名作者合著,一名作者可以参与编写多本教材,需要记录作者姓名、工作单位、联系电话信息,请给出调整后的关系模式。案例二(20分,SQL与并发控制)某零售电商的交易数据库有如下关系模式:用户表(user_id,username,phone,account_balance),主键:user_id商品表(goods_id,goods_name,price,stock_quantity),主键:goods_id订单表(order_id,user_id,create_time,total_amount,order_status),主键:order_id,外键:user_id参考用户表user_id订单明细表(order_id,goods_id,buy_quantity,subtotal),主键:(order_id,goods_id),外键:order_id参考订单表order_id,外键:goods_id参考商品表goods_id问题1(6分,每小题2分)完成下列SQL语句的编写:(1)查询2025年10月1日到2025年10月31日之间下单、订单总金额大于等于1000元的所有订单,输出用户名、订单编号、订单总金额,结果按总金额降序排序。(2)在订单表的create_time字段上创建普通索引,索引名称为idx_ordertime。(3)统计每个用户累计下单的总次数,输出用户编号和总次数,只输出下单次数大于5次的用户,结果按总次数降序排序。问题2(5分)请分别解释共享锁和排他锁的定义,若事务T1已经获取了数据项A的共享锁,此时事务T2分别请求A的共享锁和排他锁,分别说明T2的请求结果。问题3(9分)商品A当前库存为1,用户甲购买1件,用户乙同时购买1件,两个事务T甲、T乙的执行流程如下:T甲第一步:读取商品A的当前库存stock=1T乙第一步:读取商品A的当前库存stock=1T甲第二步:判断stock>=1,满足条件,计算新库存stock=1-1=0,更新商品A的库存为0,提交事务,订单创建成功。T乙第二步:判断stock>=1,满足条件,计算新库存stock=1-1=0,更新商品A的库存为0,提交事务,订单也创建成功。(1)上述并发执行过程中出现了哪一类并发问题,说明产生该问题的原因。(4分)(2)给出两种可以解决该问题的方法,分别简要说明实现原理。(5分)案例三(20分,数据库优化与运维)某互联网公司的订单表单表数据量已经超过5000万行,日常业务主要查询近3个月的订单,查询速度很慢,运维人员考虑对表进行分区优化。请回答下列问题:问题1(5分)说明什么是数据库分区表,分区表和分表的核心区别是什么。问题2(5分)结合本题的业务场景,说明适合采用哪种分区方式,说明理由。问题3(5分)解释索引覆盖的概念,举例说明索引覆盖如何优化查询性能。问题4(5分)说明数据库全量备份和增量备份各自的优缺点,以及适合的应用场景。案例四(20分,分布式数据库)某互联网公司用户规模突破1亿,原单体MySQL数据库无法承载高并发读写请求,决定拆分为分布式数据库架构。请回答下列问题:问题1(6分)解释数据库垂直拆分和水平拆分的定义,分别说明适用场景。问题2(6分)列举三种常见的水平分片策略,分别说明每种分片策略的优缺点。问题3(4分)说明分布式事务CAP定理中C、A、P三个属性分别的含义。问题4(4分)说明最终一致性的概念,列举两种适合采用最终一致性的业务场景。下午案例分析参考答案案例一参考答案问题1:补充的联系及类型如下:(1)学院与专业:一对多联系(1:n)(2)专业与班级:一对多联系(1:n)(3)学院与教师:一对多联系(1:n)(4)教师与课程:多对多联系(m:n)(5)课程与教材:多对一联系(n:1)(6)教材与入库批次:一对多联系(1:n)(7)班级与课程:多对多联系(m:n),订购数量为该联系的属性。(满分6分,每对正确得1分)问题2:补充后的关系模式如下:学院(<u>学院编号</u>,学院名称,联系电话)专业(<u>专业编号</u>,专业名称,*学院编号)教师(<u>教师编号</u>,姓名,职称,*学院编号)课程(<u>课程编号</u>,课程名称,学分,*ISBN)开课订购(<u>*班级编号</u>,<u>*课程编号</u>,订购数量)(满分6分,每个关系模式正确得1分)问题3:调整后的关系模式如下:删除原教材关系中的作者属性,新增:作者(<u>作者编号</u>,作者姓名,工作单位,联系电话)教材作者关联(<u>*ISBN</u>,<u>*作者编号</u>)(满分3分,结构正确即可得分)案例二参考答案问题1:参考SQL语句如下:(1)```sqlSELECTu.username,o.order_id,o.total_amountFROM用户uINNERJOIN订单oONu.user_id=o.user_idWHEREo.create_timeBETWEEN'2025-10-0100:00:00'AND'2025-10-3123:59:59'ANDo.total_amount>=1000ORDERBYo.total_amountDESC;```(2)```sqlCREATEINDEXidx_ordertimeON订单(create_time);```(3)```sqlSELECTuser_id,COUNT(order_id)AStotal_countFROM订单GROUPBYuser_idHAVINGCOUNT(order_id)>5ORDERBYtotal_countDESC;```(每小题2分,语法逻辑正确即可得分,共6分)问题2:共享锁(S锁)也叫读锁,若事务T对数据项A加了共享锁,事务T仅能读取A,不能修改A,允许其他事务对A再加共享锁,不允许其他事务加排他锁。排他锁(X锁)也叫写锁,若事务T对数据项A加了排他锁,事务T可以读取和修改A,不允许其他事务对A加任何类型的锁。请求结果:T2请求共享锁可以直接被满足,T2请求排他锁会被阻塞,直到T1释放共享锁后才能执行。(共5分,定义正确得4分,结果正确得1分)问题3:(1)该并发问题是丢失更新问题。原因:两个事务同时读取了同一个库存值,先后提交更新,后提交的事务覆盖了先提交事务的修改结果,导致库存扣减错误,出现超卖,两个事务的正确更新结果都没有被保留,因此产生丢失更新。(共4分,问题判断正确得2分,原因说明正确得2分)(2)常见解决方法:方法一:悲观锁控制,事务读取库存时直接对数据加排他锁,其他事务无法读取该数据,直到当前事务提交释放锁,避免并发修改同一数据。方法二:乐观锁控制,给商品表新增版本号字段,更新时带版本号条件执行:`UPDATE商品SETstock=新库存,version=version+1WHEREgoods_id=AANDversion=旧版本`,只有版本号匹配才会更新成功,更新失败则业务重试,解决丢失更新问题。方法三:利用数据库单条SQL原子性,直接执行原子更新语句:`UPDATE商品SETstock=stock-购买数量WHEREgoods_id=AANDstock>=购买数量`,依靠数据库的事务原子性保证并发更新不会出错。(任意答对两种即可,每种方法原理说明正确得2.5分,共5分)案例三参考答案问题1:分区表是将逻辑上的一个大表,按照一定规则划分为多个独立的物理存储区域,逻辑上仍然是一个完整的表,对应用户的SQL操作不需要做任何变更。分区表和分表的核心区别:分区表是一个逻辑表,只有一份表结构,多个物理存储分区;分表是将一个大表拆分为多个独立的逻辑表,每个分表都有独立的表结构和数据。(共5分)问题2:适合采用范围分区,按照订单创建时间按月分区。理由:该业务绝大多数查询都是查询近3个月的订单,且查询条件大多带时间范围,按照时间分区后,查询时可以直接裁剪掉不需要的历史分区,只扫描需要的目标分区,大幅减少需要扫描的数据量,提升查询速度;同时历史数据归档清理只需要删除对应分区,运维操作简单高效。(共5分)问题3:索引覆盖指查询需要的所有列都已经包含在索引中,数据库执行查询不需要回表查询聚簇索引中的数据,直接从二级索引中就可以获取所有需要的数据,减少了随机磁盘IO,大幅提升查询速度。例如查询语句:`SELECTuser_id,create_timeFROM订单WHEREcreate_time>'2025-10-01'`,可以创建联合索引`idx_ct_uid(create_time,user_id)`,该索引已经包含了查询需要的所有字段,数据库不需要回表,直接扫描索引就可以返回结果,就是索引覆盖优化。(共5分)问题4:全量备份是备份数据库的所有数据,优点是数据完整性高,恢复速度快,出问题时直接恢复即可;缺点是备份速度慢,占用大量存储空间,适合数据量较小、对恢复速度要求高的场景,一般作为定期基础备份使用。增量备份是备份上一次备份之后发生改变的数据,优点是备份速度快,占用存储空间小,对业务影响小;缺点是恢复的时候需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026卫生专业技术资格考试理化检验技术·初级师(专业知识)历年参考题库含答案详解
- 2026北京市烟草招聘考试(行政职业能力测验)历年参考题库含答案详解
- 2026初级经济师资格考试(运输经济·水路专业知识与实务)历年参考题库含答案详解
- 2026军队文职招聘-军队文职技能岗-军队文职招聘(放射技师)历年参考题库含答案详解
- 2026军队专业技能岗位文职人员招聘考试(广播员)历年参考题库含答案详解
- 2026公路工程试验检测师资格考试(交通工程)历年参考题库含答案详解
- 2026事业单位工勤技能-贵州-贵州水利机械运行维护工一级(高级技师)历年参考题库含答案详解
- 2026中国交通建设集团招聘考试历年参考题库含答案详解
- 自考00160审计学考前密押120题及答案含解析
- 2026届西藏自治区拉萨市高三第二次模拟考试生物试卷含解析
- 形象设计师-国家职业技能标准(2022年版)(Word精排版)
- 电子围栏技术规范标准书
- 第二章纳米粒子的制备方法
- 2023年中国中医科学院广安门医院招聘22名应届生笔试备考试题及答案解析
- 亚科科技(安庆)有限公司高端生物缓冲剂及配套项目(二期)环境影响报告书
- 环境、职业健康安全管理体系审核要点
- 解表剂新止嗽散旧
- 三体系内审员试卷与答案
- 第1章糖的化学
- GB/T 7631.1-2008润滑剂、工业用油和有关产品(L类)的分类第1部分:总分组
- GB/T 11-2013沉头带榫螺栓
评论
0/150
提交评论