数据库系统模块复盘:高频考点清单 + 5 道真题汇总
摘要:本文聚焦软件设计师考试中的数据库系统核心考点,包括基础概念(表/字段/记录)、数据库范式、事务ACID特性和SQL基础操作。通过Excel表格类比、奶茶店场景示例等生动方式解析高频考点,并附5道近年真题及答案详解。备考建议强调类比记忆、高频SQL语法掌握和错题混淆点整理,帮助考生快速掌握该模块核心知识体系,有效提升得分率。全文以结构化方式呈现考点,突出易错点和考试常见问法,具有较强针对性和实
数据库系统是软件设计师考试的 “核心得分模块”,上午选择题(每年 3-4 道)和下午案例题(占 20% 分值)均有涉及,核心考点集中在 “基础概念(表 / 字段 / 记录)、表设计与范式、事务 ACID 特性、SQL 基础操作” 四大块。今天先梳理高频考点清单(附生活类比和易错点),再用 5 道近 3 年真题实战练手,帮你避免 “记混概念、踩坑丢分”,轻松拿下该模块核心分数。
一、高频考点清单(按考频排序,附记忆技巧)
1. 数据库基础概念(表 / 字段 / 记录 / 主键)(考频★★★★★,每年 1-2 道)
核心考 “表、字段、记录的对应关系” 和 “主键的特点”,用 “Excel 表格” 类比就能轻松记熟,重点区分 “行 / 列” 与数据库概念的对应:
|
考点类型 |
核心内容(考试必记) |
生活类比(Excel 表格) |
易错点提醒 |
|
概念对应 |
① 表(Table)= Excel 文件;② 字段(Field)= Excel 列(表头);③ 记录(Record)= Excel 行(内容) |
奶茶店 “订单表”=“订单.xlsx”,“订单号” 字段 = Excel “订单号” 列,“张三的订单”=Excel 一行数据 |
别记反 “字段 = 列、记录 = 行”,选择题常考 “数据表的一行称为?”(答案:记录) |
|
主键(Primary Key) |
① 唯一标识一条记录(不重复);② 非空(不能没有值);③ 可由单个字段或多个字段组合(联合主键) |
奶茶店 “订单号”= 主键(唯一区分每笔订单),“学生选课表”=“学生号 + 课程号” 联合主键(避免重复选课) |
别误解 “主键只能是单个字段”,联合主键也是常见考点;避免用 “姓名”“手机号” 当主键(可能重复或变更) |
考试高频问法: “下列关于主键的说法错误的是?”(选项常考 “主键可重复”“主键可为空”,均错误);“数据表的列对应数据库中的哪个概念?”(答案:字段)。
2. 表设计与数据库范式(考频★★★★☆,每年 1 道)
核心考 “1NF、2NF、3NF 的核心要求”,用 “奶茶店表优化” 的逻辑理解,重点记 “消除冗余、避免异常” 的核心目标:
|
范式类型 |
核心要求(考试必记) |
记忆技巧(奶茶店场景) |
易错点提醒 |
|
1NF(第一范式) |
字段需是 “原子值”(不能再拆分),无多值字段 |
订单表 “顾客信息(姓名 + 手机号)” 拆成 “顾客姓名”“顾客手机号”,避免一个字段存多个信息 |
别遗漏 “多值拆分”,比如 “购买奶茶(珍珠 + 芋圆)” 需拆成两条记录(珍珠奶茶、芋圆奶茶) |
|
2NF(第二范式) |
① 满足 1NF;② 消除 “部分函数依赖”(非主属性完全依赖主键) |
联合主键 “订单号 + 奶茶名称” 中,“顾客姓名” 只依赖 “订单号”(部分依赖),需拆出 “订单表” 存顾客信息 |
前提是 “主键为联合主键”,若主键是单个字段,默认满足 2NF(无部分依赖) |
|
3NF(第三范式) |
① 满足 2NF;② 消除 “传递函数依赖”(非主属性直接依赖主键) |
订单表 “顾客手机号” 依赖 “顾客姓名”,“顾客姓名” 依赖 “订单号”(传递依赖),需拆出 “顾客表” 存手机号 |
3NF 是 “最终常用范式”,考试常考 “符合 3NF 的表特点”(无传递依赖,数据无冗余) |
考试高频问法: “某表符合 1NF 但不符合 2NF,原因是?”(答案:存在部分函数依赖);“下列表设计符合 3NF 的是?”(答案:无传递依赖、无冗余的表)。
3. 事务 ACID 特性(考频★★★★★,每年 1 道)
核心考 “原子性、一致性、隔离性、持久性” 的定义与区分,用 “奶茶店点单” 类比,记清每个特性的核心关键词:
|
特性缩写 |
核心内容(考试必记) |
记忆技巧(奶茶店点单) |
易错点提醒 |
|
A(原子性) |
事务中操作 “要么全成,要么全退”,不可拆分 |
点单 “扣款→生成订单→出餐”3 步,要么全成功(拿到奶茶),要么全回滚(没扣款、没订单) |
别和 “一致性” 混淆:原子性是 “操作结果”,一致性是 “数据逻辑” |
|
C(一致性) |
事务执行前后,数据逻辑完整性不变 |
扣款 18 元后,顾客余额减少 18 元、库存减少 1 份,数据逻辑无混乱 |
一致性依赖其他 3 个特性实现,不是独立操作,考试常考 “一致性的体现” |
|
I(隔离性) |
多个事务并发执行,互不干扰 |
张三点单和李四点单同时进行,不会出现 “张三的扣款算到李四账户” |
隔离性解决 “并发问题”,比如 “脏读”“不可重复读”,考试常考 “隔离性的作用” |
|
D(持久性) |
事务提交后,数据变更永久保存,不丢失 |
点单成功后,即使断电,订单和扣款记录也不会消失 |
别误解 “回滚后仍持久”:只有提交的事务才持久,回滚的事务会恢复初始状态 |
考试高频问法: “事务提交后断电,数据不会丢失,体现了事务的哪个特性?”(答案:持久性);“事务执行到一半失败,所有操作回滚,体现了哪个特性?”(答案:原子性)。
4. SQL 基础操作(考频★★★☆☆,下午案例题常考)
核心考 “SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)” 的基本语法,重点记 “查询条件、分组统计” 的常用写法:
|
SQL 操作 |
核心语法(考试必记) |
示例(奶茶店订单表) |
易错点提醒 |
|
SELECT(查询) |
SELECT 字段 1, 字段 2 FROM 表名 WHERE 条件 |
查询 “张三的所有订单”:SELECT * FROM 订单表 WHERE 顾客姓名 =' 张三' |
别遗漏 “WHERE 条件”,否则会查询所有记录;“*” 表示查询所有字段 |
|
INSERT(插入) |
INSERT INTO 表名 (字段 1, 字段 2) VALUES (值 1, 值 2) |
新增订单:INSERT INTO 订单表 (订单号,顾客姓名) VALUES ('1003',' 王五 ') |
字段和值的数量、类型需一致,文本值需加单引号('') |
|
UPDATE(更新) |
UPDATE 表名 SET 字段 = 新值 WHERE 条件 |
修改订单 1003 的顾客姓名:UPDATE 订单表 SET 顾客姓名 =' 赵六 ' WHERE 订单号 ='1003' |
必须加 “WHERE 条件”,否则会更新表中所有记录(重大错误) |
|
DELETE(删除) |
DELETE FROM 表名 WHERE 条件 |
删除订单 1003:DELETE FROM 订单表 WHERE 订单号 ='1003' |
同样需加 “WHERE 条件”,否则会删除所有记录(谨慎操作) |
考试高频问法: 下午案例题常考 “补全查询语句”,比如 “查询购买数量 > 2 的订单,需补全 WHERE 后的条件”(答案:购买数量 > 2);“新增记录的 SQL 语句格式”(需包含 INSERT INTO、VALUES)。
二、5 道真题汇总(近 3 年真题,附详细解析)
真题 1:(2023 上午第 50 题)在数据库中,数据表的一列被称为?
A. 记录 B. 字段 C. 主键 D. 元组
解析: 数据表的 “列 = 字段”“行 = 记录 / 元组”,对应 Excel 的 “列 = 表头(字段)、行 = 内容(记录)”;主键是唯一标识记录的字段,不是列的统称。
答案:B
真题 2:(2023 上午第 52 题)事务的哪个特性保证了 “事务执行前后,数据库中的数据逻辑完整性不会被破坏”?
A. 原子性 B. 一致性 C. 隔离性 D. 持久性
解析: 原子性是 “全成或全退”,隔离性是 “并发不干扰”,持久性是 “提交后不丢失”;一致性是 “数据逻辑完整,比如扣款后余额和库存变化符合逻辑”,符合题干描述。
答案:B
真题 3:(2022 上午第 51 题)下列关于数据库主键的说法,错误的是?
A . 主键的值不能重复 B. 主键的值不能为 NULL
C. 一个数据表只能有一个主键 D. 主键必须由单个字段组成
解析: 主键可由 “多个字段组合”(联合主键),比如 “学生选课表” 用 “学生号 + 课程号” 作为主键,避免同一学生重复选同一课程,因此 D 错误;A、B 是主键的核心特性(唯一、非空),C 正确(一个表只能有一个主键,联合主键也算一个)。
答案:D
真题 4:(2022 上午第 54 题)某数据表符合第一范式(1NF),但不符合第二范式(2NF),其主要原因是?
A. 存在传递函数依赖 B. 存在部分函数依赖
C. 字段不是原子值 D. 存在数据冗余
解析: 1NF 的要求是 “字段原子化”(排除 C);2NF 的核心是 “消除部分函数依赖”,若符合 1NF 但不符合 2NF,必然是存在部分依赖(比如联合主键中,非主属性只依赖主键的一部分);A 是不符合 3NF 的原因,D 是不符合范式的后果,不是原因。
答案:B
真题 5:(2021 下午案例题第 3 问)补全 SQL 语句:从 “订单表” 中查询 “2024 年 5 月 1 日之后生成的、购买数量大于 2 的订单,需显示订单号、顾客姓名、购买时间”。
SQL 语句:SELECT 订单号,顾客姓名,购买时间 FROM 订单表 WHERE ______ AND ______;
解析: 需补充两个条件:① 购买时间在 2024 年 5 月 1 日之后(购买时间 >'2024-05-01');② 购买数量大于 2(购买数量 > 2)。SQL 中日期值需加单引号,条件用 AND 连接。
答案:购买时间 >'2024-05-01';购买数量 > 2(顺序可互换)
三、模块备考建议(零基础必看)
- 优先记 “类比 + 对比表”:把 “Excel = 表 / 列 = 字段 / 行 = 记录”“奶茶店点单 = 事务 ACID” 的类比记熟,整理 “范式对比表”“事务特性对比表”,每天花 5 分钟看,3 天就能记牢核心概念;
- SQL 操作抓 “高频语法”:不用记复杂 SQL(如多表连接、子查询),重点记 “SELECT+WHERE”“UPDATE+WHERE”“INSERT+VALUES” 的基础格式,下午案例题补全语句多考这些;
- 错题只记 “混淆点”:比如错把 “原子性” 选成 “一致性”,只记 “原子性 = 操作全成 / 全退,一致性 = 数据逻辑完整”;错把 “部分依赖” 归为 3NF 问题,只记 “2NF 管部分依赖,3NF 管传递依赖”,不用抄完整题干。
通过以上考点梳理和真题练习,数据库系统模块的核心分数基本能轻松拿下,后续复习时只需偶尔回顾类比和对比表,就能保持高正确率。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)