ER 图:弱实体

ER 图:弱实体

puml.online

简介 / Introduction

弱实体(Weak Entity)是指没有完整主键、依赖强实体而存在的实体。其主键由自身部分属性加上所依赖强实体的外键组合而成。本文演示如何在 PlantUML 和 Mermaid 中绘制包含弱实体的 ER 图。

PlantUML 版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@startuml
entity "学生" as Student {
+学号 : int <<PK>>
--
姓名 : varchar
年龄 : int
}

entity "成绩单" as Transcript <<WEAK>> {
--
课程号 : int
分数 : numeric
}

Student ||..o{ Transcript : "拥有"
@enduml

说明:

  • <<WEAK>> 标注表示弱实体;
  • + 前缀标记主键字段;
  • ||..o{ 表示”一方拥有多方”的关系,Student 为强实体,Transcript 依赖其存在。

Mermaid 版

1
2
3
4
5
6
7
8
9
10
11
erDiagram
Student {
int studentId PK
string name
int age
}
Transcript {
int courseId
numeric score
}
Student ||--o{ Transcript : "owns"

说明:Mermaid 的 ER 图不提供 <<WEAK>> 语法,弱实体由语义关系隐式表达。||--o{ 表示一对一到多重的”拥有”关系。

对比 / Side-by-side

特性 PlantUML Mermaid
弱实体标注 <<WEAK>> 不支持,需靠语义
主键标记 + 前缀 PK 后缀
关系箭头 `
字段分隔线 -- 自动分段

小结 / Wrap-up

PlantUML 通过 <<WEAK>> 显式标注弱实体,语义清晰;Mermaid 依赖关系箭头隐式表达,语法更简洁但无专门弱实体支持。实际选用时可依据团队工具链与文档规范决定。

  • 标题: ER 图:弱实体
  • 作者: puml.online
  • 创建于 : 2026-09-16 09:00:00
  • 更新于 : 2026-09-29 01:06:38
  • 链接: https://puml.online/blog/er-diagram-weak-entity/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。