一、引言
核心概念定义
关系模型是基于集合论和谓词逻辑的抽象数据模型,通过二维表结构描述实体及实体间联系,是关系数据库的核心理论基础。1970 年 IBM 研究员 E.F.Codd 在《大型共享数据库的关系模型》论文中首次提出该模型,彻底替代了此前的网状、层次数据模型,成为当前数据库领域的事实标准。
软考定位
关系模型是软考数据系统工程师考试的核心基础知识点,占数据库原理模块分值的 15%-20%,主要以选择题形式考查概念辨析、完整性约束应用、码的判定等内容,是后续学习数据库规范化、事务管理、SQL 优化等知识点的前置基础。
发展脉络
关系模型的发展经历三个核心阶段:1970-1979 年为理论成型期,Codd 陆续提出关系代数、函数依赖、范式理论等核心框架;1979 年 Oracle 发布首个商用关系数据库,进入产业落地期;2000 年以后分布式关系数据库兴起,关系模型在分布式场景下得到扩展,形成了 NewSQL 的技术分支。
本文内容覆盖
本文将从概念映射、码的分类、关系模式形式化、关系类型、完整性约束、真题解析、备考建议 7 个维度系统梳理关系模型的核心知识点,配套历年软考真题验证,构建完整的知识体系。

关系模型发展历程时间轴与技术里程碑示意图
二、现实世界到关系模型的概念映射
核心概念对应关系
(1)关系与表
关系是实体及实体间联系的数学抽象,对应数据库中的表。关系是元组的集合,具备集合的无序性、元素唯一性特征,因此表的行顺序不影响关系的语义。
(2)关系模式与表结构
关系模式是对关系的结构化描述,对应表结构,定义了关系的属性集合、属性类型、取值约束等静态特征,是关系的 “类型定义”,不随数据变化而变更。
(3)元组与行
元组是关系中的单个元素,对应表中的一行记录,描述一个具体实体实例的属性值集合。
(4)属性与列
属性是关系的描述维度,对应表中的列 / 字段,每个属性对应一个唯一的属性名,具备原子性约束。
(5)域与取值范围
域是属性的合法取值集合,规定了属性的取值边界,例如 “性别” 属性的域为 {' 男 ',' 女 ',' 未知 '},“年龄” 属性的域为 0-150 的整数集合。
真题验证
2020 年上午第 37 题:在一个关系表中,表的行对应关系模型中的____?
A. 属性 B. 域 C. 元组 D. 关系模式
答案:C,行对应元组,是单个实体实例的描述。

现实世界 – 概念世界 – 数据世界的三层映射关系图
三、关系的码体系:唯一标识与关联基础
码是关系模型中实现实体唯一标识和实体间关联的核心机制,是区分概念掌握程度的核心考点。
候选码
(1)定义:能唯一标识关系中任意元组的最小属性或属性组,一个关系可以存在多个候选码。“最小” 指候选码的任意真子集都无法满足唯一标识的要求。
(2)示例:员工表 (员工号,身份证号,姓名,部门) 中,员工号和身份证号均满足唯一标识要求,且均为最小属性集合,因此二者都是候选码。
主码与主属性
(1)主码:从多个候选码中选定一个作为元组的官方唯一标识,主码的值不允许重复,也不允许为 NULL。数据库实现中通过 PRIMARY KEY 约束强制主码规则。
(2)主属性:包含在任意一个候选码中的属性,上述示例中员工号、身份证号均为主属性;不包含在任何候选码中的属性为非主属性,示例中的姓名、部门为非主属性。
外码
(1)定义:若关系 R 中的属性(组)F 不是 R 的码,但对应关系 S 的主码,则 F 为 R 的外码。外码是实现参照完整性的核心机制,建立了两个关系之间的关联。
(2)示例:选课表 (学号,课程号,成绩) 中,学号不是选课表的主码(选课表主码为 (学号,课程号) 属性组),但对应学生表的主码 “学号”,因此学号是选课表的外码。
全码
(1)定义:关系的所有属性组合在一起才能唯一标识元组,此时整个属性组为候选码,称为全码,是候选码的特殊形式。
(2)示例:教师授课关系 (教师号,课程号,学期) 中,一个教师可以在不同学期教授同一课程,同一课程在同一学期可以由多个教师教授,因此三个属性共同构成候选码,即全码。
真题验证
2015 年上午第 29 题:关系 R (H,L,M,P) 的主键为全码,则主键应为____?
A. HLMP B. H C. HL D. HM
答案:A,全码要求所有属性共同构成唯一标识的最小属性组。

