【软考备考】数据库详解:三级模式、ER 转换、关系代数、范式判断一篇打通(附 10 道练习)
2026/7/17 14:10:48 网站建设 项目流程

操作系统通关之后,进军数据库——软考里少有的"上午题 + 下午大题"双重考点模块。

上午题的考法集中在四块:三级模式两级映像(概念)、ER 图转关系模式(计数)、关系代数(行列计算)、范式判断(阶梯推理)。这篇一次打通,下午大题的 ER 转换和范式分析也正是这些规则的放大版。

一、三级模式两级映像:数据库的"三层架构"

数据库把数据分成三层来描述:

外模式(用户模式) ← 用户/应用程序看到的局部视图 概念模式(模式) ← 数据库全局的逻辑结构(有哪些表、什么字段) 内模式(存储模式) ← 数据在磁盘上怎么存(文件组织、索引方式)

类比 Java 开发:外模式是接口返回的 VO,模式是实体类的设计,内模式是底层的存储实现。

两级映像与两种独立性(必考,年年送分)

  • 外模式/模式映像 → 逻辑独立性:表结构变了(比如加个字段),调整映像,外模式不变,应用程序不用改

  • 模式/内模式映像 → 物理独立性:存储方式变了(比如换个索引、换个磁盘组织),模式不变,上层完全无感

记忆法:改动发生在哪一层,独立性就保护它的"上层"不受影响。物理层改动 → 物理独立性保模式;逻辑层改动 → 逻辑独立性保外模式(和应用程序)。

二、ER 模型与转换:背三条规则就够

ER 图三要素:实体(矩形,如学生、课程)、属性(椭圆)、联系(菱形,分 1:1、1:n、m:n)。

转关系模式(表)的规则就三条:

  1. 每个实体 → 一张表,实体的主键就是表的主键;

  2. 1:n 联系 → 不单独成表,把 1 端实体的主键塞进 n 端的表里当外键("并入多端");

  3. m:n 联系 → 必须单独成表,表的主键 =两端实体主键的组合(联系的属性也放这张表)。

于是有了计数口诀(上午题直接考):

关系模式数 = 实体数 + m:n 联系数

例:3 个实体、1 个 1:n、1 个 m:n → 3 + 1 =4 张表(1:n 并入多端,不产生新表)。

三、关系代数:行和列的四则运算

并 ∪、交 ∩、差 −:要求两个关系结构相同(同样的列)。R 有 8 行、R∩S 有 3 行,则 R−S = 8−3 = 5 行——差就是"在 R 里、不在交集里"。

笛卡尔积 ×:两个关系的"全排列组合":

列数相加,行数相乘。R(3列5行) × S(4列6行) = 7 列 30 行。

选择 σ 和投影 π:选择按条件挑行(σ 成绩≥60),投影挑列(π 姓名,成绩)。

自然连接 ⋈:笛卡尔积的"智能版"——按同名属性相等配对,并且去掉重复的同名列。R(A,B,C) ⋈ S(B,C,D) 的结果是 4 列(A,B,C,D),不是 7 列——这是它和笛卡尔积最本质的区别。

四、范式判断:顺着阶梯往上爬

范式是衡量表设计"健不健康"的标准,一级比一级严格。判断一个关系模式"最高达到第几范式",顺着梯子爬,在哪一级摔下来就停在哪。

1NF(地基):所有属性原子不可再分。基本默认满足,考点在往上三级。

2NF:消除部分依赖。当主键是组合键(多个属性联合)时,非主属性不能只依赖主键的一部分

例:选课(学号, 课程号, 姓名, 成绩),主键 (学号, 课程号)。"成绩"依赖完整的组合键没问题,但"姓名"只依赖"学号"——部分依赖,摔倒在 2NF 门前,最高1NF

3NF:消除传递依赖。非主属性不能"拐弯"依赖主键。

例:学生(学号, 姓名, 系号, 系主任),主键学号。学号→系号,系号→系主任——"系主任"通过"系号"传递依赖于学号,摔倒在 3NF 门前,最高2NF

BCNF:再进一步,每个决定因素(依赖的左边)都必须是候选键。软考里明确到 BCNF 的题较少,知道定义即可。

解题三步

  1. 先找主键(是不是组合键?);

  2. 组合键 → 查部分依赖(有没有非主属性只依赖一半?)→ 有则止步 1NF;

  3. 查传递依赖(A→B、B→C 的链条?)→ 有则止步 2NF;

  4. 都干净 → 至少 3NF。


五、10 道练习题

基础题(1~5)

1.在数据库的三级模式结构中,描述数据库全局逻辑结构的是( )。

A. 外模式 B. 内模式 C. 概念模式 D. 存储模式

2.保证数据库逻辑数据独立性的是( )。

A. 模式/内模式映像 B. 外模式/模式映像 C. 外模式/内模式映像 D. 无需映像

3.关系 R 有 3 列 5 行,关系 S 有 4 列 6 行,则 R×S 的结果为( )。

A. 7 列 11 行 B. 12 列 30 行 C. 7 列 30 行 D. 4 列 6 行

