1、Mermaid简介
Mermaid ER 图使用乌鸦脚表示法(Crow's Foot Notation),关系语法为:
实体A <左端基数>--<右端基数> 实体B : "关系描述"其中--是实线(强关系),..是虚线(弱关系)。
详细内容可以看Mermaid 介绍。
2、ER图基数符号
| 符号 | 含义 |
|---|---|
| ` | |
|o或o| | 零或一个 |
o{或}o | 零个或多个 |
|{或}| | 一个或多个 |
注意:{和}的开口始终朝向实体一侧。
3、四种关系写法
代码
erDiagram A ||--|| B : "一对一" C ||--o{ D : "一对多" E }o--|| F : "多对一" G }o--o{ H : "多对多"图表
- 一对一:
A ||--|| B— 两端都是恰好一个 - 一对多:
C ||--o{ D— 左端一个,右端零或多个 - 多对一:
E }o--|| F— 左端零或多个,右端一个(其实就是一对多反过来写) - 多对多:
G }o--o{ H— 两端都是零或多个
3.1 数据库示例
代码
erDiagram USER ||--o{ ORDER : places ORDER ||--|{ ORDER_ITEM : contains USER { string id PK string name } ORDER { string id PK string user_id FK date created_at } ORDER_ITEM { string id PK string order_id FK int quantity }图表
这里USER对ORDER是一对多,ORDER对ORDER_ITEM是一对多(至少一个)。PK/FK 只是展示标记,Mermaid 不会自动校验外键。