2025年数据库系统工程师笔试真题(网友回忆版)及答案解析_第1页
2025年数据库系统工程师笔试真题(网友回忆版)及答案解析_第2页
2025年数据库系统工程师笔试真题(网友回忆版)及答案解析_第3页
2025年数据库系统工程师笔试真题(网友回忆版)及答案解析_第4页
2025年数据库系统工程师笔试真题(网友回忆版)及答案解析_第5页
已阅读5页,还剩27页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

2025年数据库系统工程师笔试真题(网友回忆版)及答案解析上午试卷(基础知识,75题,每题1分,共75分)一、单项选择题(每题1分,共75分)1.数据库系统中,负责定义数据库内容、存储结构、存取策略及安全授权等工作的用户是()。A.应用程序员B.数据库管理员C.终端用户D.系统分析员答案B解析数据库管理员(DBA)负责数据库的规划、设计、维护、监控及安全管理,包括定义存储结构、存取策略及安全授权等核心职责。2.在三级模式结构中,描述数据库的全局逻辑结构的是()。A.外模式B.内模式C.模式D.物理模式答案C解析三级模式结构包括外模式(用户级,局部逻辑结构)、模式(概念级,全局逻辑结构)和内模式(物理级,存储结构)。3.在关系数据库中,关系模式进行规范化的最主要目的是()。A.减少数据冗余,消除插入异常、删除异常和更新异常B.提高查询速度C.增加数据的安全性D.降低存储成本答案A解析规范化的核心目标是消除关系模式中的数据冗余以及由冗余引起的插入异常、删除异常和更新异常。4.设有关系R(A,B,C)和S(B,C,D),则R⋈S自然连接的结果关系属性为()。A.4个属性(A,B,C,D)B.5个属性(A,B,C,B,C,D)C.3个属性(A,B,C)D.6个属性答案A解析自然连接在等值连接的基础上去掉重复属性列,因此R⋈S的结果属性为(A,B,C,D),共4个属性。5.已知关系模式R(A,B,C,D),函数依赖集F={A→B,B→C,C→D},则R的候选键是()。A.AB.A,BC.A,B,CD.D答案A解析由A→B,B→C,C→D,可得A可决定所有属性,且无冗余,因此候选键为A。6.SQL语言中,实现数据安全性控制的主要语句是()。A.CREATETABLE和DROPTABLEB.GRANT和REVOKEC.INSERT和DELETED.SELECT和UPDATE答案B解析GRANT(授权)和REVOKE(回收权限)是SQL用于实现自主存取控制(DAC)的语句。7.事务的原子性是指()。A.事务一旦提交,其对数据库的修改就是永久的B.事务中的所有操作要么全部执行,要么全部不执行C.事务的执行结果必须是使数据库从一个一致性状态变到另一个一致性状态D.并发事务之间相互隔离,互不干扰答案B解析原子性(Atomicity)指事务是一个不可分割的整体,所有操作要么全做,要么全不做。A为持久性,C为一致性,D为隔离性。8.在并发控制中,防止出现"脏读"现象的技术是()。A.封锁B.恢复C.认证D.审计答案A解析封锁机制通过给数据对象加锁,使未提交事务的修改不能被其他事务读取,从而防止脏读。9.设有两个事务T1、T2,其并发操作序列为:T1读A=100,T2读A=100,T1修改A为90并提交,T2修改A为80并提交。该并发操作可能带来的问题是()。A.丢失更新B.不可重复读C.读脏数据D.死锁答案A解析T2基于A=100的旧值进行更新,覆盖了T1的更新结果,导致T1的修改丢失,属于丢失更新问题。10.关于数据库恢复,下列说法正确的是()。A.只有事务日志文件可用于恢复B.恢复操作是DBA手工完成的,与DBMS无关C.利用数据备份和事务日志可以实现数据库的恢复D.数据库恢复只能恢复到备份时刻的状态答案C解析数据库恢复通过数据备份(转储)+事务日志(记录所有更新操作)实现。恢复时先装入备份,再利用日志重做(REDO)或撤销(UNDO)事务。11.日志文件在数据库恢复中的作用是()。A.压缩数据B.记录事务对数据库的所有更新操作C.加密数据D.存储静态数据答案B解析日志文件以追加方式记录每个事务对数据库的更新操作(事务标识、数据项标识、旧值、新值等),是恢复的重要依据。12.在E-R图中,表示"联系"的图形符号是()。A.矩形B.椭圆形C.菱形D.三角形答案C解析E-R图中,实体用矩形、属性用椭圆形、联系用菱形表示。13.设有两个实体集"学生"和"课程",一个学生可选多门课程,一门课程可被多个学生选修,则学生与课程之间的联系类型是()。A.1:1B.1:nC.n:1D.m:n答案D解析多对多(m:n)联系。14.将E-R图转换为关系模式时,对于m:n联系,一般转换为()。A.一个独立的关系模式,其属性由两端实体的码和联系自身属性组成B.并入任意一端的实体关系模式中C.并入"多"端的实体关系模式中D.无法转换答案A解析m:n联系必须转换为独立的关系模式,且主键为两端实体主码的组合(必要时加自身属性)。15.设有课程关系C(课程号,课程名,学分),若要查询学分为4的课程名,SQL语句为()。A.SELECT课程名FROMCWHERE学分=4B.SELECT学分FROMCWHERE课程名=4C.SELECT课程号FROMCWHERE学分=4D.SELECT课程名FROMCHAVING学分=4答案A解析查询学分为4的课程名,应在WHERE子句中限定学分=4,且SELECT目标列为课程名。16.SQL语句"SELECTDISTINCT系名FROM教师"中DISTINCT的作用是()。A.按系名升序排列B.去除结果中重复的系名C.统计系名的个数D.对系名进行分组答案B解析DISTINCT关键字用于消除查询结果中的重复行。17.设关系SC(学号,课程号,成绩),查询选修了3门以上课程的学生学号,正确的SQL语句是()。A.SELECT学号FROMSCWHERECOUNT(*)>3GROUPBY学号B.SELECT学号FROMSCGROUPBY学号HAVINGCOUNT(*)>3C.SELECT学号FROMSCHAVINGCOUNT(*)>3D.SELECT学号FROMSCWHERECOUNT(*)>3答案B解析分组后使用HAVING对组进行筛选,COUNT(*)为每组的元组数。18.在SQL中,与"IN(SELECT学号FROMSCWHERE成绩<60)"等价的表达式是()。A.学号=ANY(SELECT学号FROMSCWHERE成绩<60)B.学号=ALL(SELECT学号FROMSCWHERE成绩<60)C.学号<>ANY(SELECT学号FROMSCWHERE成绩<60)D.学号>ALL(SELECT学号FROMSCWHERE成绩<60)答案A解析IN等价于"=ANY"(等于子查询结果中的任意一个)。19.下列聚合函数中,忽略NULL值的是()。A.COUNT(*)B.SUM(列名)C.COUNT(*)与SUM(列名)都忽略NULLD.以上都不对答案B解析COUNT(*)统计元组个数,不忽略任何行;而SUM(列名)、AVG(列名)等会忽略NULL值所在的行。20.在关系代数中,从关系中选取满足条件的元组的运算称为()。A.投影B.选择C.连接D.除答案B解析选择(σ)是从关系中选取满足条件的元组(行);投影(π)是选取若干列。21.关系模式的候选键中的属性称为()。A.非主属性B.主属性C.外键D.超键答案B解析候选键中的属性为主属性,不包含在任何候选键中的属性为非主属性。22.设有关系模式R(A,B,C,D),F={AB→C,C→D},则R最高满足()。A.1NFB.2NFC.3NFD.BCNF答案B解析候选键为AB,非主属性C、D完全依赖于AB,满足2NF;但C→D为非主属性对键的传递依赖,不满足3NF。最高为2NF。23.下列不属于数据库安全性控制措施的是()。A.用户标识与鉴别B.存取控制C.并发控制D.视图机制与审计答案C解析并发控制属于数据库一致性维护范畴;用户标识鉴别、存取控制、视图、审计及数据加密等属于安全性措施。24.在数据库中,视图是一个()。A.实际存储数据的表B.虚表,其数据来源于基本表C.索引文件D.日志文件答案B解析视图是从一个或多个基本表(或视图)导出的虚表,数据库中只存放视图的定义,不存放其数据。25.下列SQL语句中,能够永久删除基本表S及其数据的是()。A.DROPTABLESB.DELETEFROMSC.TRUNCATETABLES(部分DBMS)D.ALTERTABLES答案A解析DROPTABLE删除表的结构及全部数据;DELETE仅删除数据但保留表结构;TRUNCATE清空数据(部分DBMS有);ALTER修改表结构。26.设有关系R(A,B)和S(B,C),下列关系代数表达式中与R⋈A.πB.σC.πD.π答案A解析自然连接可分解为笛卡尔积→选择(公共属性相等)→投影(去重列)。27.数据库系统中,DBMS与操作系统之间的接口是()。A.SQL语句B.文件组织与存取方法C.数据字典D.应用程序接口答案B解析DBMS通过文件系统和存取方法在操作系统之上管理数据存储。28.在数据库设计中,需求分析阶段完成的主要工作是()。A.绘制E-R图B.建立数据字典和数据流图C.确定存取方法D.编写应用程序答案B解析需求分析阶段的任务是调查、收集和分析用户需求,产出数据流图(DFD)和数据字典(DD)。29.在数据库逻辑结构设计阶段,将E-R图转换为关系模式属于()。A.需求分析B.概念结构设计C.逻辑结构设计D.物理结构设计答案C解析将E-R图转换为关系模式并对其进行规范化处理,属于逻辑结构设计的核心工作。30.下列属于物理结构设计内容的是()。A.选择存取方法和存储结构B.定义外模式C.设计E-R图D.定义关系完整性约束答案A解析物理设计包括确定数据的存储结构、存取路径(索引)、存储分配等。31.设有关系SC(学号,课程号,成绩),主键为(学号,课程号)。若规定"成绩必须在0到100之间",这属于()完整性约束。A.实体B.参照C.用户定义D.域答案C解析用户定义完整性是针对具体应用环境定义的约束,如取值范围、格式等。32.若关系R的某一属性组不是R的候选键,但它是另一个关系的主键,则该属性组称为R的()。A.主属性B.外键C.超键D.替代键答案B解析外键定义:一个关系中的属性组不是本关系候选键,但为另一个关系的主键。33.在SQL中,ALTERTABLE语句的功能是()。A.修改表的结构B.修改表中的数据C.删除表D.创建索引答案A解析ALTERTABLE用于增加、删除或修改表的列及约束,即修改表结构。34.游标是系统为用户开设的一个()。A.内存数据缓冲区B.磁盘文件C.索引D.日志答案A解析游标是系统开设的数据缓冲区,用于存放SQL语句的执行结果,便于应用程序逐行处理。35.下列哪种索引适合等值查询且数据量较大?()A.顺序文件上的稠密索引B.B+树索引C.散列索引D.堆文件答案C解析散列索引基于散列函数直接定位,等值查询效率最高;B+树更适合范围查询。36.查询优化中,下列等价变换规则正确的是()。A.σB.πC.σD.σ答案A解析选择运算的串联可合并,即多个选择的合取可分解后依次执行。B的投影与笛卡尔积交换需保留连接属性。37.在数据库系统中,死锁属于()。A.事务故障B.系统故障C.并发控制中的问题D.介质故障答案C解析死锁由并发事务相互等待资源引起,是并发控制中需要解决的重要问题。38.下列不属于数据库故障类型的是()。A.事务故障B.系统故障C.介质故障D.网络故障答案D解析数据库故障一般分为事务故障、系统故障和介质故障(磁盘损坏等)。网络故障通常不直接列为数据库故障类型(但在分布式数据库中也可能涉及)。39.系统故障后,对未完成的事务应执行()操作。A.REDOB.UNDOC.ROLLFORWARDD.重启事务答案B解析系统故障发生时,未提交的事务对数据库的修改应撤销(UNDO);已提交但可能未写入磁盘的事务需重做(REDO)。40.设有关系模式学生(学号,姓名,系别,系主任),该关系模式存在()。A.完全函数依赖B.部分函数依赖C.传递函数依赖D.多值依赖答案C解析学号→系别,系别→系主任,因此学号→系主任为传递依赖,不满足3NF。41.某关系模式存在非主属性对码的部分依赖,则该模式必属于()。A.2NFB.1NFC.3NFD.BCNF答案B解析1NF之上要求消除非主属性对码的部分依赖才达到2NF,因此存在部分依赖时最高为1NF。42.BCNF与3NF的关系是()。A.BCNF必定是3NFB.3NF必定是BCNFC.二者等价D.没有关系答案A解析BCNF比3NF要求更严格,BCNF必为3NF,反之不一定。43.下列属于元数据的是()。A.表中的具体数据记录B.索引文件的内容C.数据字典中关于表结构的定义D.日志中的更新记录答案C解析元数据是"关于数据的数据",数据字典中存放的表、视图、索引等定义均属元数据。44.在SQL中,与WHERE子句中的"年龄BETWEEN18AND25"等价的是()。A.年龄>=18AND年龄<=25B.年龄>18AND年龄<25C.年龄>=18OR年龄<=25D.年龄BETWEEN25AND18答案A解析BETWEEN下界AND上界,包含边界值。45.下列SQL语句中,能够查询没有选修任何课程的学生学号(学生表S,选课表SC)的是()。A.SELECT学号FROMSWHERE学号NOTIN(SELECT学号FROMSC)B.SELECT学号FROMSWHERE学号IN(SELECT学号FROMSC)C.SELECT学号FROMS,SCWHERES.学号=SC.学号D.SELECT学号FROMSWHERE学号=ALL(SELECT学号FROMSC)答案A解析NOTIN子查询返回所有选修过课程的学生学号,外层查询取不在其中的学号。46.在SQL中,创建索引的语句是()。A.CREATETABLEB.CREATEINDEXC.CREATEVIEWD.ALTERINDEX答案B47.下列哪个是数据库管理系统(DBMS)的核心功能?()A.数据定义B.数据操纵C.数据库运行管理D.以上都是答案D48.数据库系统中,三级模式结构之间存在的两级映象是()。A.外模式/模式映象和模式/内模式映象B.外模式/内模式映象和模式/内模式映象C.外模式/模式映象和外模式/内模式映象D.概念/逻辑映象和逻辑/物理映象答案A解析外模式/模式映象保证逻辑独立性,模式/内模式映象保证物理独立性。49.数据模型的三要素是()。A.数据结构、数据操作、完整性约束B.实体、属性、联系C.关系、元组、属性D.概念模型、逻辑模型、物理模型答案A50.在关系模型中,关系必须满足的约束条件不包括()。A.实体完整性B.参照完整性C.用户定义完整性D.数据独立性答案D51.设有关系R(A,B,C),下列SQL语句中语法正确的是()。A.SELECTA,COUNT(*)FROMRGROUPBYAB.SELECTA,BFROMRGROUPBYAC.SELECTAFROMRWHERECOUNT(*)>1GROUPBYAD.SELECTA,COUNT(B)FROMRGROUPBYB答案A解析使用GROUPBY时,SELECT子句中的列要么是分组列,要么是聚合函数。A中A为分组列,COUNT(*)合法。52.在关系代数中,除运算(÷)主要用于解决()查询。A."至少使用全部"类型的查询B."至少一个"类型的查询C."等于"类型的查询D."大于"类型的查询答案A解析除运算适合表达"包含全部"或"至少使用全部"的查询,如"查询选修了全部课程的学生"。53.事务的隔离性由DBMS的()子系统实现。A.恢复管理B.并发控制C.完整性管理D.安全性管理答案B54.二段锁协议规定()。A.所有事务必须分两个阶段申请和释放锁B.事务必须先获得所有锁,再一次性释放C.事务分增长阶段和缩减阶段,增长阶段可释放锁,缩减阶段可申请锁D.事务只能申请锁,不能释放锁答案A解析二段锁协议将事务分为增长阶段(只能加锁不能解锁)和缩减阶段(只能解锁不能加锁),该协议是保证可串行化的充分条件。55.下列并发调度中,可能出现死锁的是()。A.两事务交替持有并申请对方资源B.两事务串行执行C.两事务只读不写D.两事务按相同顺序申请资源答案A解析死锁的必要条件包括互斥、占有并等待、不可剥夺和循环等待。两个事务各自持有资源并等待对方资源时形成循环等待。56.数据库的转储可分为静态转储和动态转储,二者的主要区别是()。A.转储期间是否允许事务访问数据库B.转储数据量的大小C.转储数据是否加密D.转储介质的不同答案A解析静态转储期间不允许任何事务执行;动态转储期间允许事务并发执行,但需结合日志保证一致性。57.下列关于视图的说法,错误的是()。A.视图可以简化用户的操作B.视图可以提供一定程度的逻辑独立性C.视图能够对机密数据提供安全保护D.视图占用大量存储空间答案D解析视图是虚表,不实际存储数据,不占有额外的数据存储空间(仅存储定义)。58.设关系模式R(A,B,C,D),F={A→B,A→C,A→D,B→C},则R的候选键为()。A.AB.BC.ABD.AD答案A解析A能决定所有属性且无冗余,候选键为A。B→C不构成传递依赖(C由A直接决定)。59.在分布式数据库中,数据分片应满足的基本条件不包括()。A.完备性B.可重构C.不相交D.一致性答案D解析数据分片需满足完备性(全局数据被完整分片)、可重构(可由分片重构全局)和不相交性(数据不重复)。60.数据仓库的特点不包括()。A.面向主题B.集成性C.实时更新性D.相对稳定性答案C解析数据仓库是面向主题的、集成的、相对稳定的、反映历史变化的数据集合,不要求实时更新。61.在数据仓库中,OLAP与OLTP的主要区别是()。A.OLAP面向分析决策,OLTP面向事务处理B.OLAP面向事务处理,OLTP面向分析决策C.两者没有区别D.OLAP是联机事务处理答案A解析OLAP(联机分析处理)针对分析型应用,OLTP(联机事务处理)针对日常事务型应用。62.下列不属于NoSQL数据库类型的是()。A.键值存储B.文档数据库C.列族数据库D.关系数据库答案D63.在数据挖掘中,Apriori算法主要用于()。A.分类B.聚类C.关联规则挖掘D.回归分析答案C64.关于数据库备份策略,下列说法正确的是()。A.完全备份耗时长,但恢复简单B.差异备份只备份自上次完全备份以来变化的数据C.日志备份可以精确恢复到某个时间点D.以上说法均正确答案D65.在SQL中,用于事务提交的语句是()。A.COMMITB.ROLLBACKC.SAVEPOINTD.TRANSACTION答案A66.SQL标准中,实现"收回权限"的语句是()。A.GRANTB.REVOKEC.DENYD.REMOVE答案B67.嵌入式SQL中,主语言向SQL传递参数通过()。A.主变量B.游标C.共享变量D.指示变量答案A解析嵌入式SQL使用主语言变量(主变量)在主语言和SQL之间传递数据,指示变量用于指示NULL值及截断等信息。68.在B树和B+树中,B+树相对于B树的主要优势是()。A.所有关键字都在叶结点中,且叶结点间有链指针,便于范围查询B.树高更低C.插入删除更简单D.结点存储密度更低答案A解析B+树的叶结点包含全部关键字并形成有序链表,范围查询只需遍历叶结点链。69.数据库设计中,概念结构设计最常用的工具是()。A.E-R图B.数据流图C.判定表D.程序流程图答案A70.设有关系R(A,B),其中A为主键,则关于R的下列叙述正确的是()。A.R一定满足BCNFB.R一定不满足BCNFC.无法判断R是否满足BCNFD.R一定满足2NF但不一定满足3NF答案C解析两个属性的关系模式一定满足BCNF(因为不存在非主属性对码的部分或传递依赖,且决定因素均为码或其子集——两个属性时任何非平凡函数依赖的决定因素必为A)。结论为一定满足BCNF。本题选C是正确的更严谨答案?实际两个属性必满足BCNF,故应选C(判断为无法判断不正确)。正确的是必然满足BCNF,但选项中无该表述(A为"一定满足BCNF"——应选A)。注意:两个属性的关系模式,不存在非平凡函数依赖的决定因素不是超键的情况,因此必满足BCNF。答案:A71.在关系数据库中,实现"实体完整性"的手段通常是()。A.主键约束B.外键约束C.CHECK约束D.UNIQUE约束答案A72.下列属于数据库逻辑设计阶段任务的是()。A.关系模式规范化B.确定存储路径C.选择存储结构D.创建索引答案A73.设有关系模式选课(学号,课程号,成绩,学分),其中学号决定学生,课程号决定课程学分。下列说法正确的是()。A.选课关系存在部分函数依赖(学号,课程号)→学分B.选课关系满足BCNFC.选课关系不存在传递依赖D.选课关系的候选键为学号答案A解析课程号→学分,故(学号,课程号)→学分为部分函数依赖(学分依赖于候选键的真子集课程号),不满足2NF。74.在数据库恢复技术中,检查点(Checkpoint)的作用是()。A.缩短恢复时间B.增加数据冗余C.加密数据库D.提高查询速度答案A解析检查点机制记录检查点时刻所有正在执行的事务及缓冲区状态,恢复时仅需处理检查点之后的事务,从而缩短恢复时间。75.设有教师表T(工号,姓名,职称,系别),查询各系别教授的人数,SQL语句正确的是()。A.SELECT系别,COUNT(*)FROMTWHERE职称='教授'GROUPBY系别B.SELECT系别,COUNT(职称)FROMTGROUPBY职称C.SELECT系别,COUNT(*)FROMTGROUPBY职称HAVING职称='教授'D.SELECT系别,SUM(*)FROMTWHERE职称='教授'GROUPBY系别答案A解析先筛选职称为教授的元组,再按系别分组统计人数。下午试卷(应用技术,5道大题,每题15分,共75分)二、案例分析题(第1题至第5题,每题15分,共75分)####试题一:数据库设计(15分)某高校需要开发一个科研项目管理系统,经需求分析得到如下信息:-教师:具有工号、姓名、职称、研究方向等属性;-项目:具有项目号、项目名称、经费、立项日期、项目状态等属性;-一个教师可以主持多个项目,一个项目只能有一个主持人;-一个教师可以参与多个项目,一个项目可以有多个参与教师,参与时记录教师在项目中的分工。问题(15分):1.(4分)根据上述语义设计E-R图(可在答题纸上绘制,或说明实体、属性及联系类型)。2.(5分)将E-R图转换为关系模式,并指出每个关系模式的主键和外键。3.(6分)某项目经理需要查询"参与项目数量最多的前3名教师及其参与项目数",请给出SQL语句。答案1.实体及属性:•教师(工号,姓名,职称,研究方向)•项目(项目号,项目名称,经费,立项日期,项目状态)联系:•"主持":教师1:n项目(项目的主持人为一个教师)•"参与":教师m:n项目,联系属性为"分工"。2.关系模式(下划线表示主键):•教师(工号,姓名,职称,研究方向)•项目(项目号,项目名称,经费,立项日期,项目状态,主持人工号)其中主持人工号为外键,参照教师(工号)。•参与(工号,项目号,分工)其中(工号,项目号)为主键,工号、项目号分别为外键,参照教师(工号)、项目(项目号)。3.SQL语句:SELECTTOP3教师.工号,教师.姓名,COUNT(*)AS参与项目数