4.ER 模型中的 m:n 联系转换为关系模式时,其主键应为( )。

A. 任一端实体的主键 B. 自动生成的序号 C. 联系本身的属性 D. 两端实体主键的组合

5.关系模式满足 1NF 的要求是( )。

A. 所有属性原子不可再分 B. 非主属性完全依赖于主键 C. 不存在传递依赖 D. 存在候选键

进阶题(6~10,带坑)

6.某 ER 图中有 3 个实体,实体之间有 1 个 1:n 联系和 1 个 m:n 联系,最少可转换为( )个关系模式。

A. 3 B. 4 C. 5 D. 6

7.关系模式 选课(学号, 课程号, 姓名, 成绩),主键为(学号, 课程号),存在函数依赖:(学号,课程号)→成绩,学号→姓名。该关系模式最高属于( )。

A. 1NF B. 2NF C. 3NF D. BCNF

8.关系模式 学生(学号, 姓名, 系号, 系主任),主键为学号,存在函数依赖:学号→姓名,学号→系号,系号→系主任。该关系模式最高属于( )。

A. 1NF B. 3NF C. BCNF D. 2NF

9.关系 R(A, B, C) 有 3 行,关系 S(B, C, D) 有 4 行,R 与 S 自然连接后的结果列数为( )。

A. 7 B. 4 C. 3 D. 12

10.关系 R 与 S 结构相同,R 有 8 行,S 有 5 行,R∩S 有 3 行,则 R−S 的行数为( )。

A. 3 B. 8 C. 5 D. 13


六、答案与详解

1. C全局逻辑结构 =概念模式(模式)。外模式是用户视角的局部,内模式/存储模式是物理实现——注意"内模式"和"存储模式"是同一层的两个名字,放一起当干扰项。

2. B逻辑独立性 ↔ 外模式/模式映像(逻辑层变动,保外模式不动,应用程序无感);物理独立性 ↔ 模式/内模式映像。方向记反是最常见的失分,记"改动在哪层,保它的上层"。

3. C笛卡尔积:列相加(3+4=7),行相乘(5×6=30)。选 B 的把列也相乘了;选 A 的把行相加了。

4. Dm:n 联系单独成表,主键 =两端主键的组合——单拿哪一端都标识不了一条"联系记录"(一个学生选多门课、一门课被多人选,只有"学号+课程号"合起来才唯一)。

5. A1NF 只要求原子性。B 是 2NF 的要求,C 是 3NF 的要求——范式的阶梯是层层加码的,别把高层的条件安到 1NF 头上。

6. B计数口诀:实体数 + m:n 联系数 = 3 + 1 =4。1:n 联系并入 n 端,不产生新表。选 C 的把 1:n 也单独成表了。

7. A三步法:主键是组合键(学号+课程号)→ 查部分依赖:姓名只依赖学号,只赖一半→ 止步1NF。组合主键 + 部分依赖,是 1NF 判断题的标准长相。

8. D主键"学号"是单属性,天然无部分依赖 → 过 2NF;但 学号→系号→系主任 构成传递链,系主任传递依赖主键 → 止步2NF。和第 7 题对照看:一个是"赖一半"(部分),一个是"拐个弯"(传递),软考就这两招。

9. B本题大坑:自然连接按同名属性(B、C)配对,并去掉重复的同名列→ 结果是 A, B, C, D 共4 列。选 A(7 列)的是把自然连接当成了笛卡尔积——笛卡尔积才是 3+4=7 列。至于行数,取决于 B、C 的取值配对情况,题目没给数据,不问行数正是此题的严谨之处。

10. CR−S = 在 R 中但不在 S 中的行。R 有 8 行,其中 3 行也在 S 中(即 R∩S),所以 R−S = 8−3 =5 行。选 A(3 行)的把"差"当成了"交"——R−S 和 R∩S 互补:3 + 5 = 8 = R 的全部。


七、五句话带走

  1. 三级模式:外模式(视图)、模式(全局逻辑)、内模式(存储);

  2. 逻辑独立性靠外/模式映像,物理独立性靠模式/内映像——改动在哪层,保它上层;

  3. ER 转换:实体必成表,1:n 并入多端,m:n 单独成表(组合主键);表数 = 实体数 + m:n 数;

  4. 笛卡尔积列加行乘;自然连接去同名重复列

  5. 范式三步:部分依赖止步 1NF,传递依赖止步 2NF,全干净上 3NF。

下一篇预告:数据库第二篇——SQL 与事务:SELECT 多表连接查询怎么写、WHERE 和 HAVING 的分工(一个管行一个管组)、以及事务的 ACID 与并发带来的脏读/不可重复读/幻读。下午题的 SQL 填空,全是这几个套路。


两个提示:一,第 9 题"不问行数"的说明建议保留——读者里一定有较真"行数怎么算"的,这句话能帮你挡掉评论区的疑问,还显得严谨;二,范式部分如果之后要配下午真题做加餐,直接把"三步法"往真题上一套就是一篇新博客,骨架我已经给你留好了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询