一、2025真题
1.某电商系统在正常执行业务期间,服务器意外断电,导致部分事务未完成,此类故障属于()。DBA对此进行紧急处置,服务器重启并进行了数据库恢复操作,恢复的正确流程是()。
A.系统故障
B.网络故障
C.介质故障
D.事务故障
A.先Undo未提交事务,再Redo已提交事务
B.仅Redo已提交事务
C.先Redo已提交事务,再Undo未提交事务
D.仅Undo未提交事务
2.限制开发人员访问敏感字段的最佳方法是()。
A.加密数据库文件
B.删除敏感字段
C.禁止所有SELECT权限
D.创建不含敏感字段的视图
3.在基于日志的恢复机制中,()用于确保在系统崩溃后未提交事务的数据一致性。
A.完全备份 可重建数据库,❌ 需要配合日志
B.事务日志
记录所有修改,执行 REDO 和 UNDO
C.数据快照 回滚到历史状态, 无法保证撤销未提交事务
D.检查点 无法保证撤销未提交事务
4.为实现数据库安全,通常应使用()方式定期将关键数据进行备份。
A、异地备份
异地 > 异机 > 同机,考虑到机房出问题的极端情况异地是最好的
B、异机备份
C、同机备份
D、同地备份
按考察知识点分类:
事务/系统故障/UNDO和REDO
1.下列故障中属于事务内部故障的是()。
A 程序中ROLLBACK语句
B 违反完整性约束
一旦检测到违反完整性约束(如主键重复、外键找不到父记录、CHECK 条件不满足),系统会自动拒绝并产生一个错误,导致当前事务无法继续执行,必须回滚。这和是不是人为造成的没有关系。
C CPU 故障
D 硬盘损坏
2.对于事务故障的恢复,下列描述正确的是()。
A事务故障的恢复不需要访问日志文件
B事务故障恢复时需要REDO 已提交的事务
事务故障不需要 REDO,那是系统故障的事
C事务故障恢复时需要正向扫描日志,对该事务进行UNDO 操作
UNDO 必须按之前修改顺序的逆序进行
D事务故障恢复时需要反向扫描日志,对该事务进行UNDO 操作
7.若事务程序中有表达式a/b,如果b取值为0时计算该表达式,会产生的故障属于( )。
A事务故障
事务在执行过程中因内部的操作异常(运算溢出、除零、违反完整性约束等)导致无法正常完成,是典型的事务内部故障
B系统故障
C介质故障 指磁盘等存储介质损坏
D死机 也是系统故障的一种
8.系统故障的恢复( )。
A仅需要使用日志
B仅需要使用备份
C必须使用日志和备份 介质故障需要
D仅需要使用日志或备份
系统故障的破坏是:
内存里的数据(缓冲区)全部丢失
磁盘上的数据文件完好无损
而日志里记录了所有操作的REDO(重做)和 UNDO(撤销)信息
系统故障(如断电、操作系统崩溃)发生后,数据库在重新启动时会自动执行恢复过程:区别在于是否提交
读取日志文件:从最近的检查点开始扫描日志
REDO 已提交的事务:把已提交但未写入磁盘的数据重做,确保持久性
UNDO 未提交的事务:把故障时正在执行但未提交的事务全部回滚,确保原子性
10.11.事务提交之后,其对数据库的修改还存留在缓冲区中,并未写入到硬盘,此时发生系统故障,则破坏了事务的( 持久性 ) ;系统重启后,由DBMS根据( 日志 ) 对数据库进行恢复,将已提交的事务对数据库的修改写入硬盘。
12.事务的等待图中出现环,使得环中的所有事务都无法执行下去,这类故障属于( 事务故障 );解决的办法是选择环中代价最小的事务进行撤销后,再将其置入事务队列稍后执行。假如选中事务T1,对T1撤销过程中需要对其进行( 13 )操作。
请作答:第 13 题
A UNDO 事物故障对应UNDO,且题目已经说了是撤销
B REDO 系统故障对应REDO
C UNDO+REDO
D REDO+UNDO
15.16.为了保证数据库中数据的安全可靠和正确有效,系统在进行事务处理时,对数据的插入、删除或修改的全部有关内容先写入( 日志文件 );当系统正常运行时,按一定 的时间间隔,把数据库缓冲区内容写入( 数据文件 ):当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。
请作答:第 16 题
A索引文件
B数据文件
C日志文件
D数据字典
18.19.系统中同时运行多个事务,若其中一个事务因为自身故障被系统强行退出,而其他事务仍正常运行,这种故障称为( 事务故障 )。该故障发生时,会造成数据库的不一致,解决的方法是( 19 ) 。
请作答:第 19 题
A由用户对该事务进行回滚
B由程序对该事务进行补偿操作
C由DBMS对该事务进行回滚
D由DBA对该事务进行回滚
在考试的理想条件下,只有介质故障需要人工介入。系统故障重启后、事物故障都可以交给DBMS处理。
20.21.运行中的系统因为故障导致服务器重启,正在执行的事务中断,破坏了事务的原子性,恢复的方法是利用日志进行( Undo )操作;而已经提交的事务在故障发生时尚未写入磁盘,破坏了事务的( 持久性 ) ,恢复的方法是利用日志进行Redo操作。
undo对应未提交,保证要么不做要么全做的原子性
redo对应已经提交,必须完成的持久性
25.以下对数据库故障的描述中,不正确的是( )。
A系统故障指软硬件错误导致的系统崩溃
B由于事务内部的逻辑错误造成该事务无法执行的故障属于事务故障
C可通过数据的异地备份来减少磁盘故障可能给数据库系统造成数据丢失
D系统故障一定会导致磁盘数据丢失
28.设置日志文件的目的不包括()
A事务故障恢复
B系统故障恢复
C介质故障恢复
介质故障恢复 = 备份(静态基础) + 日志(动态增量)
D删除计算机病毒
34.如果某一事务程序的运行导致服务器重新启动,这类故障属于系统故障,恢复过程中需要根据日志进行的操作为( )。
A UNDO
B UNDO 和 REDO
系统故障同时影响已提交和未提交事务,因此 UNDO + REDO 必须共同完成。
C REDO
D ROLLBACK
41.数据库恢复操作的基本原理是( )。
A存取控制 防止非法访问(安全机制)
B加密 保护数据机密性(安全机制)
C完整性约束 保证数据正确性和有效性
D冗余 ✅ 通过日志、备份等冗余数据实现恢复
42.43.数据库系统在运行过程中可能会发生CPU故障,这属于( 系统故障 )。在此类故障的恢复过程中,需要根据日志进行的操作为( 43 ) 。
请作答:第 43 题
A UNDO
B REDO
C UNDO+REDO
D 后备副本+UNDO+REDO 这是介质故障的方法
44.在数据库系统中,使数据恢复到故障发生前的一致状态的机制称为( )。
A恢复机制 (教材定义)
B备份机制 定期保存数据库副本
C封锁机制 并发控制
D事务机制 事务的 ACID 特性
45.数据库故障恢复中,根据日志文件进行的撤销操作是( UNDO )。
46.数据库系统中的运算溢出属于( 事务故障 )。
47.48.某公司的数据库在试运行阶段发现CPU长时间占用率高于95%,那么不可能的原因是( 47 )。在运行一段时间后,由于硬盘故障,该数据库无法运行,这属于( 介质故障 )。
请作答:第 47 题
A CPU性能过剩
B 应用复杂过高
C 查询执行成本过高
D 存在大量行锁冲突
题库2.2.事务故障时可能已对数据库进行了修改,为了消除该事务对数据库的影响,要利用日志文件中的记录,强行( 回滚 )该事务,将数据库恢复到初始状态。
题库2.4.( )属于事务故障。
A读错误 可能属于系统故障或介质故障
B写错误 可能属于系统故障或介质故障
C逻辑错误
D系统掉电
题库2.7.数据库管理系统需要处理多种故障,其中CPU故障属于( 系统故障 )
题库2.8.由于机房断电,某个使用检查点记录的数据库出现故障,该故障属于( 系统故障 )。
题库2.9.事务故障出现后,系统自动执行( UNDO )以撤销该事务。
题库2.10.( )不属于数据库恢复技术。
A数据转储 定期保存数据库副本
B登记日志文件 用于UNDO和REDO
C数据库镜像 实时同步到备用数据库,主库故障时可切换
D封锁机制:并发控制技术
题库2.11.数据库恢复的基础是( )。
建立冗余
日志分析
9.假设日志文件的尾部如下图所示,则恢复时应执行的操作是( )。

