ERD 图表

创建实体关系图(ERD)来为数据库结构和数据关系建模。

什么是 ERD?

实体关系图用于可视化:

  • 实体:数据库表或对象
  • 属性:实体的特性
  • 关系:实体之间如何相互连接
  • 基数:关系的性质(一对一、一对多等)

创建 ERD

添加实体

  1. 在工具栏中选择表格工具,并在画布上点击为每个实体创建一个表格
  2. 使用第一行作为实体名称,后面的行用于属性

有关编辑行、列和单元格文本的内容,请参阅表格。

每个实体通常包含:

  • 实体名称(表头)
  • 主键字段
  • 其他属性

添加关系

  1. 选择连接器工具
  2. 在相关实体之间画一条线
  3. 为基数设置合适的箭头

鸦脚记号法

鸦脚记号法是最常见的 ERD 样式。它使用连接器端点的符号来表示基数。

基数符号

符号含义
|(单线)一
○(圆圈)零(可选)
< 或 >(鸦脚)多

常见关系

记法起点终点含义
一对一||每条记录恰好对应一条记录
一对多|<一条记录对应多条记录
多对多<>多条记录对应多条记录
零或一○||可选的单一关系
零或多○<|可选的多重关系

应用鸦脚箭头

  1. 选择实体之间的一个连接器
  2. 在检查器的样式标签页中,进入连接器部分
  3. 从内置箭头列表中选择起始箭头和结束箭头。ERD 箭头包括:
箭头典型含义
双线段恰好一个(‖)
线段球零个或一个(○|)
鱼尾多个
鱼尾线一个或多个(|<)
鱼尾球零个或多个(○<)

鱼尾段和鱼尾球圆是"一个或多个"与"零个或多个"端点的另一种画法。

您也可以右键点击连接器的端点来选择其箭头。

ERD 工作流示例

步骤 1:识别实体

以电子商务数据库为例:

  • 客户
  • 订单
  • 产品
  • 订单项

步骤 2:定义属性

客户

  • customer_id(主键)
  • name
  • email
  • phone

订单

  • order_id(主键)
  • customer_id(外键)
  • order_date
  • total

步骤 3:绘制实体

  1. 为每个实体使用表格工具创建一个表格
  2. 将实体名称添加为表头
  3. 在每个表格中列出属性
  4. 标记主键(PK)和外键(FK)

步骤 4:添加关系

  1. 从"客户"到"订单"绘制连接器
  2. 在"客户"端设置"一"(|)
  3. 在"订单"端设置"多"(<)
  4. 这表示:一个客户有多个订单

步骤 5:标注关系

为连接器添加文本标签:

  • "下单"(客户 → 订单)
  • "包含"(订单 → 订单项)
  • "属于产品"(产品 → 订单项)

ERD 最佳实践

布局

  • 让相关实体靠得更近
  • 使用一致的实体大小
  • 按网格模式对齐实体
  • 尽量减少连接器交叉

命名

  • 实体使用单数名词(Customer,而不是 Customers)
  • 使用一致的命名约定(camelCase、snake_case)
  • 用动词标注关系

文档记录

  • 为所有实体注明主键
  • 清楚地标出外键
  • 考虑添加数据类型
  • 注明任何约束

使用技巧

  • 从文本开始:使用编辑 → 插入 Mermaid(PRO)粘贴一段 Mermaid erDiagram 以获得初稿,然后再进行完善——参见 Mermaid 支持
  • 使用自动布局:帮助整理复杂的图表
  • 对相关实体分组:形成逻辑区块
  • 导出用于文档:纳入技术规范和 wiki
  • 版本控制:随着数据库演进保存各个迭代版本