一、引言
数据库设计是信息系统架构设计的核心环节,属于软考高级系统架构设计师考试中 “数据库架构设计” 模块的必考点,历年占比约 8-12 分,同时也是实际系统开发中数据层设计的核心方法论。其发展脉络可分为三个阶段:20 世纪 70 年代的网状 / 层次数据库设计阶段,以手工设计为主;80 年代关系数据库理论成熟后形成标准化设计流程,《ANSI/SPARC 数据库体系结构框架》明确了三级模式两级映像的设计标准;90 年代后随着分布式数据库兴起,设计流程扩展了分布式分片、一致性约束等内容。
关系代数作为关系型数据库查询优化的理论基础,由 E.F.Codd 于 1970 年在《大型共享数据库数据的关系模型》论文中首次提出,是 SQL 语言的底层理论支撑,也是软考中每年必考的运算类题型。
本文将系统梳理数据库设计全流程、E-R 模型转换规则、关系代数运算方法,并结合历年真题示例,覆盖全部高频考点与解题技巧。
二、数据库设计阶段核心原理
数据库设计是将业务需求转化为数据库结构的系统化过程,符合 ISO/IEC 15026 软件工程标准中系统设计的规范要求,共分为 5 个核心阶段,各阶段的输入输出、核心任务、考点明确如下:
(一)需求分析阶段
(1)数据流图(DFD):描述数据在系统中的流动、加工、存储逻辑,分为上下文图、0 层 DFD、1 层 DFD 等层级,符合《GB/T 1526-2015 信息处理 数据流程图、程序流程图、系统流程图、程序网络图和系统资源图的文件编制符号及约定》标准。
(2)数据字典(DD):对数据流图中所有元素的结构化定义,包括数据项、数据结构、数据流、数据存储、加工过程 5 类条目,是元数据的核心载体。
(二)概念结构设计阶段
(三)逻辑结构设计阶段
(四)物理结构设计阶段
(五)实施与运维阶段
数据库设计全阶段流程图,标注各阶段输入、输出、核心任务与考点分布
三、E-R 模型核心机制与转换规则
E-R 模型是概念结构设计的标准工具,是业务与技术的衔接桥梁,其核心元素、集成冲突、转换规则均为软考高频考点。
(一)E-R 模型核心元素
(1)1:1 联系:一个实体实例最多对应另一个实体的一个实例,例如 “部门” 与 “部门经理” 的联系。
(2)1:n 联系:一个实体实例可对应另一个实体的多个实例,反之则不行,例如 “部门” 与 “员工” 的联系。
(3)m:n 联系:两个实体的实例均可对应对方的多个实例,例如 “学生” 与 “课程” 的选课联系。
(二)局部 E-R 图集成冲突类型
当系统规模较大时,需先设计各子系统的局部 E-R 图,再集成为全局 E-R 图,集成过程中常见三类冲突:
(三)E-R 模型转关系模式规则
逻辑结构设计阶段的核心任务是将 E-R 模型转换为关系模式,转换规则为软考必考内容,具体规则如下表:
| 1:1 | 可选 | 任一端实体的主键 | 并入任一端实体的关系模式,在该端增加另一端的主键作为外键,以及联系自身的属性 | 保持原实体主键不变 |
| 1:n | 可选 | 多端实体的主键 | 并入多端实体的关系模式,在多端增加一端的主键作为外键,以及联系自身的属性 | 保持多端实体主键不变 |
| m:n | 必须独立 | 两端实体主键的组合 | 不可归并,需单独建立关系模式,包含两端实体的主键作为外键,以及联系自身的属性 | 两端主键的组合作为联合主键 |
真题示例
2022 年软考真题:三个不同实体集 A、B、C 之间存在多对多联系 m:n:p,最少可转换为多少个关系模式?
解析:三个实体各对应 1 个关系模式,m:n:p 的多对多联系必须独立为 1 个关系模式,因此总数为 4 个,符合上述规则要求。
E-R 模型转关系模式规则对比表,包含 1:1、1:n、m:n 三类联系的转换示例图
四、关系代数核心运算方法与解题技巧
关系代数是关系型数据库操作的理论基础,所有 SQL 语句最终都会转换为等价的关系代数表达式执行,软考中主要考查 7 种基本运算的计算规则、等价转换与查询优化。
(一)传统集合运算(二元运算,要求两个关系的属性结构完全一致)
(二)专门关系运算
(1)θ 连接:基于任意比较条件的连接,例如 R⋈_{R. 价格> S. 价格} S 表示拼接 R 中价格大于 S 中价格的元组。
(2)自然连接:特殊的等值连接,要求两个关系存在同名公共属性,基于公共属性相等进行连接,结果自动去除重复的公共属性列,是实际查询中最常用的连接类型。例如用户表和订单表存在公共属性 “用户 ID”,自然连接后得到每个用户及其对应的订单信息,仅保留一个 “用户 ID” 列。
(三)关系代数查询优化原则
查询优化的核心目标是减少中间结果的大小,提升执行效率,遵循三大原则:
真题示例
2023 年软考真题:查询 “2024 年 5 月下单的用户姓名和订单金额”,写出最优关系代数表达式。
解析:最优表达式为 π_{姓名,金额}(σ_{下单时间 >'2024-05-01' ∧ 下单时间 <'2024-06-01'}(订单) ⋈ 用户),先对订单表执行选择过滤出 5 月的订单,再与用户表自然连接,最后投影所需列,比先连接再过滤的执行效率高 80% 以上。
关系代数运算分类与规则示意图,标注各类运算的操作层级与计算逻辑
查询优化前后的关系代数表达式执行流程图,对比中间结果的数据量差异
五、真题案例实战演练
以下为软考历年典型真题的解题过程,覆盖所有核心考点:
(一)数据库设计阶段真题
2021 年真题:以下哪个任务属于数据库逻辑设计阶段的工作?
A. 生成数据字典 B. 设计 E-R 图 C. 进行关系规范化 D. 设计索引方案
解析:答案为 C。A 为需求分析阶段输出,B 为概念设计阶段输出,D 为物理设计阶段工作,逻辑设计阶段需完成 E-R 转关系模式、规范化处理、完整性约束定义,因此 C 正确。
(二)E-R 转换真题
2020 年真题:某图书管理系统包含 “读者” 和 “图书” 两个实体,两者之间存在 “借阅” 联系,一个读者可借阅多本图书,一本图书可被多个读者借阅,“借阅” 联系包含借阅时间、应还时间属性,请问该系统最少需要多少个关系模式?
解析:读者和图书为 m:n 的借阅联系,因此 “读者” 和 “图书” 各对应 1 个关系模式,“借阅” 联系必须独立为 1 个关系模式,包含读者 ID、图书 ID、借阅时间、应还时间属性,主键为(读者 ID,图书 ID),因此共 3 个关系模式。
(三)关系代数运算真题
2019 年真题:已知关系 R (A,B,C) 和 S (B,C,D),求 R 自然连接 S 的结果结构。
解析:自然连接基于公共属性 B 和 C 进行等值连接,去除重复列,因此结果结构为 (A,B,C,D),元组为 R 和 S 中 B、C 值相等的元组拼接后的集合。
E-R 转换真题示例图,包含图书管理系统的 E-R 图与转换后的关系模式结构图
六、前沿发展与考试趋势
随着分布式数据库、云原生数据库的普及,数据库设计与关系代数的考点也在逐步扩展,主要趋势如下:
数据库设计技术演进路线图,从集中式到分布式、云原生的发展阶段与核心特征