码的分类体系与判定逻辑流程图
四、关系模式的形式化表示
关系模式是关系结构的数学化描述,完整形式为 R (U,D,dom,F),各组成部分定义如下:
组成元素详解
(1)R:关系名,是关系的唯一标识,对应数据库中的表名。
(2)U:属性集合,即关系包含的所有属性的集合,例如学生关系的 U={学号,姓名,性别,年龄,院系}。
(3)D:域集合,即所有属性对应的取值域的集合,例如上述学生关系的 D={字符串,{男,女},0-150 整数,院系名称集合}。
(4)dom:属性到域的映射函数,明确每个属性对应的具体域,例如 dom (性别)=D2(性别域),dom (年龄)=D3(年龄域)。
(5)F:属性间的数据依赖集合,描述属性之间的约束关系,例如 “学号决定姓名” 的函数依赖,是后续数据库规范化理论的基础。
简化表示
实际应用中通常简化表示为 R (U) 或 R (A1,A2,…,An),例如学生关系简记为 S (Sno,Sname,Ssex,Sage,Sdept),省略域、映射和依赖部分的显式描述。
真题验证
2020 年上午第 33-34 题:关系型数据库是____的集合,表是____的集合。
A. 表 B. 记录 C. 字段 D. 域
答案:A、B,关系数据库由多个表(关系)组成,每个表由多个记录(元组)组成。
五、关系的三类存在形式
根据存储特性和作用,关系分为三类,是理解数据库物理存储与逻辑抽象的核心概念:
基本关系(基本表)
(1)定义:实际存储数据的独立存在的表,是数据持久化存储的载体,对应数据库的物理存储文件。
(2)特性:具备完整的约束定义,支持数据的增删改查操作,数据变更会持久化到存储介质。我们日常使用 CREATE TABLE 语句创建的表绝大多数属于基本关系。
查询表
(1)定义:查询执行过程中动态生成的结果表,是临时存在的中间或最终结果集。
(2)特性:仅在查询执行期间存在,查询结束后自动释放,不持久化存储,例如执行 SELECT 语句返回的结果集即为查询表。
视图表
(1)定义:由基本表或其他视图导出的虚拟表,数据库中仅存储视图的定义(查询语句),不存储视图对应的数据。
(2)特性:查询视图时数据库会动态执行其定义的查询语句,从基本表中获取实时数据。视图提供了数据的逻辑独立性,能够实现权限控制、简化复杂查询等功能,是数据库设计中的重要工具。
三类关系的核心对比:基本表是数据存储的 “仓库”,视图是观察仓库的 “定制窗口”,查询表是从仓库临时取出的 “货物批次”。

