现成的 ER 图模板
点开看预览与完整代码,直接下载 PNG / SVG / Word / PPT;「在编辑器里打开」后改文字、换主题再导出。
三步拿到能交的图
- 1点上面的「打开示例,直接改字」,或挑一套业务最接近的模板在编辑器里打开
- 2在代码里改实体名和字段;加一张表就多写一段「实体名 { 字段 }」,再加一行关系。也可以把下面的提示词发给 AI,说清有哪些表,让它生成后整段粘贴进来
- 3选一套主题,论文里用 ×3 的 PNG 或 SVG,答辩 PPT 直接点「导出 PPT」
ER 图的 Mermaid 写法
改这段试试:复制后粘贴进编辑器就能渲染。
mermaid
erDiagram
USER ||--o{ ORDER : "下单"
ORDER ||--|{ ORDER_ITEM : "包含"
PRODUCT ||--o{ ORDER_ITEM : "被购买"
USER {
int id PK "用户编号"
string name "姓名"
string phone "手机号"
}
ORDER {
int id PK "订单编号"
int user_id FK "下单用户"
datetime created_at "下单时间"
decimal total "订单金额"
}
ORDER_ITEM {
int order_id FK "订单"
int product_id FK "商品"
int quantity "数量"
}
PRODUCT {
int id PK "商品编号"
string title "名称"
decimal price "单价"
}- 第一行写 erDiagram。每个实体写成「实体名 { 类型 字段名 }」,一行一个字段,主键后面加 PK、外键加 FK
- 关系写成 USER ||--o{ ORDER : places:两边的符号是基数,冒号后面是关系名
- 基数符号:|| 恰好一个,o| 零或一个,}| 一个或多个,}o 零或多个。左右两边方向相反地写
- 实体名和字段名用英文、数字或下划线最稳;要显示中文,写成 USER["用户"],字段后面可以用双引号加中文注释
让 AI 按这个结构生成你的版本
把下面这段发给豆包、DeepSeek、Kimi 或元宝,把【】里的内容换成你的,再把它的回复整段粘贴到编辑器,会自动识别其中的代码。
prompt.txt
请用 Mermaid 的 erDiagram 语法画一张数据库 ER 图。系统是【系统名称】,包含这些实体:【用户、订单、商品…】。每个实体列出主要字段,写成「类型 字段名」,主键标 PK、外键标 FK,字段后面用双引号加中文说明。实体之间的关系是:【一个用户有多个订单;一个订单包含多个商品…】,用 ||--o{ 这类基数符号表示,多对多要拆出中间表。实体名和字段名用英文。只输出 mermaid 代码块。常见问题
- ER 图里的一对多、多对多怎么表示?
- 一对多写成 A ||--o{ B,表示一个 A 对应零到多个 B。多对多在关系型数据库里要拆成中间表:A ||--o{ A_B 和 B ||--o{ A_B,图上画三张表两条线。
- 毕业论文里的 ER 图要画到什么程度?
- 一般画出系统的全部核心实体、每个实体的主要字段(标出主键和外键)、实体之间的关系与基数。纯日志表、配置表可以省略。具体以学校的模板和导师要求为准。
- 能画陈氏(Chen)ER 图,也就是矩形加椭圆加菱形的那种吗?
- Mermaid 的 erDiagram 是鸦脚(Crow's Foot)表示法:实体是带字段的表格,关系用线端符号表示基数。学校要求陈氏表示法时,可以用流程图语法手画:矩形当实体、圆角当属性、菱形当关系。
- 能从建表 SQL 生成 ER 图吗?
- 把 CREATE TABLE 语句发给 AI,请它「转成 Mermaid erDiagram 代码」,再把回复整段粘贴到编辑器即可。本页的提示词可以直接改用。
- 字段类型一定要写吗?
- erDiagram 里每个字段要写「类型 名称」两段,类型可以是 int、string、datetime 这类,不做严格校验。不想展示字段时,只写实体名和关系也能出图。