FROM教师,参与

WHERE教师.工号=参与.工号

GROUPBY教师.工号,教师.姓名

ORDERBY参与项目数DESC;(也可使用LIMIT3,取决于具体DBMS。)####试题二:SQL应用(15分)设有三个关系模式:-学生(学号,姓名,性别,年龄,系别)-课程(课程号,课程名,学分)-选课(学号,课程号,成绩)其中学号、课程号分别为相应关系的主键,(学号,课程号)为选课关系的主键。请写出实现下列查询或操作的SQL语句。问题(15分,每小题3分):1.查询"计算机系"年龄小于20岁的男学生姓名。2.查询选修了课程号为"C01"课程且成绩在80分以上的学生学号和成绩,按成绩降序排列。3.查询至少选修了两门课程的学生学号和所选课程门数。4.查询选修了全部课程的学生姓名。5.将学号为"2021001"学生的"C01"课程成绩修改为85分。答案1.SELECT姓名FROM学生

WHERE系别='计算机系'AND年龄<20AND性别='男';SELECT学号,成绩FROM选课

WHERE课程号='C01'AND成绩>80

ORDERBY成绩DESC;SELECT学号,COUNT(*)AS选课门数

FROM选课

GROUPBY学号

HAVINGCOUNT(*)>=2;SELECT姓名FROM学生

