ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

数据库设计 · 数据建模 · 关系模型

数据库设计 · 数据建模 · 关系模型


一、总纲:三者关系


数据库设计(六阶段) ├─ ①需求分析 ├─ ②概念结构设计 ─┐ ├─ ③逻辑结构设计 ─┼─ ★ 数据建模(三层) ├─ ④物理结构设计 ─┘ ├─ ⑤数据库实施 └─ ⑥运行维护 ③阶段【采用】关系模型 → 产出一组【关系模式】

概念

是什么

层级

数据库设计

需求到可运行系统的全过程​

最大

数据建模

设计中的②③④阶段(概念/逻辑/物理三层)

中间

关系模型

逻辑阶段采用的一套理论​

理论/工具

关系模式

关系模型的产物(单表的"型")

最小


二、数据库设计六阶段

阶段

任务

产出

与DBMS

①需求分析

用户要什么

数据流图、数据字典​

—

②概念结构

数据长什么样

E-R 图​

无关​ ★

③逻辑结构

转成数据模型

关系模式+规范化

与模型类型有关

④物理结构

怎么存怎么取

索引、存储方案

有关​ ★

⑤实施

建库跑起来

DDL建库/装数据/试运行

有关

⑥运维

长期养护

备份恢复、重组重构、调优

有关



口诀:需求→概念→逻辑→物理→实施→运维;概念与DBMS【无关】,物理与DBMS【有关】
数据建模三层 = 概念(E-R) + 逻辑(关系模式) + 物理(索引),不含需求分析

三、核心转换规则

联系

规则

1:1

并入任一端(或独立成表)

1:N​

并入N 端(多端加外键)

M:N​

必须独立成表,主键=两端主键组合

口诀:1:1随意放 / 1:N放N端 / M:N独立成表

范式

1NF 分量原子 → 2NF 消部分依赖 → 3NF 消传递依赖(工程常用) → BCNF

⚠️不是越高越好,必要时反规范化(有意加冗余提性能)

局部E-R集成的三类冲突

属性冲突(类型/单位) ·命名冲突(同名异义/异名同义) ·结构冲突(实体↔属性)


四、关系模型

三要素(严谨表述)

关系模型 = 关系数据结构 + 预定义的关系操作集合 + 关系完整性约束 (二维表) (关系代数) (三类)

要素

内容

①数据结构​

关系(二维表)​ —— 唯一逻辑结构

②数据操作​

预定义的关系代数运算

③完整性约束​

实体 / 参照 / 用户定义

三类完整性约束

类型

规则

是否预定义

实体完整性​

主码非空、不重复​

✅ 模型要求

参照完整性​

外码或为空,或等于被参照表主码

✅ 模型要求

用户定义完整性​

按业务语义定(如年龄0~150)

❌用户自定义​

五、★ 关系模式 vs 关系模型

关系模型​

关系模式​

性质

整套理论/数据模型​

单个表的"型"​

范围

全局(整个库)

局部(一张表)

组成

结构+操作+约束

关系名+属性集合

表示

—

R(A1,A2,...,An)

通俗

"用表存数据这套办法"

"这张表有哪些列"

型 vs 值(关键尺子)

型(结构)

值(数据)

单表

关系模式​

关系(实例)

全库

关系数据库模式​

关系数据库​

类比

类定义

对象实例

关系模式(型):学生(学号, 姓名, 年龄) ← 表头,静态
关系(值) :2024001 | 张三 | 20 ← 元组,动态
一句话:关系模式是关系模型"数据结构"要素中的"型"——它是关系模型的一个零件,不是并列概念。

六、一句话流程串联

需求 → 概念(E-R,与DBMS无关) → 逻辑(关系模式+范式) → 物理(索引,与DBMS有关) → 实施(建库装数据) → 运维(备份重构调优) ↑ 第③步采用【关系模型】,产出【关系模式】
返回列表