三类关系的存储结构与数据流转示意图
六、关系的完整性约束体系
完整性约束是保证数据正确性、有效性、一致性的核心规则,是关系模型的重要组成部分,共分为三类:
实体完整性
(1)规则:主属性(构成候选码的所有属性)不允许取空值(NULL)。
(2)原理:主码是元组的唯一标识,若主属性取空值,则表示存在不可标识的实体,破坏了实体的可区分性。
(3)实现:数据库通过 PRIMARY KEY 约束自动强制执行,插入或更新数据时若主属性为空或重复,会直接拒绝操作。
参照完整性
(1)规则:若属性(组)F 是关系 R 的外码,对应关系 S 的主码 K,则 R 中每个元组在 F 上的取值必须要么为空值,要么等于 S 中某个元组的主码值。
(2)原理:外码描述的是两个关系的关联关系,不允许引用不存在的实体实例。
(3)实现:通过 FOREIGN KEY 约束强制执行,支持级联更新、级联删除、受限删除等参照动作配置。例如选课表的学号外键必须存在于学生表的学号主码中,否则插入操作会被拒绝。
用户定义完整性
(1)规则:针对具体业务场景定义的语义约束,反映业务规则的个性化要求。
(2)实现:通过 NOT NULL、UNIQUE、CHECK 约束、触发器、存储过程等方式实现,例如 “性别只能为男 / 女”“成绩取值范围 0-100”“邮箱必须包含 @符号” 等约束均属于用户定义完整性。
真题验证
(1)2020 年上午第 38 题:关系的完整性约束不包含以下哪一项?
A. 实体完整性 B. 参照完整性 C. 属性完整性 D. 用户定义完整性
答案:C,三大完整性为实体、参照、用户定义完整性,无属性完整性概念。
(2)2020 年上午第 39 题:参照完整性约束通过以下哪一项实现?
A. 主码 B. 候选码 C. 外码 D. 全码
答案:C,外码是参照完整性的实现载体。

三类完整性约束的作用范围与执行逻辑图
七、高频真题考点解析
软考中关系模型的考点集中在概念辨析,以下为高频考点的典型真题解析:
关系的集合特性
2016 年上午第 47 题:下列关于关系的说法正确的是?
A. 交换两行会产生新关系
B. 两个属性可以取自同一个域
C. 交换两列会产生新关系
D. 一个属性可以由多个子列组成
答案:B。关系是元组的集合,集合无序,交换行或列都不会产生新关系;关系模型要求属性满足第一范式,必须是原子不可拆分的,因此 A、C、D 错误。“班主任” 和 “辅导员” 两个属性都可以取自 “教职工姓名” 域,B 正确。
原子域与第一范式
2020 年上午第 41 题:一个取值域是原子的,指的是?
A. 域中的元素是字符串类型
B. 域中的元素是不可拆分的单元
C. 域中的元素是整数类型
D. 域中的元素是可拆分的结构
答案:B,原子域要求元素具备不可拆分性,是第一范式的核心要求。
关系查询语言范畴
2020 年上午第 40 题:以下不属于关系数据库查询语言理论基础的是?
A. 关系代数 B. 元组关系演算 C. 导航式语言 D. 域关系演算
答案:C,导航式语言是网状、层次数据库的查询方式,关系数据库的理论基础为关系代数和关系演算(元组演算、域演算)。

关系模型高频考点分值分布与出题频率统计图
八、总结与备考建议
核心知识点提炼
关系模型的核心可以概括为 “一二三四”:一个核心(二维表结构)、两类码(候选码、外码)、三类关系(基本表、查询表、视图表)、三类完整性约束(实体、参照、用户定义)。
软考考试重点提示
高频考点包括:候选码与主属性的判定、外码与参照完整性的应用、三类完整性约束的区分、关系的集合特性、第一范式的原子性要求。易错点为全码的判定、主属性与非主属性的区分、参照完整性的空值规则。
实践应用建议
(1)表设计阶段明确每个表的候选码,选定主码后严格执行实体完整性约束,禁止主属性为空。
(2)实体间的关联必须通过外键实现,严格执行参照完整性,避免出现数据不一致问题。
(3)业务规则优先通过数据库层的用户定义完整性约束实现,从存储层保证数据质量。
备考策略
(1)精准记忆核心定义,尤其是候选码、主属性、外码、完整性约束的官方定义,做到一字不差。
(2)建立概念关联,将 “主码 – 实体完整性”“外码 – 参照完整性”“业务规则 – 用户定义完整性” 三对概念绑定记忆。
(3)以真题为核心,通过近 10 年的真题练习排查概念模糊点,重点关注全码、原子域、关系特性等易混淆知识点。
关系模型是关系数据库的理论根基,透彻掌握该部分内容,不仅能够轻松应对软考中的概念类考题,更能为后续的数据库设计、性能优化、分布式数据库学习建立坚实的理论基础,是从 “数据库使用者” 向 “数据库设计师” 进阶的第一步。


