计算机三级考试《数据库技术》试题和答案_第1页
计算机三级考试《数据库技术》试题和答案_第2页
计算机三级考试《数据库技术》试题和答案_第3页
计算机三级考试《数据库技术》试题和答案_第4页
计算机三级考试《数据库技术》试题和答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

计算机三级考试《数据库技术》试题和答案一、单项选择题(每题1分,共30分。每题只有一个正确答案,错选、多选、未选均不得分)1.在关系数据库中,若属性集X→Y且Y→Z,则下列说法正确的是A.一定存在X→ZB.若Y⊄X,则X→ZC.若Z⊆Y,则X→ZD.以上都不对答案:A解析:函数依赖具有传递律,X→Y∧Y⇒Z⇒X→Z,与属性是否包含无关。2.设关系模式R(A,B,C,D)的函数依赖集F={AB→C,C→D,D→A},则R的候选码为A.ABB.BCC.ABCD.ABD答案:A解析:计算属性闭包,(AB)+={A,B,C,D},且AB最小,故AB为唯一候选码。3.在SQL标准中,用于定义外键的短语是A.FOREIGNKEY…REFERENCES…B.PRIMARYKEY…REFERENCES…C.CHECK…REFERENCES…D.CONSTRAINT…FOREIGN…答案:A解析:标准语法为FOREIGNKEY(col)REFERENCEStbl(col)。4.下列关于事务隔离级别的描述,哪一项可避免“幻读”A.READUNCOMMITTEDB.READCOMMITTEDC.REPEATABLEREADD.SERIALIZABLE答案:D解析:SERIALIZABLE通过范围锁或MVCC快照避免幻读,是最高隔离级别。5.在MySQLInnoDB中,若二级索引叶节点存储的是A.主键值B.行指针C.聚簇索引键D.页号+槽号答案:A解析:InnoDB二级索引叶节点保存主键值,再通过主键回表。6.关于分布式CAP理论,下列说法正确的是A.CA系统在网络分区时仍可写B.CP系统在网络分区时可能拒绝服务C.AP系统保证强一致性D.三者可同时满足答案:B解析:分区时CP牺牲可用性保证一致性,故可能拒绝部分请求。7.在PostgreSQL中,对JSONB字段建立GIN索引后,下列操作能利用索引的是A.SELECTFROMtWHEREjson_col>>'name'='Tom'B.SELECTFROMtWHEREjson_col@>'{"age":20}'C.SELECTFROMtWHEREjson_col>'{info,tel}'='123'D.SELECTFROMtWHEREjson_col::textLIKE'%Tom%'答案:B解析:@>操作符可被GIN索引加速,其余需全表扫描或表达式索引。8.设关系R与S做半连接R⋉S,其结果元组数为A.等于R⋈SB.不大于R的元组数C.等于πA(R)∩πA(S)D.等于R的元组数答案:B解析:半连接只保留R中能与S匹配的元组,故结果⊆R。9.在Oracle中,段空间管理采用Bitmap时,其最小管理单位是A.数据块B.区C.位图块D.段答案:A解析:自动段空间管理(ASSM)以数据块为单位用位图跟踪空闲。10.关于两阶段提交(2PC),下列说法错误的是A.存在阻塞问题B.需要协调者C.所有参与者必须持久化日志D.第三阶段用于释放锁答案:D解析:2PC只有投票与提交两阶段,无第三阶段,释放锁在提交后。11.在MongoDB副本集中,选举Primary的必要条件是A.多数节点存活B.仲裁节点有投票权C.优先级最高即可D.数据完全一致答案:A解析:需≥(N/2+1)节点存活才能达成多数派选举。12.若关系模式R属于BCNF,则它一定A.无损连接B.保持函数依赖C.消除插入异常D.存在复合码答案:C解析:BCNF通过消除主属性对码的部分与传递依赖,减少插入/删除异常。13.在SQLServer中,使用列存储索引后,执行查询最易受益的操作是A.点查B.范围扫描C.聚合D.更新答案:C解析:列存压缩与批处理模式极大提升聚合性能。14.关于数据库死锁,下列措施不能预防的是A.一次封锁法B.顺序封锁法C.超时等待D.两阶段锁答案:D解析:2PL保证可串行化,但无法预防死锁,只能检测与解除。15.在Redis中,下列数据结构最适合实现“用户点赞去重”的是A.StringB.ListC.SetD.SortedSet答案:C解析:Set天然去重,SADD返回0表示已点过。16.若采用HBase存储时序数据,RowKey设计的最佳实践是A.使用时间戳做前缀B.使用哈希前缀+时间戳C.使用连续数字D.使用长字符串答案:B解析:哈希前缀可避免Region热点,同时保留时间范围扫描能力。17.在MySQL中,执行计划出现“Usingfilesort”一定表示A.使用磁盘文件排序B.需要额外排序缓冲区C.无法利用索引排序D.查询慢答案:C解析:Usingfilesort仅说明需额外排序步骤,不一定落盘;若内存够则全在内存完成。18.关于视图的可更新性,下列情况允许更新的是A.含GROUPBYB.含DISTINCTC.含UNIOND.单表行列子集答案:D解析:仅当视图直接映射单表行列且含主键时,才允许更新。19.在数据库恢复中,REDO日志必须A.先于数据写入磁盘B.在事务提交后写入C.与数据同时写入D.无需持久化答案:A解析:WAL原则要求日志先写,才能保证崩溃后可重做。20.若关系R(A,B)有1000行,S(B,C)有2000行,B为外键,则R⋈S最大行数为A.1000B.2000C.1000×2000D.无法确定答案:A解析:外键保证R.B⊆S.B,连接后行数≤R的行数。21.在PostgreSQL中,VACUUM的主要目的不包括A.回收死元组B.更新统计信息C.防止事务ID回卷D.重建索引答案:D解析:VACUUM不重建索引,REINDEX才重建。22.关于OLAP的ROLAP与MOLAP,下列说法正确的是A.ROLAP需预计算立方体B.MOLAP伸缩性优于ROLAPC.ROLAP直接基于关系表D.MOLAP使用星型模式答案:C解析:ROLAP直接基于关系引擎,无需预立方体;MOLAP预计算并存储多维数组。23.在TiDB中,事务的Percolator模型依赖的关键技术是A.两阶段锁B.MVCC+时间戳C.乐观并发D.全局死锁检测答案:B解析:Percolator基于MVCC与全局TSO实现分布式事务。24.若使用RAID5存储数据文件,其最多可容忍的磁盘故障数为A.0B.1C.2D.N1答案:B解析:RAID5仅允许单盘故障,需校验盘重建。25.在Oracle中,使用DBMS_STATS.GATHER_TABLE_STATS的目的是A.重建索引B.收集直方图C.更新数据字典缓存D.收缩段答案:B解析:该包收集表与列的统计信息,含直方图,供优化器使用。26.关于数据库分片键选择,下列最不合适的做法是A.选择高基数列B.选择单调递增列C.选择查询频繁条件列D.选择分布均匀列答案:B解析:单调递增易造成热点,使分片不均衡。27.在SQL中,若要实现“可重复读”隔离级别,InnoDB采用的机制是A.共享锁B.意向锁C.MVCC快照D.表锁答案:C解析:REPEATABLEREAD通过MVCC一致性快照实现,不加额外锁。28.若关系R的候选码为AB,函数依赖集F={AB→C,C→D,D→A},则R最高属于A.1NFB.2NFC.3NFD.BCNF答案:C解析:存在主属性A对码的传递依赖(C→A),故仅达3NF,未达BCNF。29.在Greenplum中,数据分布策略采用HASH分布时,分布键应首选A.日期列B.低选择性列C.高选择性列D.布尔列答案:C解析:高选择性可保证均匀分布,避免数据倾斜。30.关于数据库审计,下列功能最不易通过触发器实现的是A.记录用户登录B.记录SELECT语句C.记录DELETE旧值D.记录DDL语句答案:B解析:标准行级触发器无法捕获SELECT,需借助外部审计插件。二、填空题(每空2分,共20分)31.在关系模式分解中,若分解ρ={R1,R2}满足________,则必为无损连接。答案:R1∩R→R1或R1∩R→R2解析:无损连接的充分必要条件是交集能函数决定其中一个子模式。32.在MySQL中,查看InnoDB引擎状态的命令是________。答案:SHOWENGINEINNODBSTATUS\G解析:该命令输出锁、事务、缓冲池等诊断信息。33.若事务T对数据项Q加了共享锁,则其他事务对Q最多可加________锁。答案:共享解析:共享锁与共享锁兼容,与排他锁冲突。34.在PostgreSQL中,实现自动递增列的关键字是________。答案:SERIAL或BIGSERIAL解析:SERIAL实际创建序列并设置默认值。35.在分布式事务中,若协调者崩溃且参与者处于“uncertain”状态,则该问题称为________。答案:阻塞解析:参与者无法单方面决定提交或回滚,需等待协调者恢复。36.在Oracle中,________视图用于显示当前会话产生的SQL执行计划。答案:V$SQL_PLAN解析:实时反映游标计划,与EXPLAINPLAN静态计划不同。37.若关系R有n个属性,则其可能的超码数为________。答案:2ⁿ−1解析:除空属性集外,所有属性组合均可为超码(假设所有属性组合可唯一标识)。38.在MongoDB中,________操作符用于原子地向数组添加不重复元素。答案:$addToSet解析:与$push不同,$addToSet自动去重。39.在Redis持久化中,________模式可在指定秒数内发生指定次数写操作时触发快照。答案:RDB或save解析:配置如save9001表示900秒1次写则快照。40.在SQL标准中,________隔离级别允许出现“不可重复读”但避免“脏读”。答案:READCOMMITTED解析:读已提交允许不可重复读,但禁止读未提交数据。三、判断改错题(每题2分,共10分。先判断对错,若错则改正)41.任何满足3NF的关系模式必然满足BCNF。答案:错。改正:3NF允许主属性对码的传递依赖,而BCNF不允许,故3NF不一定BCNF。42.在MySQL中,InnoDB的聚簇索引叶节点保存行数据,因此二级索引无需回表。答案:错。改正:二级索引叶节点保存主键值,仍需回表获取行数据。43.使用哈希索引进行范围查询时效率高于B+树索引。答案:错。改正:哈希索引仅支持等值查询,范围查询需全表扫描,效率低于B+树。44.在分布式数据库中,采用Paxos算法一定能保证活性(liveness)。答案:错。改正:Paxos仅保证安全性,活性需额外机制如Leader选举超时避免活锁。45.在PostgreSQL中,事务ID达到2³²1后会自动回卷,无需人工干预。答案:错。改正:需VACUUMFREEZE提前冻结旧元组,否则回卷将导致数据丢失。四、简答题(每题10分,共30分)46.描述InnoDBMVCC实现机制,并说明其如何解决读写冲突。答案:InnoDB为每行添加三个隐藏列:DB_TRX_ID、DB_ROLL_PTR、DB_ROW_ID。1)每次修改生成undolog,形成版本链;2)读操作根据事务启动时的一致性视图(readview)判断可见性:若行TRX_ID<活跃最小ID或已在提交列表中则可见;3)不可见时沿回滚指针找历史版本;4)写操作加行锁,不阻塞快照读,实现非阻塞读,解决读写冲突。47.给出将关系模式R(A,B,C,D,E)分解为BCNF的算法步骤,并举例说明可能丢失函数依赖。答案:步骤:1)找出候选码;2)找出不满足BCNF的函数依赖X→Y,其中X非超码;3)将R分解为R1(XY)与R2(X,其余属性);4)对子模式递归执行。示例:R(ABCDE),F={AB→C,C→D,D→E},候选码AB。C→D中C非超码,分解得R1(CD),R2(ABCE);R2中C→E仍不满足,再分解得R21(CE),R22(ABC);最终丢失AB→C在R22中不再成立,需应用端维护。48.解释Redis缓存穿透、击穿、雪崩区别,并给出对应解决方案。答案:穿透:查询不存在数据,缓存不命中导致大量请求直达DB。方案:布隆过滤器+空值缓存短TTL。击穿:热点key突然失效,高并发瞬间压垮DB。方案:互斥锁+异步回源+逻辑过期。雪崩:大量key同时过期,DB压力激增。方案:随机TTL、多级缓存、限流降级、永不过期+异步刷新。五、综合应用题(共20分)49.某电商系统采用MySQL8.0,订单表orders(order_id,user_id,sku_id,price,status,create_time)数据量5亿行,日均新增300万。需支持两类查询:Q1:根据user_id查最近30天订单;Q2:按sku_id统计昨日销量。请完成:(1)设计分区与索引策略,说明理由;(2)给出Q1、Q2优化SQL及执行计划关键指标;(3)若迁移到TiDB,说明分片键选择与TiFlash列存如何加速Q2。答案:(1)分区:

温馨提示

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

评论

0/150

提交评论