(2025年)数据库期末考试题及答案_第1页
(2025年)数据库期末考试题及答案_第2页
(2025年)数据库期末考试题及答案_第3页
(2025年)数据库期末考试题及答案_第4页
(2025年)数据库期末考试题及答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

(2025年)数据库期末考试题及答案一、单项选择题(每题2分,共20分)1.下列关于关系模型的描述中,错误的是()。A.关系中的元组顺序无关B.关系的属性名必须唯一C.同一列的数据可以来自不同的域D.关系的主码可以由多个属性组成2.在SQL中,若要限制“学生”表中“年龄”字段的值在15到30之间,应使用的约束是()。A.PRIMARYKEYB.FOREIGNKEYC.CHECKD.UNIQUE3.事务的ACID特性中,“原子性”指的是()。A.事务一旦提交,对数据库的修改是永久的B.事务执行过程中,其他事务不可干扰C.事务中的所有操作要么全部完成,要么全部不完成D.事务处理的数据必须满足数据库的完整性约束4.关于B+树索引与哈希索引的对比,正确的是()。A.B+树索引适合范围查询,哈希索引适合等值查询B.哈希索引支持顺序访问,B+树索引不支持C.B+树索引的查询效率受哈希冲突影响D.哈希索引的维护成本低于B+树索引5.关系模式R(A,B,C,D),函数依赖为A→B,B→C,C→D,则R的最高范式是()。A.1NFB.2NFC.3NFD.BCNF6.下列SQL语句中,用于删除表中所有数据但保留表结构的是()。A.DROPTABLE表名B.DELETEFROM表名C.TRUNCATETABLE表名D.ALTERTABLE表名DELETE7.在数据库设计中,概念结构设计阶段的主要成果是()。A.关系模式B.ER图C.物理存储结构D.数据字典8.若事务T1对数据A加了共享锁(S锁),则其他事务()。A.可以加S锁,不能加排他锁(X锁)B.可以加X锁,不能加S锁C.既不能加S锁,也不能加X锁D.可以同时加S锁和X锁9.数据仓库的主要特点不包括()。A.面向主题B.实时更新C.集成性D.历史数据为主10.以下关于索引的描述,错误的是()。A.主键会自动创建索引B.索引能提高查询效率,但可能降低插入效率C.一个表可以有多个唯一索引D.全文索引适用于精确匹配查询二、填空题(每空2分,共10分)1.关系模型的三要素包括数据结构、数据操作和__________。2.SQL中,用于合并两个或多个SELECT语句结果的关键字是__________。3.事务的状态包括活动状态、提交状态、失败状态和__________。4.B+树索引中,所有数据记录都存储在__________节点。5.数据仓库的ETL过程指的是提取(Extract)、转换(Transform)和__________。三、简答题(每题4分,共20分)1.简述关系数据库中“实体完整性”与“参照完整性”的区别。2.说明SQL中INNERJOIN与LEFTJOIN的差异,并举例说明适用场景。3.事务并发执行可能导致哪些问题?数据库管理系统(DBMS)通常如何解决?4.索引的优缺点分别是什么?何时不建议使用索引?5.简述数据仓库与传统数据库的主要区别(至少列出3点)。四、设计题(共25分)某高校拟开发“课程-选课”管理系统,涉及以下需求:-学生:学号(唯一)、姓名、性别、入学时间;-课程:课程号(唯一)、课程名、学分、所属学院;-选课关系:学生选课后提供选课记录,包含选课时间、平时成绩(0-100)、期末成绩(0-100)、总评成绩(平时×30%+期末×70%);-约束:学生只能选本学院开设的课程(学生所属学院由入学时的学院确定,课程所属学院在课程表中维护)。(1)绘制该系统的ER图(要求标注实体属性、联系类型及约束)。(8分)(2)将ER图转换为关系模式,注明主码和外码。(7分)(3)检查“选课”关系模式是否满足3NF,若不满足请分解。(5分)(4)编写SQL语句:查询“计算机学院”学生中,总评成绩≥85分的课程名称、学生姓名及总评成绩(要求用JOIN实现)。(5分)五、综合题(共25分)某银行数据库中有“账户”表(账号,余额,开户行)和“交易”表(交易ID,账号,交易类型,金额,交易时间)。需实现跨行转账功能:用户从账号A向账号B转账1000元,要求:(1)用SQL编写转账事务的完整代码(需处理异常,如余额不足、网络中断)。(8分)(2)分析该事务可能遇到的并发问题(如脏读、不可重复读),并说明应设置的事务隔离级别及原因。(7分)(3)假设“账户”表有1000万条记录,查询“余额>50000且开户行=‘北京分行’”的账户,如何优化查询效率?请提出至少3种优化策略。(10分)答案一、单项选择题1.C2.C3.C4.A5.B6.C7.B8.A9.B10.D二、填空题1.完整性约束2.UNION3.终止状态4.叶子5.加载(Load)三、简答题1.实体完整性:确保主码唯一且非空,用于标识表中唯一实体(如学生表的学号);参照完整性:确保外码要么为空,要么匹配被参照表的主码(如选课表的学号需存在于学生表)。2.INNERJOIN返回两表满足连接条件的交集(如学生表与选课表连接,仅返回有选课记录的学生);LEFTJOIN返回左表所有记录,右表无匹配时用NULL填充(如查询所有学生的选课情况,包括未选课的学生)。3.并发问题:脏读(读取未提交数据)、不可重复读(同一事务两次读取结果不同)、幻读(事务中新增/删除记录导致结果集变化)。解决方法:通过锁机制(如共享锁、排他锁)或事务隔离级别(如可重复读、串行化)控制。4.优点:加速查询,减少全表扫描;缺点:增加存储开销,影响插入/更新/删除效率。不建议使用场景:表数据量小、列更新频繁、列取值重复率高(如“性别”列)。5.区别:数据仓库面向主题(如“销售分析”),传统数据库面向业务(如“订单处理”);数据仓库存储历史数据(如5年交易记录),传统数据库存储当前数据;数据仓库支持复杂查询(如OLAP),传统数据库支持OLTP;数据仓库非实时更新(每日ETL),传统数据库实时更新。四、设计题(1)ER图:-实体“学生”:属性{学号(主码),姓名,性别,入学时间,所属学院};-实体“课程”:属性{课程号(主码),课程名,学分,所属学院};-联系“选课”:学生与课程之间的多对多(M:N)联系,属性{选课时间,平时成绩,期末成绩,总评成绩};-约束:学生选课时,“学生.所属学院=课程.所属学院”(通过外码约束实现)。(2)关系模式:-学生(学号,姓名,性别,入学时间,所属学院)主码:学号;-课程(课程号,课程名,学分,所属学院)主码:课程号;-选课(学号,课程号,选课时间,平时成绩,期末成绩,总评成绩)主码:(学号,课程号),外码:学号→学生.学号,课程号→课程.课程号;外码约束:学生.所属学院=课程.所属学院(通过CHECK或触发器实现)。(3)选课关系模式分析:函数依赖:(学号,课程号)→(选课时间,平时成绩,期末成绩,总评成绩);无部分函数依赖(满足2NF);但总评成绩=平时×30%+期末×70%,存在非主属性对主码的传递依赖(平时、期末→总评),不满足3NF。分解为:-选课记录(学号,课程号,选课时间,平时成绩,期末成绩)主码:(学号,课程号);-成绩计算(平时成绩,期末成绩,总评成绩)主码:(平时成绩,期末成绩)(注:实际中总评可通过视图计算,无需单独存储)。(4)SQL语句:```sqlSELECTc.课程名,s.姓名,sc.总评成绩FROM学生sJOIN选课scONs.学号=sc.学号JOIN课程cONsc.课程号=c.课程号WHEREs.所属学院='计算机学院'ANDsc.总评成绩>=85;```五、综合题(1)转账事务代码(以MySQL为例):```sqlSTARTTRANSACTION;DECLAREEXITHANDLERFORSQLEXCEPTIONBEGINROLLBACK;SELECT'转账失败:系统异常';END;--检查账号A余额是否足够SELECT余额INTO@balanceFROM账户WHERE账号='A'FORUPDATE;IF@balance<1000THENROLLBACK;SELECT'转账失败:余额不足';ELSE--扣除账号A余额UPDATE账户SET余额=余额-1000WHERE账号='A';--增加账号B余额UPDATE账户SET余额=余额+1000WHERE账号='B';--记录交易INSERTINTO交易(账号,交易类型,金额,交易时间)VALUES('A','转出',1000,NOW()),('B','转入',1000,NOW());COMMIT;SELECT'转账成功';ENDIF;```(2)并发问题及隔离级别:-脏读:若事务T1未提交时修改了账号A余额,事务T2读取到该余额后T1回滚,T2读到脏数据;-不可重复读:事务T2两次读取账号A余额,期间T1修改并提交,导致结果不一致;-应设置隔离级别为“可重复读”(REPEATABLEREAD),通过间隙锁防止幻读,同时保证同一事务内多次读取结果一致,平衡并发与数据

温馨提示

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

评论

0/150

提交评论