WHERENOTEXISTS

(SELECT*FROM课程

WHERENOTEXISTS

(SELECT*FROM选课

WHERE选课.学号=学生.学号AND选课.课程号=课程.课程号));或使用除运算思想:SELECT姓名FROM学生,选课

WHERE学生.学号=选课.学号

GROUPBY学生.学号,学生.姓名

HAVINGCOUNT(DISTINCT课程号)=(SELECTCOUNT(*)FROM课程);UPDATE选课SET成绩=85

WHERE学号='2021001'AND课程号='C01';####试题三:关系规范化理论(15分)设有关系模式R(A,B,C,D,E),其函数依赖集为:F问题(15分):1.(5分)求R的所有候选键。2.(5分)判断R最高满足第几范式,并说明理由。3.(5分)将R分解为满足3NF且保持函数依赖的关系模式。答案1.求候选键:•根据函数依赖集,仅A、B、C不出现在任何函数依赖的右部(A不在右部,B、C出现在右部但可由其他属性决定——逐一分析)。先求属性闭包:•(A•(A•单独A+=A,B+=•因此候选键为AB和AC。2.判断范式等级:•非主属性为D、E。•对候选键AB:存在B→•由于R属于1NF(关系模式默认满足1NF),但存在非主属性对码的部分函数依赖,最高满足1NF。3.分解为3NF且保持函数依赖:•按函数依赖集F中的每个依赖分别分解,再合并具有相同左部的依赖:•AB→C:R1(A,B,C),候选键AB•B→D:R2(B,D),候选键B•D→E:R3(D,E),候选键D•AC→B:R4(A,C,B),候选键AC•合并具有相同左部的关系:R1(A,B,C)与R4(A,C,B)属性相同,合并为R1'(A,B,C)。•故分解结果为:•R1(A,B,C),候选键AB和AC,满足BCNF;•R2(B,D),候选键B,满足BCNF;•R3(D,E),候选键D,满足BCNF。•该分解保持函数依赖AB→C、B→D解析注意AC→B与AB→C使得A、B、C相互依赖,A无法单独决定其他属性。分解时以函数依赖为基本单位构造3NF保持依赖分解。####试题四:事务与并发控制(15分)设有两个事务T1和T2,分别执行如下操作:-T1:读A→A=A+10→写A→读B→B=B-10→写B-T2:读A→A=A×2→写A→读B→B=B×2→写B已知A和B的初始值均为100。系统采用基于封锁的并发控制方法。问题(15分):1.(4分)若T1和T2串行执行(先T1后T2),求最终A和B的值。2.(4分)若T1和T2不加任何控制地交错执行,给出一种可能导致数据库处于不一致状态的调度,并说明原因。3.(7分)说明二段锁协议的基本思想,并按照该协议给出一个T1、T2的可串行化调度(用加锁、解锁、读写操作描述),同时说明该调度等价于哪种串行调度。答案:1.先执行T1:A=110,B=90;再执行T2:A=220,B=180。最终A=220,B=180。2.一种不一致调度示例:-T1读A=100;-T2读A=100;-T1写A=110;-T2写A=200;-T1读B=100;-T1写B=90;-T2读B=90(此时B已被T1修改但T1尚未提交);-T2写B=180;-T1提交;T2提交。该调度中,T2读取了T1未提交的B值(脏读),且T1对A的更新被T2覆盖(丢失更新),最终A=200、B=180,与任何串行执行的结果(T1→T2为A=220、B=180;T2→T1为A=220、B=180)均不一致,数据库处于不一致状态。上述调度同时出现了未提交依赖和丢失更新,破坏了事务的隔离性和一致性。3.二段锁协议的基本思想:每个事务的所有加锁操作分为两个阶段:-增长阶段(扩展阶段):事务可以申请加锁,但不能释放任何锁;-缩减阶段(收缩阶段):事务可以释放锁,但不能申请任何新锁。该协议是保证并发调度可串行化的充分条件。遵循两段锁协议的调度是可串行化的。按照二段锁协议给出的可串行化调度如下(等价于串行调度T1→T2):|步骤|操作||---|---||1|T1:LOCK-X(A)||2|T1:读A=100,A=A+10=110||3|T1:写A=110||4|T1:LOCK-X(B)||5|T1:读B=100,B=B-10=90||6|T1:写B=90||7|T1:UNLOCK(A)(进入缩减阶段,此后T1不可再加锁)||8|T1:UNLOCK(B)||9|T2:LOCK-X(A)(等待至T1释放A)||10|T2:读A=110,A=A×2=220||11|T2:写A=220||12|T2:LOCK-X(B)||13|T2:读B=90,B=B×2=180||14|T2:写B=180||15|T2:UNLOCK(A)||16|T2:UNLOCK(B)|该调度与串行调度T1→T2等价,最终的A=220,B=180。T1先获得A和B的排他锁,执行完所有操作后才释放锁;T2在T1释放A后才能加锁A,

温馨提示

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

评论

0/150

提交评论