A Undo T0, Redo T1
B Undo T1, Redo T0
C Redo T0, Redo T1
D Undo T1, Undo T0
已提交的REDO,没提交的UNDO
T0有start(开始),也有commit(提交),所以要redo(重做); T1只有start(开始),没有提交。所以要撤销(undo)
10.在日志中加入检查点,可( )。
A减少并发冲突
B提高一并故障恢复的效率
恢复时从最近的检查点开始,不用扫描全部日志
C避免级联回滚
与日志记录方式有关
D避免死锁
33.关于日志文件,下列说法错误的是( )。
A保存了更新前的数据
B保存了更新后的数据
C无需其它文件可恢复事务故障
D无需其它文件可恢复介质故障
数据库镜像技术
3.数据库镜像技术的优点是()。
A可以减少事务故障的机率
镜像不能减少事务内部故障(如违反约束、死锁等),它只解决硬件/系统故障后的恢复
B可以提高更新事务的并发度
镜像反而会增加额外开销,可能降低并发性能
C维护镜像数据库的一致性不需要额外的开销
维护镜像一致性需要网络、存储等额外开销
D复制技术可以在镜像数据库发生故障时保证系统稳定运行
安全控制机制
4.将数据库对象的操作权限授予用户,属于安全控制机制中的()。
A用户标识与鉴别 用户名+密码、指纹识别等
B自主存取控制
由数据库对象的所有者或管理员自主决定把哪些权限授予哪些用户
C强制存取控制 系统给每个用户和数据都打上安全级别标签,按规则强制检查
D审计 记录用户的操作日志,用于事后追溯
6.连接数据库时的安全验证是通过( ) 来实现的。
用户标识与鉴别
5.在数据库系统中,拥有最高权限的用户是()。
A GUEST
B DBA
(如 root、sa、postgres、SYS)等
C PUBLIC
D ROLE
24.在数据传输过程中,为了防止被窃取可以通过( )来实现。
A用户标识与鉴别
B存取控制
C数据加密
D审计
40.以下有关数据库审计的叙述中,错误的是( )。
A审计记录数据库资源和权限的使用情况
B审计可以防止对数据库的非法修改
C审计操作会影响系统性能
D审计跟踪信息会扩大对存储空间的要求
转储和备份
14.假设系统中有运行的事务,若要转储全部数据库应采用( )方式
A静态全局转储
B静态增量转储
C动态全局转储
D动态增量转储
首先题目说了是转储全部数据库,那么肯定不是增量方式
静态转储:不允许任何事务运行,数据库需处于冻结状态
动态转储:允许事务并发运行,适合在线系统
27.以下对数据转储的叙述中,不正确的是( )
A静态转储在转储期间不允许对数据库进行更新
B动态转储在转储期间允许对数据库进行读取,但不允许更新
动态转储允许读写并发
C海量转储是指每次转储全部数据
海量转储 = 全量转储
D增量转储是指每次只转储上次转储后更新过的数据
32.数据库系统应该定期备份,如果备份过程中仍有更新事务在运行,则备份结果是不一致的,这种备份称为( 动态备份 )。
索引
17.若系统使用频度最高的查询语句为
SELECT *
FROM SC
WHERE Sno=x AND Cno=y; //其中x,y为变量为使该查询语句的执行效率最高,应创建( )。
A Sno上的索引
B Cno上的索引
C Sno,Cno上的索引
对 Sno 和 Cno 两个属性同时进行精确匹配。复合索引的 B+树按 (Sno, Cno) 组织键值,查询时从根到叶子节点一步定位。若只在单列上建索引,仍需回表过滤第二列。
D SC上的视图SC_ V(Sno, Cno)
D选项是一个显示Sno、Cno的视图,如果说经常要统计某些字段的信息,而这些信息可能来源于复杂的查询,那就可以用视图,可以简化用户操作。视图本身没有直接提高查询效率的功能。
35-37.在索引改进中,一般的调整原则是:当( 35 )是性能瓶颈时,则在关系上建立索引;当( 36 )是性能瓶颈时,则考虑删除某些索引;管理人员经常会将有利于大多数据查询的索引设为( 37 )。
请作答:第 35 题
A查询
B更新 ❌ 每次都要维护索引,变慢
C排序 也就是ORDER BY 没有主要作用
D分组计算 也就是GROUP BY
请作答:第 36 题
B更新
当查询是性能瓶颈时 → 建立索引
但每进行一次增删改操作,数据库都必须同步更新所有相关的索引,这会增加额外的开销
当更新(INSERT、UPDATE、DELETE)是性能瓶颈时 → 删除不必要的索引
请作答:第 37 题
A B树索引
通用的非聚簇索引,适用等值和范围查询,但非物理有序 ❌
B 位图索引 适合低基数列(如性别),不适合大量连续数据 ❌
C 散列索引 只适合等值查询,不适合范围查询和大批量数据 ❌
D 聚簇索引:注意题目说大多数据查询
数据库重构/视图和存储过程
22.23.数据库重构是指因为性能原因,对数据库中的某个表进行分解,再通过建立与原表同名的( 22 )以保证查询该表的应用程序不变;通过修改更新原表的( 23 )以保证外部程序对数据库的更新调用不变。
请作答:第 22 题
A视图:虚拟表,可封装多表查询
B索引
C存储过程
D触发器
视图提供了数据的逻辑独立性,即关系模式发生改变之后,通过修改外模式/模式的映像,达到应用程序不变的目的。
请作答:第 23 题
A视图
B索引
C存储过程 视图只是封装查询,无法像存储过程这样更新表记录
D触发器
49.以下关于数据库的重组和重构的说法中,正确的是( )。
A数据库的重组修改了原设计的逻辑和物理结构
B数据库的重构不修改原设计的逻辑和物理结构
C数据库的重组是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能
D数据库的重构是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能
重组:不修改逻辑结构,目的是提高存储和访问性能
重构:修改逻辑结构,表拆分、属性增减、范式调整等,目的是适应业务变化、优化逻辑设计
29.30.31.某数据库应用系统在运行过程中,发现随着数据量的不断增加,有部分查询业务和数据更新业务执行耗时越来越长。经分析,这些业务都与表Table 1有关。假设 Table 1有30多个字段,分别为(Key,A 1,A 2,…Am,B 1,B 2,…B n)。执行频度较高的查询业务都只用到A 1,A 2,…A m中的大部分属性,因此,DBA决定将表 Table1分解为Table2(Key,A 1,A 2,…Am)和 Table 3(Key,B 1,B 2,…B n)。为了使所有对 Table 1的查询程序不必修改,应该( 29 );为了使对 Table1的更新业务能正确执行,应该( 30 );这样实现了( 31 )。
请作答:第 29 题
A修改所有对Table1的查询程序 ❌ 题干要求“不必修改”
B创建视图Table1,为Table2和Table3的自然连接
数据库逻辑独立性的体现——通过外模式/模式映像(视图)屏蔽逻辑层的变化。
C只修改使用A1,A2,…Am中属性的程序 ❌ 题干要求“不必修改”
D只修改使用B1,B2,…Bn中属性的程序 ❌ 题干要求“不必修改”
请作答:第 30 题
A修改所有对Table1更新的事务程序
B创建视图Table1,为Table2和Table3的自然连接
视图用于查询而非更新
C只修改对A1,A2,…Am中属性更新的事务程序
D只修改对B1,B2,…Bn中属性更新的事务程序
请作答:第 31 题
A数据的逻辑独立性
B数据的物理独立性 如改变索引、更换存储介质等
C程序的逻辑独立性 不存在程序的...这种说法
D程序的物理独立性
物化视图
38.39.在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表查询或建立( 38 );用带( 39 )的条件子句等价替换OR子句;只检索需要的属性列等。
请作答:第 38 题
A视图 虚拟表,只存查询的定义,每次执行时再算,跟在原表上查一样
B物化视图 物理表,实实在在存查询结果,省去多表查询
C外键约束
D临时表
题干出现 “提高查询效率”、“减少多表查询” → 选物化视图
题干出现 “逻辑独立性”、“保护数据安全”、“隐藏复杂查询”→ 选普通视图
请作答:第 39 题
A IN ✅ 多值选择,可以替换同列多个 OR 条件
B EXISTS
C UNION
D AND
SELECT * FROM 学生
WHERE 学号 = '001' OR 学号 = '002' OR 学号 = '003';
SELECT * FROM 学生
WHERE 学号 IN ('001', '002', '003');SQL语句优化/其它优化
题库2.1以下关于SQL语句优化的说法中,错误的是( )。
A尽可能地减少多表查询 JOIN 操作代价高,适当减少或用物化视图替代是常见优化手段
B只检索需要的属性列
C尽量使用相关子查询
相关子查询就是分析SQL语句时,外层每一行都要执行全部内层查询
D经常提交修改,尽早释放锁
持有锁时间过长,会降低并发性能
题库2.5-6.在数据库运行阶段,如果频繁访问两个表中的关联数据,则考虑采用( 5 )的方法:如果表中元组数量很大,导致操作效率降低,在不修改程序和表逻辑模式的情况下,可以考虑采用( 6 )的方法。
请作答:第 5 题
A表合并 减少join或者嵌套子查询等开销
B水平分解
C物理分区
D垂直分解
请作答:第 6 题
A表合并
B水平分解:“表中元组数量很大,导致操作效率降低” → 行数过多,需要按行拆分
C物理分区
D垂直分解 按列拆分(把大字段或不常用列分离)
延迟修改
题库2.3.( )机制先在日志中记录一个事务的所有write操作,而该事务的所有write操作拖延到事务最后一条语句被执行后才执行,来保证事务的原子性。
A延迟修改
B立即修改 写操作立即执行,失败时需要 UNDO
C撤销 UNDO
D重做 REDO