版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年数据库系统概论复习期末试题及答案一、单项选择题(每题2分,共20分)1.下列关于数据模型的描述中,错误的是()。A.概念模型用于数据库设计的需求分析阶段,与具体DBMS无关B.关系模型中,实体及实体间的联系均用二维表表示C.层次模型的数据结构是有向无环图,支持多对多联系D.NoSQL数据库中的文档模型(如MongoDB)支持灵活的半结构化数据存储答案:C(层次模型是树形结构,仅支持一对多联系)2.设关系R(A,B,C),S(C,D,E),若执行R⋈S操作(自然连接),则结果关系的属性个数为()。A.3B.5C.6D.8答案:B(自然连接自动去除重复的C属性,R的3个属性+S的2个新属性D、E,共5个)3.事务的ACID特性中,“一致性”指的是()。A.事务执行前后数据库状态保持合法B.多个事务并发执行时互不干扰C.事务一旦提交,其结果永久保存D.事务中的操作要么全做,要么全不做答案:A(一致性强调数据库从一个一致状态转移到另一个一致状态)4.下列关于索引的说法中,正确的是()。A.聚集索引会改变表中数据的物理存储顺序B.唯一索引可以保证索引列值非空且唯一C.覆盖索引是指索引包含所有查询需要的列D.在频繁更新的列上建立索引会显著提升写操作性能答案:C(覆盖索引无需回表,直接通过索引获取数据;A错误,聚集索引决定物理顺序;B错误,唯一索引允许NULL(如MySQL);D错误,索引会增加写操作开销)5.某关系模式R(U,F),U={A,B,C,D},F={AB→C,C→D,D→A},则R的候选码是()。A.ABB.BCC.CDD.BD答案:A(计算AB的闭包:AB+=ABCD,能决定所有属性;其他选项闭包无法覆盖全部)6.分布式数据库中,“分片透明性”指的是()。A.用户无需知道数据存储在哪个物理节点B.用户无需知道数据如何被分割成片段C.用户无需知道片段的副本位置D.用户无需知道数据的逻辑结构答案:B(分片透明性是最高级别的分布透明性,用户只需关注逻辑关系,无需了解分片策略)7.下列关于SQL注入攻击的防护措施中,最有效的是()。A.对用户输入的特殊字符进行转义B.使用预编译语句(PreparedStatement)C.限制数据库用户的权限为只读D.定期备份数据库答案:B(预编译语句将SQL逻辑与数据分离,从根本上防止注入;A可能被绕过,C影响功能,D是恢复手段)8.设关系表Student(Sno,Sname,Sage,Sdept),若需查询“计算机系(Sdept='CS')中年龄(Sage)大于20岁的学生姓名”,正确的SQL语句是()。A.SELECTSnameFROMStudentWHERESdept=CSANDSage>20B.SELECTSnameFROMStudentWHERESdept='CS'ANDSage>20C.SELECTSnameFROMStudentWHERESdept=CSORSage>20D.SELECTSnameFROMStudentWHERESdept='CS'ORSage>20答案:B(字符串常量需用单引号,逻辑条件应为AND)9.下列关于日志(Log)的描述中,错误的是()。A.redo日志记录“做了什么”,用于故障恢复时重做已提交事务B.undo日志记录“之前的值”,用于回滚未提交事务C.归档日志是联机日志的备份,用于介质故障恢复D.日志必须在事务提交前写入磁盘(Write-AheadLogging)答案:A(redo日志记录“要做什么”,即新值;undo记录旧值)10.某数据库系统支持可重复读(RepeatableRead)隔离级别,下列现象中可能发生的是()。A.脏读(DirtyRead)B.不可重复读(Non-RepeatableRead)C.幻读(PhantomRead)D.丢失更新(LostUpdate)答案:C(可重复读解决了脏读和不可重复读,但可能存在幻读;串行化隔离级别可避免幻读)二、填空题(每空1分,共15分)1.数据库系统的三级模式结构包括外模式、______和内模式。答案:模式(或概念模式)2.关系代数中,σ(选择)操作是针对______的筛选,π(投影)操作是针对______的筛选。答案:行(元组);列(属性)3.事务的隔离级别由低到高依次为:读未提交、读已提交、______、串行化。答案:可重复读4.关系模式规范化的目的是消除数据冗余和______。答案:操作异常(或插入异常、删除异常、更新异常)5.数据库恢复的基本技术是______和日志记录。答案:数据备份(或冗余备份)6.在E-R模型中,实体之间的联系可分为一对一、一对多和______三种类型。答案:多对多7.分布式数据库的“CAP定理”指的是一致性、可用性和______三者无法同时满足。答案:分区容错性8.索引按存储结构可分为B+树索引、______和位图索引等。答案:哈希索引9.SQL中,用于修改表结构的语句是______。答案:ALTERTABLE10.数据仓库的主要特点包括面向主题、集成的、______和非易失的。答案:时变的(或随时间变化的)11.数据库安全性控制的常用方法包括用户标识与鉴别、______、视图机制和审计。答案:存取控制(或权限管理)12.关系模型中,若属性A是关系R的外码,则A的值必须等于关系S中某个元组的______值,或为空。答案:主码(或主键)三、简答题(每题6分,共30分)1.简述关系的参照完整性规则,并举例说明。答案:参照完整性规则要求:若属性(或属性组)F是关系R的外码,且F参照关系S的主码,则R中每个元组在F上的值必须等于S中某个元组的主码值,或者F为空(当F允许空值时)。例如,学生表(Sno,Sname,Dno)中的Dno是外码,参照系表(Dno,Dname)的主码Dno,因此学生表中Dno的值必须是系表中存在的Dno,或为空(表示该学生尚未分配系)。2.比较B+树索引与哈希索引的优缺点。答案:B+树索引的优点:支持范围查询(如WHEREage>20)、有序遍历;适合等值查询和范围查询;支持索引的顺序扫描。缺点:插入、删除操作可能引发树的分裂或合并,维护成本较高;等值查询效率略低于哈希索引。哈希索引的优点:等值查询速度极快(O(1)时间复杂度);维护简单(哈希冲突时通过链表解决)。缺点:不支持范围查询;无法利用索引进行排序;哈希冲突严重时性能下降明显。3.什么是事务的可串行化调度?如何判断两个事务的调度是否冲突可串行化?答案:可串行化调度是指多个事务的并发执行结果与这些事务按某种顺序串行执行的结果一致。冲突可串行化的判断方法:若两个调度的冲突操作(即对同一数据的读写、写读、写写操作)的顺序相同,则它们是冲突等价的。若一个调度能通过交换不冲突的操作顺序转换为串行调度,则该调度是冲突可串行化的。关键步骤是构建优先图(PrecedenceGraph),若图中无环则调度冲突可串行化。4.简述数据库设计的主要阶段及其任务。答案:数据库设计分为以下阶段:(1)需求分析:收集用户需求,确定数据范围和处理要求;(2)概念结构设计:构建E-R模型,描述实体、属性和联系;(3)逻辑结构设计:将E-R模型转换为关系模式,并进行规范化;(4)物理结构设计:确定存储结构(如索引、分区)、存取方法等;(5)数据库实施:编写SQL语句,加载数据,测试系统;(6)运行维护:监控性能,备份恢复,优化调整。5.说明视图(View)的作用,并举例说明其在安全性控制中的应用。答案:视图的作用:(1)简化复杂查询(如将多表连接的查询定义为视图);(2)提供逻辑数据独立性(表结构变更时,只需修改视图定义);(3)增强安全性(通过视图限制用户访问的数据范围)。安全性应用示例:为普通员工创建视图,仅包含自己的工资信息(如CREATEVIEWEmpSalaryASSELECTSalaryFROMEmployeeWHEREEno=CURRENT_USER),防止其查询他人工资。四、设计题(共20分)某高校拟开发“学生社团管理系统”,需求如下:社团(Club)有编号(Cno,主键)、名称(Cname)、成立时间(Ctime)、负责人(Cleader,学生学号)。学生(Student)有学号(Sno,主键)、姓名(Sname)、学院(Sdept)。学生可加入多个社团,社团可包含多个学生,记录加入时间(JoinTime)。1.绘制该系统的E-R图(要求标注实体属性、联系类型及属性)。(8分)答案:实体:Student(Sno,Sname,Sdept);Club(Cno,Cname,Ctime,Cleader)。联系:Membership(多对多,即Student与Club之间的M:N联系),属性为JoinTime。E-R图结构:Student和Club为矩形,属性为椭圆,联系Membership为菱形,连接两个实体,标注M:N,JoinTime作为联系的属性。2.将E-R图转换为关系模式,并注明主码和外码。(6分)答案:Student(Sno,Sname,Sdept)主码:SnoClub(Cno,Cname,Ctime,Cleader)主码:Cno;外码:Cleader(参照Student.Sno)Membership(Sno,Cno,JoinTime)主码:(Sno,Cno);外码:Sno(参照Student.Sno),Cno(参照Club.Cno)3.编写SQL语句:查询“计算机学院(Sdept='CS')中加入了‘机器人社’(Cname='机器人社')的学生姓名及加入时间”。(6分)答案:SELECTs.Sname,m.JoinTimeFROMStudentsJOINMembershipmONs.Sno=m.SnoJOINClubcONm.Cno=c.CnoWHEREs.Sdept='CS'ANDc.Cname='机器人社';五、综合题(共15分)某银行数据库中有“账户”表Account(Ano,Balance),其中Ano是账户号(主键),Balance是余额。现有两个事务:T1:从账户A转100元到账户B(即A.Balance-=100,B.Balance+=100)T2:从账户B转200元到账户C(即B.Balance-=200,C.Balance+=200)假设两个事务的操作序列如下(时间顺序):1.T1读A.Balance(设为1000)2.T2读B.Balance(设为1500)3.T1写A.Balance(900)4.T2写B.Balance(1300)5.T1读B.Balance(1300)6.T1写B.Balance(1400)7.T2读C.Balance(设为500)8.T2写C.Balance(700)9.T1提交10.T2提交1.分析该调度是否满足可串行化要求,说明理由。(5分)答案:不满足可串行化。冲突操作包括:T1写A(步骤3)与其他事务无冲突;T1写B(步骤6)与T2写B(步骤4)是写写冲突,顺序为T2先写B,T1后写B;T1读B(步骤5)与T2写B(步骤4)是读写冲突,顺序为T2写B后T1读B;T2写B(步骤4)与T1写B(步骤6)是写写冲突。构建优先图:T2→T1(因T2写B在T1写B之前,且T1读B在T2写B之后),无环,因此冲突可串行化?需重新分析:步骤3(T1写A)无冲突;步骤4(T2写B)与步骤5(T1读B)冲突,T2→T1;步骤4(T2写B)与步骤6(T1写B)冲突,T2→T1;步骤6(T1写B)与其他无冲突。优先图只有T2→T1一条边,无环,因此是冲突可串行化的。但实际执行结果:T1执行后B=1400(原B=1500-100+100?不,T1是A→B转100,所以B应+100,原B=1500,T1写B应为1600?题目中步骤5T1读B为1300(T2已写B为1300),步骤6T1写B为1300+100=1400。T2执行后B=1300-200=1100?但T2步骤4写B为1300(原B=1500-200=1300),步骤8写C为700(原500+200)。最终B的余额应为:T1提交后B=1400,T2提交后B=1400-200=1200?而串行执行T1→T2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 小学六年级道德与法治上册依法维权步骤课件
- 水电站变频器应用技术方案
- 工地物料使用满意度调查方案
- 外墙施工现场文明管理方案
- 外墙施工工序优化方案
- 农田可持续发展监测与评估方案
- 2026年及未来5年市场数据中国现金管理服务行业市场发展数据监测及投资潜力预测报告
- 土石方工程业主沟通方案
- 消防设施交付使用标准方案
- 土方工程事故应急处理预案
- 家政服务人员岗位职责说明书
- 2025年香云纱市场环境分析
- 数据中心设备部署管理指南
- 《 基本权利的规范建构》读书笔记
- 高新技术企业专项审计操作手册
- 2024-2025学年福建省莆田市高二下学期期末考试语文试题(解析版)
- 给销售员讲解买卖合同
- 雅礼中学2025年七年级新苗杯创新素养大赛物理试题
- 辐射安全培训自主培训课件
- 2025年国家能源局公务员面试模拟题及解析
- 2025外研社小学英语三年级下册单词表(带音标)
评论
0/150
提交评论