全国计算机等级考试 - 三级数据库技术 笔记

前言

​ 在备考全国计算机等级考试 - 三级数据库技术时,我发现目前市面上并没有简练的、抓住重点、体系完备的备考资料,本文旨在帮助我复习,同时分享出来,帮助其他人备考。

​ 在我结束考试前,本文随时更新。

YYH

2/9/2026

基础概念

  1. 候选键:能确定一个值的最少属性的集合

  2. 属性

    • 主属性:在“候选键”中的属性

    • 非主属性:不在“候选键中的属性”

    • 简单属性:不可再分(如学号)

    • 复合属性:可分解为子属性(如地址=省+市+街道)

    • 多值属性:一个实体可有多个值(如学生的多个电话号码),用双线椭圆表示

    • 派生属性:可由其他属性计算得出(如年龄可由出生日期派生),用虚线椭圆表示

  3. 强实体:独立存在,有独立主键(如学生、课程)

  4. 弱实体:依赖其他实体存在,主键包含外键(如订单明细)

数据库设计步骤

阶段 主要任务 产出物
1. 需求分析 收集用户需求,分析数据流程 数据流图(DFD)、数据字典(DD)
2. 概念结构设计 构建E-R模型,描述实体关系 E-R图
3. 逻辑结构设计 E-R图→关系模式,规范化处理 关系模式、表结构
4. 物理结构设计 确定存储结构、索引、分区 物理存储方案
5. 数据库实施 建库、建表、导入数据、编程 实际数据库系统
6. 运行维护 性能监控、优化、备份恢复 稳定运行的系统
设计阶段 关注重点 与三级模式的对应
概念结构设计 业务本质 独立于具体DBMS
逻辑结构设计 数据结构 对应模式
物理结构设计 运行效能 对应内模式

范式

  1. 1NF

    所有属性都是不可分的原子值(属性值不能是集合、数组或重复组) 核心要求:

    • 每个单元格只能存一个值

    • 不能有多值属性或复合属性

    1NF是关系数据库的最低要求,不满足就不是关系模型

  2. 2NF

    满足1NF,且每个非主属性完全函数依赖于主键(消除部分依赖) 概念:

    • 完全依赖:非主属性依赖整个主键,而非主键的一部分
    • 部分依赖:非主属性只依赖主键中的某个属性(仅当主键是复合键时才可能出现)

    看到复合主键就要警惕部分依赖!单属性主键自动满足2NF

  3. 3NF 满足2NF,且不存在非主属性对主键的传递依赖(消除传递依赖) 概念:

    • 传递依赖:A → B → C,则 A 传递决定 C
    • 要求:非主属性必须直接依赖主键,不能通过其他非主属性传递

    要求非主属性之间互不依赖

  4. BCNF

    满足3NF,且每一个决定因素都是候选键(消除主属性对候选键的部分/传递依赖) 与3NF的区别:

    • 3NF:只限制非主属性对主键的依赖
    • BCNF:所有属性(包括主属性)都不能对候选键存在部分/传递依赖
范式 核心要求 消除的异常 判断技巧
1NF 属性原子性 重复组、多值属性 看单元格是否只有一个值
2NF 消除部分依赖 复合主键下的数据冗余 看非主属性是否依赖主键的一部分
3NF 消除传递依赖 非主属性间的依赖冗余 看非主属性是否直接依赖主键
BCNF 决定因素必为候选键 主属性间的依赖冗余 看所有函数依赖的决定方是否都是候选键

例:

非关系模型:

学生ID 学生姓名 组合名称 班级 班主任 科目1 科目2 科目3
001 张三 物化生 物化生1班 王老师 物理 化学 生物
002 李四 物化生 物化生1班 王老师 物理 化学 生物
003 王五 物化生 物化生2班 李老师 物理 化学 生物
004 赵六 物化政 物化政1班 张老师 物理 化学 政治

1NF/2NF:

(学生表)

学生ID 学生姓名 组合名称 班级 班主任
001 张三 物化生 物化生1班 王老师
002 李四 物化生 物化生1班 王老师
003 王五 物化生 物化生2班 李老师
004 赵六 物化政 物化政1班 张老师

(科目表)

组合名称 科目
物化生 物理
物化生 化学
物化生 生物
物化政 物理
物化政 化学
物化政 政治

单属性主键自动满足2NF

存在传递依赖:学生ID → 班级 → 班主任

3NF/BCNF:

(学生表)

学生ID 学生姓名 班级
001 张三 物化生1班
002 李四 物化生1班
003 王五 物化生2班
004 赵六 物化政1班

(班级表)

班级 组合名称 班主任
物化生1班 物化生 王老师
物化生2班 物化生 李老师
物化政1班 物化政 张老师

(科目表)

组合名称 科目
物化生 物理
物化生 化学
物化生 生物
物化政 物理
物化政 化学
物化政 政治

已经是BCNF(决定因素都是候选键"班级")

三级模式

内模式

也称为存储模式,是数据在数据库内部的表现形式

  1. 一个数据库只有一个内模式

  2. 一个表可能由多个文件组成

模式

也称作概念模式逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

  1. 一个数据库只有一个模式

  2. 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系

外模式

也称作子模式用户模式,是数据库用户(包括应用程序员和最终用户)能够看到的

  1. 一个数据库可以有多个外模式
  2. 外模式就是用户试图
  3. 外模式是保证数据安全性的一个有力措施

两级映射

