2025年计算机等级考试(三级数据库技术)历年参考题库含答案详解题_第1页
2025年计算机等级考试(三级数据库技术)历年参考题库含答案详解题_第2页
2025年计算机等级考试(三级数据库技术)历年参考题库含答案详解题_第3页
2025年计算机等级考试(三级数据库技术)历年参考题库含答案详解题_第4页
2025年计算机等级考试(三级数据库技术)历年参考题库含答案详解题_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

2025年计算机等级考试(三级数据库技术)历年参考题库含答案详解题一、单项选择题1.下列关于数据库系统三级模式结构的说法,正确的是()A.外模式是对数据库全局逻辑结构的描述B.一个数据库可以有多个模式C.外模式/模式映像保证了数据的物理独立性D.模式/内模式映像保证了数据的物理独立性答案:D详解:数据库系统三级模式结构包含外模式、模式、内模式三个层级。外模式为用户级模式,是对数据库局部逻辑结构的描述,一个数据库可以对应多个外模式;模式又称概念模式,是对数据库全局逻辑结构的描述,一个数据库仅能有一个唯一的模式;内模式为物理级模式,是对数据物理存储结构的描述,一个数据库仅能有一个唯一的内模式。外模式/模式映像实现了数据的逻辑独立性,当全局逻辑结构(模式)调整时,仅需修改外模式/模式映像即可保证外模式不变,进而上层应用无需修改;模式/内模式映像实现了数据的物理独立性,当数据物理存储结构(内模式)调整时,仅需修改模式/内模式映像即可保证模式不变,进而上层应用无需修改。选项A错误,外模式描述局部逻辑结构;选项B错误,模式唯一;选项C错误,外模式/模式映像保证逻辑独立性;选项D正确。2.给定学生关系S(S#,SNAME,AGE,DEPT)、选课关系SC(S#,C#,GRADE),要查询选修了课程号为“C01”且成绩大于80分的学生姓名,下列关系代数表达式正确的是()A.π_SNAME(σ_C#='C01'∧GRADE>80(S×SC))B.π_SNAME(σ_C#='C01'∧GRADE>80(SC)⋈S)C.σ_C#='C01'∧GRADE>80(π_SNAME(S⋈SC))D.π_SNAME(σ_C#='C01'(SC)⋈σ_GRADE>80(S))答案:B详解:关系代数运算中,选择运算的筛选条件涉及的字段必须存在于被操作的关系中,投影运算会剔除未被指定的字段。选项A中S×SC为学生表和选课表的笛卡尔积,会生成大量无效的非匹配元组,运算效率极低且结果包含冗余数据,表述错误;选项B先对选课表SC执行选择运算,筛选出课程号为C01且成绩大于80分的选课记录,再与学生表S执行自然连接(基于公共属性S#等值匹配),最终投影出学生姓名字段,运算逻辑正确且效率更高;选项C先对连接后的关系投影SNAME字段,此时元组中已无C#、GRADE字段,无法执行后续选择运算,表述错误;选项D中S(学生表)不存在GRADE字段,无法对S执行σ_GRADE>80的选择运算,表述错误。3.现有商品表goods(goods_id,category,price,stock),要查询每个类别下商品的平均售价,仅返回平均售价大于1000的类别和对应平均售价,下列SQL语句正确的是()A.SELECTcategory,AVG(price)FROMgoodsWHEREAVG(price)>1000GROUPBYcategoryB.SELECTcategory,AVG(price)FROMgoodsGROUPBYcategoryHAVINGAVG(price)>1000C.SELECTcategory,AVG(price)FROMgoodsWHEREAVG(price)>1000ORDERBYcategoryD.SELECTcategory,AVG(price)FROMgoodsGROUPBYcategoryWHEREAVG(price)>1000答案:B详解:SQL语句执行顺序为FROM→WHERE→GROUPBY→HAVING→SELECT→ORDERBY,其中WHERE子句用于筛选原始元组,不支持聚合函数作为筛选条件;聚合函数的筛选需要在GROUPBY分组后,通过HAVING子句实现。选项A错误,WHERE子句后不能使用AVG聚合函数作为条件;选项B逻辑正确,先按category分组,再通过HAVING筛选分组后平均售价大于1000的结果;选项C错误,未执行GROUPBY分组无法计算每个类别的平均售价,且WHERE子句使用聚合函数不符合语法规则;选项D错误,GROUPBY后不能使用WHERE子句进行分组后筛选,应使用HAVING子句。4.某关系模式R(A,B,C,D),存在函数依赖集F={A→B,B→C,(A,D)→D},则R的最高范式为()A.1NFB.2NFC.3NFD.BCNF答案:A详解:首先确定关系模式R的主码:函数依赖集中(A,D)可以决定所有属性,其中A→B,B→C,(A,D)可直接决定D,因此主码为(A,D),主属性为A、D,非主属性为B、C。1NF要求关系的所有属性不可再分,默认所有关系模式均满足1NF;2NF要求消除非主属性对主码的部分函数依赖,本题中A可单独决定非主属性B,即B对主码(A,D)存在部分函数依赖,因此不满足2NF要求,R的最高范式为1NF。3NF要求消除非主属性对主码的传递函数依赖,BCNF要求消除主属性对主码的部分和传递函数依赖,本题均不满足。5.事务的原子性是指()A.事务一旦提交,对数据库的修改是永久的B.事务的执行不被其他事务干扰C.事务中包含的所有操作要么全部执行,要么全部不执行D.事务执行必须使数据库从一个一致性状态转到另一个一致性状态答案:C详解:事务的ACID特性分别为原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。选项A对应持久性,指事务提交后修改永久生效,不会因系统故障丢失;选项B对应隔离性,指多个事务并发执行时互不干扰;选项C对应原子性,事务作为不可分割的整体,操作全部生效或全部回滚;选项D对应一致性,事务执行前后数据库的完整性约束保持一致。6.两个事务T1和T2都读取了同一数据A=100,T1将A减10,T2将A减20,最终数据库中A的值为80,而正确结果应该是70,该问题属于()A.丢失修改B.不可重复读C.读脏数据D.幻读答案:A详解:并发操作常见的三类问题分别为丢失修改、不可重复读、读脏数据,幻读是不可重复读的特殊场景。选项A丢失修改指两个事务同时修改同一数据,一个事务的修改被另一个事务覆盖,本题中T1修改A为90后,T2基于初始读取的A=100修改为80,覆盖了T1的修改,属于丢失修改;选项B不可重复读指同一事务两次读取同一数据期间,数据被其他事务修改,导致两次读取结果不一致;选项C读脏数据指事务读取了其他事务未提交的修改,后续该事务回滚,导致读取的无效数据;选项D幻读指同一事务两次执行相同范围的查询,期间其他事务插入或删除了符合条件的元组,导致两次查询返回的行数不一致。7.为了解决并发操作中的丢失修改、不可重复读和读脏数据三类问题,需要使用的封锁协议是()A.一级封锁协议B.二级封锁协议C.三级封锁协议D.两段锁协议答案:C详解:封锁协议是通过加锁控制并发操作的规则:一级封锁协议要求事务修改数据前加排他锁(X锁),事务结束后释放,仅能解决丢失修改问题;二级封锁协议在一级封锁协议基础上,要求事务读取数据前加共享锁(S锁),读取完成后立即释放,可解决丢失修改和读脏数据问题;三级封锁协议在一级封锁协议基础上,要求事务读取数据前加共享锁(S锁),事务结束后释放,可解决丢失修改、读脏数据、不可重复读三类问题;两段锁协议是保证并发调度可串行性的协议,与解决三类并发问题无关。8.某企业数据库每天凌晨1点执行一次全量备份,每6小时执行一次增量备份,若周三上午10点数据库发生故障,需要恢复到故障前状态,需要用到的备份文件是()A.周三凌晨1点的全量备份,周三早上7点的增量备份B.仅周三凌晨1点的全量备份C.周二凌晨1点的全量备份,周二早上7点、周二下午1点、周二晚上7点、周三凌晨1点、周三早上7点的增量备份D.周三凌晨1点的全量备份,周二晚上7点的增量备份答案:A详解:增量备份的逻辑是仅备份上一次备份(全量或增量)之后发生变化的数据,恢复时需要使用最近一次的全量备份,叠加该全量备份之后所有的增量备份,即可恢复到故障前状态。本题中最近一次全量备份为周三凌晨1点,该全量备份之后的增量备份为周三早上7点的备份,因此仅需这两个备份文件即可完成恢复。9.下列关于聚集索引和非聚集索引的说法,正确的是()A.一个表可以有多个聚集索引B.聚集索引的叶子节点存储的是索引键值和指向数据行的指针C.非聚集索引的叶子节点存储的是实际的数据行D.通常情况下,聚集索引的查询效率高于非聚集索引答案:D详解:聚集索引的索引顺序与数据的物理存储顺序一致,一个表仅能有一个聚集索引,其叶子节点直接存储实际的数据行,查询时无需回表,效率更高;非聚集索引的索引顺序与物理存储顺序无关,一个表可以有多个非聚集索引,其叶子节点存储索引键值和指向对应数据行的指针,查询时若需访问非索引字段需要回表,效率低于聚集索引。选项A错误,一个表仅能有一个聚集索引;选项B错误,聚集索引叶子节点存储实际数据行;选项C错误,非聚集索引叶子节点存储索引键值和行指针;选项D正确。10.分布式数据库系统中,用户编写应用程序时仅需访问全局逻辑关系,无需了解数据的分片规则及各分片的存储节点,该透明性属于()A.分片透明性B.位置透明性C.局部映像透明性D.复制透明性答案:A详解:分布式数据库的透明性层级从高到低依次为分片透明性、位置透明性、局部数据模型透明性。分片透明性为最高层级,用户仅需操作全局逻辑关系,无需关心数据的分片规则和存储位置;位置透明性层级次之,用户需要知道数据的分片规则,无需关心分片的存储节点;局部数据模型透明性为最低层级,用户需要知道分片规则和存储节点,无需关心局部节点使用的数据模型。复制透明性不属于分布式数据库的核心透明性层级。11.下列NoSQL数据库与对应分类匹配正确的是()A.Redis——文档数据库B.HBase——列族数据库C.MongoDB——键值数据库D.Neo4j——关系型数据库答案:B详解:NoSQL数据库分为四类:键值数据库(代表为Redis,以键值对存储数据,读写性能极高)、列族数据库(代表为HBase,按列族存储数据,适合海量结构化数据的离线分析)、文档数据库(代表为MongoDB,以JSON/BSON文档存储数据,结构灵活)、图数据库(代表为Neo4j,以图结构存储实体和关联关系,适合关系分析场景)。选项A错误,Redis为键值数据库;选项B正确;选项C错误,MongoDB为文档数据库;选项D错误,Neo4j为图数据库,属于非关系型数据库。12.下列关于数据库设计各阶段的说法,错误的是()A.需求分析阶段的输出为数据流图、数据字典和需求规格说明书B.概念设计阶段的主要任务是设计ER模型,与具体的数据库管理系统无关C.逻辑设计阶段的主要任务是将ER模型转换为关系模式,进行规范化处理D.物理设计阶段的主要任务是确定数据的逻辑存储结构,不需要考虑硬件环境答案:D详解:数据库设计分为需求分析、概念设计、逻辑设计、物理设计、实施、运行维护六个阶段。选项D错误,物理设计阶段的主要任务是根据具体的数据库管理系统和硬件环境,设计数据的物理存储结构、索引策略、存储路径等,需要充分考虑硬件环境和访问特征以优化性能;其余选项表述均正确。13.下列关于存储过程的说法,错误的是()A.存储过程运行在数据库服务器端,可减少网络传输量B.存储过程支持预编译,执行效率高于普通动态SQL语句C.存储过程不支持参数传递,仅能执行固定逻辑的操作D.存储过程可提升数据安全性,用户无需直接访问底层表即可完成操作答案:C详解:存储过程是预编译在数据库服务器端的SQL语句集合,支持输入参数、输出参数、输入输出参数,可实现灵活的业务逻辑。选项C错误,存储过程支持多种类型的参数传递;其余选项表述均正确。14.数据库系统的日志文件采用先写日志(WAL)原则,其核心含义是()A.事务提交前必须将所有修改写入数据库B.事务的修改操作必须先写入日志文件,再写入数据库C.事务的日志记录必须在事务开始时全部生成D.日志文件的写入顺序与事务执行顺序无关答案:B详解:先写日志原则(Write-AheadLogging)要求事务的修改操作必须先写入日志文件并持久化,再将对应的数据修改写入数据库,目的是保证故障发生时,可通过日志文件回滚未提交的事务、重做已提交的事务,保障数据一致性。15.某关系模式的函数依赖集F={X→Y,Y→Z,X→Z},该函数依赖集的最小依赖集为()A.{X→Y,Y→Z}B.{X→Y,X→Z}C.{Y→Z,X→Z}D.{X→Y,Y→Z,X→Z}答案:A详解:最小依赖集要求每个函数依赖的右部仅含单个属性,左部无多余属性,且无冗余的函数依赖。本题中X→Z可通过X→Y、Y→Z推导得出,属于冗余函数依赖,因此最小依赖集为{X→Y,Y→Z}。二、应用题1.现有学生表S(s_idINTPRIMARYKEY,s_nameVARCHAR(20),dept_idINT),院系表D(dept_idINTPRIMARYKEY,dept_nameVARCHAR(30)),要查询所有学生的姓名和对应的院系名称,没有分配院系的学生也要显示姓名,院系名称显示为“未分配”,请补全下列SQL语句:SELECTs_name,IFNULL(dept_name,____)ASdept_nameFROMS____DONS.dept_id=D.dept_id;答案:第一空填'未分配';第二空填LEFTJOIN(或LEFTOUTERJOIN)详解:左外连接(LEFTJOIN)会保留左表(学生表S)的所有元组,即使右表(院系表D)没有匹配的元组,此时右表的字段值为NULL;IFNULL函数的作用是将第一个参数的NULL值替换为第二个参数指定的字符串,因此将NULL的院系名称替换为“未分配”。2.某关系模式R(Sno,Cno,Grade,Tname,Ttel),其中Sno为学号,Cno为课程号,Grade为成绩,Tname为任课教师姓名,Ttel为教师联系电话;业务规则规定每门课程仅由一名教师任课,每名教师仅有一个联系电话。请回答下列问题:(1)该关系模式的主码为____;(2)该关系模式存在的传递函数依赖为____;(3)将该关系模式分解为符合3NF要求的两个关系模式:R1____,R2____。答案:(1)(Sno,Cno);(2)Cno→Tname,Tname→Ttel(或Cno传递决定Ttel);(3)R1(Sno,Cno,Grade,Tname),主码为(Sno,Cno),外码为Tname;R2(Tname,Ttel),主码为Tname详解:(1)主码需唯一确定关系中的所有元组,仅Sno和Cno的组合可以决定Grade、Tname、Ttel所有属性,因此主码为(Sno,Cno);(2)Cno可决定Tname,Tname可决定Ttel,因此Ttel传递依赖于Cno,进而传递依赖于主码(Sno,Cno);(3)3NF要求消除非主属性对主码的部分和传递函数依赖,因此将教师独立为一个关系,消除传递依赖,两个关系均符合3NF要求。3.某数据库系统发生系统故障,日志内容如下(<T,start>表示事务T开始,<T,X,旧值,新值>表示事务T修改数据X,<T,commit>表示事务T提交):1.<T1,start>2.<T1,A,100,200>3.<T2,start>4.<T2,B,50,70>5.<T1,commit>6.<T3,start>7.<T3,C,20,40>8.系统发生故障请回答下列问题:(1)故障恢复时需要撤销(UNDO)的事务为____,需要重做(REDO)的事务为____;(2)恢复完成后,数据A、B、C的值分别为____。答案:(1)UNDO的事务为T2、T3;REDO的事务为T1;(2)A=200,B=50,C=20详解:系统故障恢复的规则为:对故障发生前已经提交的事务执行重做操作,将其修改永久生效;对故障发生前未提交的事务执行撤销操作,回滚其所有修改。本题中T1已提交,因此重做,A的值为200;T2、T3未提交,因此撤销,B回到原值50,C回到原值20。4.现有SQL语句:SELECTdept,COUNT(*)FROMstudentGROUPBYdeptHAVINGCOUNT(*)>30,其等价的关系代数表达式为____。答案:σ_count>30(γ_dept,COUNT(*)→count(student))详解:γ为分组聚合运算,先对student表按dept字段分组,统计每组的元组数量别名为count,再通过选择运算筛选count大于30的分组,与SQL语句逻辑一致。三、设计题某零售企业需要设计商品销售管理系统,需求如下:(1)系统包含多个商品类别,每个类别有唯一的类别编号、类别名称、描述,一个类别下包含多个商品,每个商品仅属于一个类别;(2)商品信息包括商品编号、商品名称、单价、库存数量;(3)会员信息包括会员编号、姓名、手机号、注册时间,每名会员可以产生多个订单,每个订单仅属于一名会员;(4)订单信息包括订单编号、下单时间、总金额,一个订单包含多个商品,每个商品可以出现在多个订单中,订单中的每个商品有对应的购买数量和小计金额。要求:1.画出该系统的ER模型,标注实体、属性、联系及联系类型;2.将ER模型转换为符合3NF要求的关

温馨提示

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

最新文档

评论

0/150

提交评论