ER 图:基数与标识关系

ER 图:基数与标识关系

puml.online

简介 / Introduction

ER 图(实体关系图)用于描述数据模型中的实体、属性及其关系。基数(Cardinality)表示两个实体之间对应数量的约束,标识关系(Identifying Relationship)则区分强实体和弱实体。本文演示 PlantUML 和 Mermaid 两种语法的写法,并做简要对比。

PlantUML 版

PlantUML 通过 ||--o{ 等符号表示基数和标识关系:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@startuml
entity "Customer" as C {
+customer_id : int <<PK>>
--
name : varchar
}
entity "Order" as O {
+order_id : int <<PK>>
--
customer_id : int <<FK>>
amount : decimal
}
C ||--o{ O : places

entity "OrderItem" as OI {
+order_id : int <<PK, FK>>
+product_id : int <<PK>>
quantity : int
}
O ||--|| OI : contains
@enduml

Mermaid 版

Mermaid 使用单字符组合表示基数,标识关系同样用双线 || 表示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|| ORDERITEM : contains
CUSTOMER {
int customer_id PK
varchar name
}
ORDER {
int order_id PK
int customer_id FK
decimal amount
}
ORDERITEM {
int order_id PK, FK
int product_id PK
int quantity
}

对比 / Side-by-side

特性 PlantUML Mermaid
基数表示 符号 ||--o{ 等 | 和 o 组合
标识关系 双线 || 双线 ||
强/弱实体 依赖线型区分 依赖关系型区分
关系名称 : label 写在符号后 直接写在实体之间

PlantUML 的符号系统更直观,通过线型就能判断基数类型和实体强弱;Mermaid 则采用简洁的字母组合,胜在上手快、学习成本低。

小结 / Wrap-up

ER 图是数据库设计的核心工具。掌握两种工具的基数和标识关系语法,有助于在不同文档场景中灵活切换。选择 PlantUML 可获得更丰富的视觉表达,选用 Mermaid 则便于快速嵌入 Markdown。

  • 标题: ER 图:基数与标识关系
  • 作者: puml.online
  • 创建于 : 2026-09-15 09:00:00
  • 更新于 : 2026-09-29 01:06:38
  • 链接: https://puml.online/blog/er-diagram-cardinality/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。