数据库系统是软件设计师考试的 “核心得分模块”,上午选择题(每年 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(顺序可互换)​

三、模块备考建议(零基础必看)​

  1. 优先记 “类比 + 对比表”:把 “Excel = 表 / 列 = 字段 / 行 = 记录”“奶茶店点单 = 事务 ACID” 的类比记熟,整理 “范式对比表”“事务特性对比表”,每天花 5 分钟看,3 天就能记牢核心概念;​
  2. SQL 操作抓 “高频语法”:不用记复杂 SQL(如多表连接、子查询),重点记 “SELECT+WHERE”“UPDATE+WHERE”“INSERT+VALUES” 的基础格式,下午案例题补全语句多考这些;​
  3. 错题只记 “混淆点”:比如错把 “原子性” 选成 “一致性”,只记 “原子性 = 操作全成 / 全退,一致性 = 数据逻辑完整”;错把 “部分依赖” 归为 3NF 问题,只记 “2NF 管部分依赖,3NF 管传递依赖”,不用抄完整题干。​

通过以上考点梳理和真题练习,数据库系统模块的核心分数基本能轻松拿下,后续复习时只需偶尔回顾类比和对比表,就能保持高正确率。​

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