数据库关系建模

Mermaid ER 图在线编辑器

在线创建 Mermaid ER 图,建模数据库实体、属性、主键、外键、基数和关系含义,实时预览 ERD 并导出 SVG 或 PNG。

在线创建 Mermaid ER 图

从客户、订单和订单项开始,修改键、属性、基数和关系标签,并同步查看 ERD。

在线创建 Mermaid ER 图

修改源码后,预览会自动更新。

er-diagram.mmd17
实时预览等待渲染

打开完整编辑器

同时评审数据结构与基数约束

Mermaid ER 图把实体、关键属性、键和关系保存在文本中,可与数据库变更和技术文档一起评审。

明确表示基数

在关系两端表达必选、可选、一条和多条等约束。

记录键与属性

添加与模型有关的字段,并标记主键、外键和唯一键。

实时 Mermaid 预览

修改源码时同步查看渲染结果,并在源码旁直接检查语法反馈。

无需本地安装

直接在现代浏览器中使用,无需安装 Mermaid CLI、桌面应用或编辑器插件。

继续使用 OnUML

将当前源码带入完整编辑器,继续使用 AI 生成、修复、分享和项目管理。

如何创建 Mermaid ER 图

一次聚焦一个数据库问题,并检查每条关系和键是否反映真实的数据约束。

  1. 01

    列出回答当前数据库设计问题所需的实体。

  2. 02

    只添加与关系、身份和评审有关的属性与键。

  3. 03

    使用符合可选性和数量约束的基数符号连接实体。

  4. 04

    用简短动词标注关系,使实体之间可以自然阅读。

  5. 05

    检查渲染结果,然后导出或进入完整编辑器。

Mermaid ER 图语法与建模方法

有效的 ERD 应清楚表达归属、可选性和基数,同时避免复制全部数据库字段和实现细节。

先确定实体边界

从具有独立身份和生命周期的概念开始,不要把每个字段或枚举值都建成实体。

从关系两端读取基数

分别检查两端是否可选、是否允许多条记录,两个端点共同定义完整约束。

标记解释关系所需的键

使用 PK、FK 和 UK 说明身份、引用和唯一性,省略与当前问题无关的列。

ER 图与类图的区别

持久化实体、键和数据库基数使用 ER 图;软件行为、接口和继承使用类图。

Mermaid ER 图示例

示例表示客户创建订单、订单包含订单项,并标注主键、外键和唯一键。

erDiagram
    CUSTOMER ||--o{ ORDER : 下单
    ORDER ||--|{ LINE_ITEM : 包含
    CUSTOMER {
        string id PK
        string email UK
    }
    ORDER {
        string id PK
        string customer_id FK
        date created_at
    }
    LINE_ITEM {
        string order_id FK
        string sku
        int quantity
    }

比较 ER 图语法

Mermaid 与 PlantUML ER 图对比

比较语法、关系表示、数据库建模深度和文本 ERD 的维护方式。

阅读 ER 图对比

常见问题

什么是 Mermaid ER 图在线编辑器?

它是在浏览器中编写 Mermaid erDiagram 语法、预览实体关系并导出 SVG 或 PNG 的工具。

Mermaid ER 图可以表示一对多关系吗?

可以,关系端点支持一条、零或一条、一条或多条、零条或多条等基数。

可以添加主键和外键吗?

可以,属性定义支持 PK、FK 和 UK 标记。

ER 图需要包含全部字段吗?

通常不需要,只保留能解释身份、关系、约束和当前设计问题的字段。

可以把 ER 图导出为 SVG 或 PNG 吗?

可以,SVG 适合可缩放文档,PNG 适合普通图片分享。

什么时候应该使用类图?

当方法、接口、继承和软件职责比持久化数据关系更重要时使用类图。