尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Mermaid ER 图 5 分钟速成:实体关系图从零到一 + 避坑手册

Mermaid ER 图 5 分钟速成:实体关系图从零到一 + 避坑手册 Mermaid ER 图 5 分钟速成实体关系图从零到一 避坑手册【免费下载链接】mermaidGeneration of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown项目地址: https://gitcode.com/GitHub_Trending/me/mermaid还在数据库设计文档里手画表关系评审会上被追着问口径换种方式用 Mermaid ER 图erDiagram把实体关系写成文本mermaid 项目会自动排版并渲染出标准实体关系图。5 分钟 Mermaid ER 图教程ER 图语法、基数标记、主键标注、大图避坑一次讲清。一分钟上手 ⏱️这一步帮你在 1 分钟内看到第一张实体关系图顺便确认你的渲染环境没问题。把下面 4 行贴进任意 Mermaid 画图入口官网编辑器、VS Code 插件或文档站每行其实就是三要素左右两个实体、中间一根关系线两端的符号编码了各自的基数、冒号后一句从左侧实体视角出发的标签。首行erDiagram是固定声明实体名习惯用大写单数名词但并非强制。渲染出来长这样基数标记全解ER 图语法速查表这一步给你一张覆盖 4 种基数组合的对照表从此不用猜o和|到底谁表示下限。规则一句话每个标记由两个字符组成靠内的字符是下限靠外的是上限。标记左侧写法右侧写法含义常见用法零或一\|oo\|至多一条允许为零用户资料可选关联一条收货地址恰好一\|\|\|\|有且只有一条每张账单必须对应唯一一笔订单零或多}oo{下限为零、上限不限新注册账号可能还没有任何订单一或多}\|\|{至少一条、上限不限购物车里必须至少含一件商品不想记符号的话也可以直接写英文别名比如1恰好一、1一或多、0零或多、only one恰好一渲染结果完全一致。另外关系线中间的两个字符还有讲究--实线是识别关系..虚线是非识别关系区别在「踩坑速查」里展开。属性与主键PK 标记和注释写法这一步帮你给实体挂上关键字段让图从「框加线」变成能直接对着写建表语句的模型。实体名后跟一对花括号里面每行是类型 属性名类型任意字符串string、int、date都行名字后追加PK、UK、FK分别标注主键、唯一键、外键多个约束用逗号连写如PK, FK行尾双引号是注释注释里不能再出现双引号类型结尾加?表示可空v11.16.0 支持。⚠️ 一个容易画冗余的点外键交给关系线表达不必再写进属性。逻辑模型里连线和实体已经说明了归属重复放 FK 字段只是噪音只有想明确画出映射表字段时才在中间表上用PK, FK标注。完整案例 从 0 到 1 搭一个电商数据模型这一步带你分三步增量搭出一个完整电商模型体会「先骨架、后血肉、再微调」的画图节奏。第一步只连骨架。先回答「谁和谁有关系」字段一个字不写5 条关系把「下单—开账单—明细挑商品—品类归拢商品」的主干全部立住此时图就能渲染随时可以拿给同事对齐。第二步补属性。只挑高频字段不需要穷举第三步加弱关系。地址这种「可有可无」的数据用虚线单独接上..画出的虚线标记非识别关系地址记录不必依赖某笔订单就能存在反过来子实体离开父实体就无法成立的关系如明细行离开订单用--实线。三段代码叠加就是完整模型踩坑速查 ⚠️ 多对多、中文名与大图布局这一步汇总出现频率最高的三类翻车场景按「遇到 X → 这样处理」检索即可。遇到多对多关系 → 先直画落库再拆。画图阶段A }o--o{ B一条线直连即可mermaid 会如实渲染双向的「多」真正落到数据库实现时拆成两条一对多加一张中间表遇到中文实体名或带空格的名字 → 引号 方括号别名。实体名本身支持 Unicode含空格时整体加双引号更推荐「短代号 方括号别名」的组合代码里留短名图上显示中文全称遇到大图排版混乱 → 分域分组 换布局引擎。用subgraph按业务域收拢实体、direction控制整体朝向实体太多时再把布局引擎切到 ELK--- config: layout: elk ---前一段管分组与朝向后一段YAML frontmatter启用 ELK 布局两者叠加能救回绝大多数「一团乱麻」。进阶 样式与视觉定制实体框、关系线、属性行这一步给你两条改外观的路径图内声明式跟图走和 CSS跟站走。图内方式适合「某几个实体要突出」classDef定义样式类:::挂到实体上classDef core fill:#fff3e0,stroke:#e65100,stroke-width:2px CUSTOMER:::core ||--o{ ORDER : submits站点级方式适合统一风格ER 图渲染出的节点带有固定类名写 CSS 直接命中.entityBox { fill:#e8f4fd; stroke:#2c7da0; } .relationshipLine { stroke:#3a6ea5; stroke-width:1.5px; } .attributeBoxOdd { fill:#f7f9fc; }其中.entityBox是实体框.relationshipLine是关系线.attributeBoxOdd/.attributeBoxEven分别对应奇数、偶数属性行。嫌一条条写麻烦也可以让 mermaid 直接套用内置主题default、dark、forest、neutral一行配置全站生效。版本速查关键版本能力一览升级前对一眼版本新增能力v10.5.0方括号别名中文实体名直接可用v11.16.0可空属性类型string?v11.17.0subgraph业务域分组大图可切 ELK 布局结语把建模从「画图」变成「写代码」ER 图从此跟着文档一起进版本库。想继续深入ER 图官方语法文档docs/syntax/entityRelationshipDiagram.md主题配置docs/config/theming.md在线演示页demos/er.html官方回归样例图集e2e/diagrams/er-diagram/【免费下载链接】mermaidGeneration of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown项目地址: https://gitcode.com/GitHub_Trending/me/mermaid创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表