映射类型 作用 保证的独立性
外模式/模式映射 将用户视图映射到全局逻辑结构 逻辑独立性
模式/内模式映射 将逻辑结构映射到物理存储 物理独立性

IDEF1X

实体

独立标识符实体/独立实体:强实体

有独立主键,不依赖其他实体存在

从属标识符实体/从属实体:弱实体

主键包含外键,必须依附其他实体

联系

联系类型 图示特征 业务含义 示例
可标定连接 圆角矩形,连线带黑点 子实体主键包含父实体主键(强依赖) 订单明细(主键=订单号+明细号)
非标定连接 圆角矩形,连线无黑点 子实体主键不包含父实体主键(弱依赖) 员工-部门(员工有独立工号)
分类联系 一实体分多个子类 继承关系,子类继承父类属性 员工 → 正式工/临时工
非确定联系 菱形连接 多对多关系,需分解为关联表 学生-课程

属性/关键字

IDEF1X术语 对应数据库术语 说明
主关键字/主码 主键 唯一标识实体实例
次关键字/候选码 候选键 可作为主键的备选属性
外来关键字/外来码 外键 建立实体间联系的属性

IDEF0功能描述图示

image-20260209141138947

E-R(实体-关系)图示

img

基数类型 符号表示 含义
一对一 (1:1) 1—1 一个实体实例对应另一个实体的一个实例(如班长-班级)
一对多 (1:N) 1—N 一个实体实例对应多个实例(如班级-学生)
多对多 (M:N) M—N 双方都可对应多个实例(如学生-课程)
INSERT INTO notes (time, edition) VALUES ('2026-02-09', 'First Edition');

T-SQL

单词

从该部分起,应了解一些基础的英文单词。

数据类型

英文单词 释义 说明
TABLE 数据存储的基本结构
VIEW 视图 虚拟表,基于查询结果
INDEX 索引 加速数据检索的数据结构
COLUMN 列、字段 表中的垂直数据项
ROW 行、记录 表中的水平数据项
PRIMARY 主要的 PRIMARY KEY 主键
KEY 用于唯一标识或关联数据
FOREIGN 外来的、外部的 FOREIGN KEY 外键
REFERENCES 引用、参考 外键约束中指定引用的表
CONSTRAINT 约束 对数据的限制规则
DEFAULT 默认值 未指定值时使用的默认值
UNIQUE 唯一的 确保列值不重复
CHECK 检查 验证数据满足条件
IDENTITY 标识 自动递增的列(SQL Server)

核心关键字

英文单词 释义 示例/说明
SELECT 选择、查询 用于从数据库中检索数据
FROM 从... 指定数据来源的表或视图
WHERE 在哪里、条件 用于筛选满足条件的记录
INSERT 插入 向表中添加新数据
UPDATE 更新 修改表中现有数据
DELETE 删除 从表中移除数据
CREATE 创建 创建数据库对象(表、视图等)
ALTER 修改、更改 修改现有数据库对象结构
DROP 删除、丢弃 删除数据库对象
JOIN 连接 将多个表的数据关联起来

常见操作

英文单词 释义 用法场景
INTO 到...里面 INSERT INTO 插入到某表
VALUES INSERT 语句中指定具体值
SET 设置 UPDATE 中指定列的新值
AS 作为、别名 为列或表指定别名
AND 并且 多条件同时满足
OR 或者 多条件满足其一
NOT 非、不 否定条件
NULL 空值 表示缺失或未知的数据
IS 常与 NULL 连用 (IS NULL)
IN 在...之中 判断值是否在指定集合内
BETWEEN 在...之间 范围查询(包含边界)
LIKE 像、类似 模糊匹配查询
EXISTS 存在 判断子查询是否有结果
CASE 情况、案例 条件分支表达式
WHEN 当...时 CASE 语句中的条件
THEN 那么 CASE 语句中的结果
ELSE 否则 CASE 语句中的默认结果
END 结束 结束 CASE 表达式

统计

英文单词 释义 功能说明
COUNT 计数 统计记录数量
SUM 求和 计算数值列的总和
AVG 平均值 (Average) 计算平均值
MAX 最大值 (Maximum) 返回最大值
MIN 最小值 (Minimum) 返回最小值
GROUP 分组 按指定列对数据进行分组
BY 通过、按照 GROUPORDER 配合使用
ORDER 排序 对结果集进行排序
ASC 升序 (Ascending) 从小到大排序(默认)
DESC 降序 (Descending) 从大到小排序
HAVING 有、拥有 对分组后的结果进行筛选
DISTINCT 不同的、唯一的 去重,返回唯一值
TOP 顶部、前N个 限制返回的记录数(SQL Server)
LIMIT 限制 限制返回数量(MySQL用法,T-SQL用TOP)

事务

英文单词 释义 功能
TRANSACTION 事务 一组作为整体执行的SQL操作
BEGIN 开始 开始事务或代码块
COMMIT 提交 确认并保存事务更改
ROLLBACK 回滚 撤销事务更改
SAVE 保存 SAVE TRANSACTION 设置保存点
IF 如果 条件判断
ELSE 否则 条件不成立时执行
WHILE 当...时候 循环语句
BREAK 中断 跳出循环
CONTINUE 继续 跳过当前循环,继续下一次
GOTO 转到 跳转到指定标签
RETURN 返回 从存储过程或函数返回
TRY 尝试 异常处理开始
CATCH 捕获 捕获并处理异常
THROW 抛出 手动引发异常
INSERT INTO notes (time, edition) VALUES ('2026-02-10', 'Second Edition');