2026年数据库技术期末试题及参考答案_第1页
2026年数据库技术期末试题及参考答案_第2页
2026年数据库技术期末试题及参考答案_第3页
2026年数据库技术期末试题及参考答案_第4页
2026年数据库技术期末试题及参考答案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

2026年数据库技术期末试题及参考答案一、单项选择题(每题2分,共20分)1.以下关于数据库三级模式结构的描述中,正确的是()A.外模式/模式映射保证了物理独立性B.模式/内模式映射保证了逻辑独立性C.外模式是用户与数据库系统的接口D.内模式描述数据的局部逻辑结构2.关系模式R(A,B,C,D),函数依赖集F={A→B,B→C,C→D},则R的最高范式是()A.1NFB.2NFC.3NFD.BCNF3.下列索引类型中,能够显著提升范围查询效率的是()A.哈希索引B.B+树索引C.位图索引D.全文索引4.事务T1读取数据X后,事务T2对X执行更新操作,T1再次读取X时得到不同值,这种现象违反了事务的()A.原子性B.一致性C.隔离性D.持久性5.在数据库并发控制中,两阶段锁协议(2PL)的“两阶段”指的是()A.加锁阶段和解锁阶段B.读锁阶段和写锁阶段C.共享锁阶段和排他锁阶段D.意向锁阶段和显式锁阶段6.分布式数据库系统中,“分片透明性”指的是()A.用户无需知道数据存储的物理位置B.用户无需知道数据如何被分割成片段C.用户无需知道不同片段的副本位置D.用户无需知道数据分布使用的通信协议7.以下场景中,最适合使用NoSQL数据库的是()A.银行核心交易系统(需严格ACID)B.电商商品详情页实时查询(高并发读)C.医疗电子病历系统(复杂关联查询)D.政府统计数据报表(精确聚合计算)8.数据仓库与操作型数据库的主要区别在于()A.数据仓库支持实时写入,操作型数据库支持历史分析B.数据仓库存储当前数据,操作型数据库存储历史数据C.数据仓库面向分析,操作型数据库面向事务D.数据仓库使用关系模型,操作型数据库使用多维模型9.视图的主要作用不包括()A.简化数据查询B.提高查询效率C.增强数据安全性D.提供逻辑数据独立性10.数据库恢复技术中,“检查点(Checkpoint)”机制的主要目的是()A.减少日志文件大小B.缩短故障恢复时间C.提高事务并发度D.防止数据冗余二、填空题(每空1分,共15分)1.数据库系统的三级模式结构包括外模式、______和内模式。2.数据独立性分为逻辑独立性和______,前者通过______映射实现。3.关系代数的基本操作包括并、差、笛卡尔积、选择、______和______。4.若关系模式R∈3NF,则其所有非主属性既不部分依赖也不______于候选键。5.索引按存储结构可分为聚集索引和______索引,其中______索引会改变数据的物理存储顺序。6.事务的ACID特性中,______由日志系统保证,______由并发控制机制保证。7.两阶段锁协议要求所有锁的获取必须发生在______阶段,所有锁的释放必须发生在______阶段。8.分布式数据库的分布透明性包括分片透明、位置透明和______透明。9.NoSQL数据库主要分为键值存储、列族存储、文档存储和______四大类。10.数据仓库的维度建模中,事实表存储______数据,维度表存储______信息。三、简答题(每题8分,共40分)1.解释数据冗余与数据完整性的关系,并说明如何通过规范化设计平衡二者。2.简述关系模型中候选键、主键、外键的区别与联系,举例说明。3.比较B树索引与哈希索引的适用场景,说明在什么情况下选择哪种索引更优。4.分析事务并发执行时可能出现的三类问题(丢失修改、不可重复读、幻读),并说明不同事务隔离级别如何解决这些问题。5.阐述分布式数据库中CAP定理的含义,说明工程实践中如何在一致性(C)、可用性(A)、分区容忍性(P)之间进行权衡,并举出两种典型的权衡方案。四、设计题(15分)某智能医疗平台需要设计患者电子病历数据库,需求如下:患者信息:姓名、身份证号(唯一)、性别、出生日期、联系方式病历记录:就诊时间、主诉、诊断结果、开方药品(每种药品需记录名称、剂量、用法)医生信息:工号(唯一)、姓名、科室、职称约束:每个病历记录必须关联就诊医生;一种药品可被多个病历记录开具;患者与病历记录是一对多关系要求:(1)绘制E-R图(需标注实体属性、联系类型及约束);(2)将E-R图转换为关系模式,标注主键(PK)和外键(FK);(3)判断病历记录关系模式的最高范式,若未达到3NF则进行分解。五、综合题(10分)某电商平台订单系统采用分布式数据库,面临以下问题:大促期间订单并发写入量达10万次/秒,出现写入延迟高的问题;部分地区用户反映查询订单详情时偶尔出现数据不一致(如显示“未支付”但实际已支付);数据库故障后恢复时间过长(超过30分钟),影响业务连续性。请结合数据库技术知识,提出针对性解决方案:(1)针对高并发写入延迟问题,设计优化策略;(2)针对查询数据不一致问题,说明应采用的事务隔离级别及实现机制;(3)针对故障恢复时间过长问题,设计改进的备份与恢复方案。参考答案一、单项选择题1.C2.B3.B4.C5.A6.B7.B8.C9.B10.B二、填空题1.模式2.物理独立性;外模式/模式3.投影;连接4.传递依赖5.非聚集;聚集6.持久性;隔离性7.扩展(加锁);收缩(解锁)8.复制9.图存储10.量化(数值);描述性三、简答题1.数据冗余指同一数据在多个位置重复存储,可能导致更新异常(如修改不同位置数据不一致);数据完整性指数据的准确性和一致性(如实体完整性、参照完整性)。规范化设计通过逐步消除数据依赖中的冗余,例如1NF消除重复组,2NF消除部分依赖,3NF消除传递依赖。但过度规范化可能导致关联操作增多,需根据业务需求权衡:对查询频繁的表可适当反规范化(如增加冗余字段),对写入频繁的表严格规范化。2.候选键是能唯一标识元组的最小属性集(如学生表的“学号”和“身份证号”);主键是从候选键中选定的一个(如选“学号”为主键);外键是另一关系的主键,用于表示表间联系(如成绩表的“学号”是学生表的外键)。联系:外键的值必须是所引用主键的有效值或空值(参照完整性)。示例:学生(学号PK,姓名,身份证号),课程(课程号PK,名称),成绩(学号FK,课程号FK,分数),其中“学号”是学生表主键,作为成绩表外键。3.B树索引(通常为B+树)适合范围查询(如WHEREpriceBETWEEN100AND200)和有序访问,因为其结构保持键值有序,可通过索引快速定位范围起点并顺序扫描。哈希索引通过哈希函数将键映射到桶,适合等值查询(如WHEREid=123),但无法高效处理范围查询(需扫描所有桶)。选择策略:若查询以等值匹配为主(如用户登录验证),选哈希索引;若需范围查询或排序(如按时间筛选订单),选B+树索引。4.三类问题:丢失修改:T1和T2同时修改同一数据,T1的修改被T2覆盖;不可重复读:T1两次读取同一数据,期间T2修改了该数据,导致结果不一致;幻读:T1按条件查询数据,期间T2插入/删除符合条件的数据,导致T1两次查询结果行数不同。隔离级别解决方式:读未提交(ReadUncommitted):允许脏读,无法解决任何问题;读已提交(ReadCommitted):解决丢失修改,仍可能不可重复读;可重复读(RepeatableRead):解决丢失修改和不可重复读,可能出现幻读(如MySQL默认级别);串行化(Serializable):强制事务串行执行,解决所有问题但并发度低。5.CAP定理指出,分布式系统无法同时满足一致性(所有节点数据一致)、可用性(每个请求都能得到响应)、分区容忍性(系统在网络分区时仍能运行),最多满足两个。工程权衡方案:CP(一致性+分区容忍性):如GoogleSpanner,通过Paxos协议保证强一致性,牺牲部分可用性(网络分区时可能拒绝写请求);AP(可用性+分区容忍性):如AmazonDynamoDB,允许最终一致性,保证高可用(网络分区时继续响应,后续异步同步数据);实际系统常采用混合策略(如优先AP但提供可选强一致性接口)。四、设计题(1)E-R图:实体:患者(患者IDPK,姓名,身份证号,性别,出生日期,联系方式);医生(工号PK,姓名,科室,职称);药品(药品IDPK,名称,剂量,用法);病历(病历IDPK,就诊时间,主诉,诊断结果)。联系:患者-病历(1:n,患者ID为病历外键);医生-病历(1:n,工号为病历外键);病历-药品(m:n,通过中间表“病历药品”连接,包含病历ID和药品IDPK)。(2)关系模式:患者(患者ID,姓名,身份证号(唯一),性别,出生日期,联系方式)PK:患者ID医生(工号,姓名,科室,职称)PK:工号药品(药品ID,名称,剂量,用法)PK:药品ID病历(病历ID,就诊时间,主诉,诊断结果,患者ID,工号)PK:病历ID;FK:患者ID→患者.患者ID;FK:工号→医生.工号病历药品(病历ID,药品ID)PK:(病历ID,药品ID);FK:病历ID→病历.病历ID;FK:药品ID→药品.药品ID(3)病历关系模式分析:主属性:病历ID非主属性:就诊时间、主诉、诊断结果、患者ID、工号函数依赖:病历ID→(就诊时间,主诉,诊断结果,患者ID,工号)不存在部分依赖(所有非主属性完全依赖于主键),不存在传递依赖(非主属性间无依赖关系),因此达到3NF。五、综合题(1)高并发写入优化:分片(Sharding):按用户ID或订单时间分片,分散写入压力到不同数据库节点;批量写入:将订单请求缓存后批量提交(如使用消息队列+批量插入),减少事务开销;内存数据库(如Redis):缓存未提交订单,异步写入关系数据库,降低磁盘I/O压力;优化事务隔离级别:将默认的可重复读调整为读已提交,减少锁竞争。(2)数据不一致解决方案:采用可重复读(RepeatableRead)隔离级别,通过MVCC(多版本并发控制)为每个事务维护数据快照,确保同一事务内多次读取结果一致;对关键操作(如支付状态更新)使用行级排他锁(FORUPDATE),防止脏读;引入分布式事务协议(如TCC或Seata),保证跨节点

温馨提示

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

最新文档

评论

0/150

提交评论