December 3, 2021
分类
PlantUML 是一个强大的文本画图引擎,本文整理下技术文档中用 PlantUML 支持的画图类型。
数据模型中的对象关系图(Entity-Relation Diagram),是系统设计技术文档中必不可少的组件。PlantUML 支持 ER 图的创建,它本质上是通过对现有的类图进行扩展来实现的。
文中代码块都是通过 Kroki! 渲染的,同时代码块中的 !include C4_Context.puml
语句,目的是 C4 的渲染配色,去除这一句,就是普通的 PlantUML 语句。
@startuml
!include C4_Context.puml
hide circle
hide empty members
entity Entity {
* identifying_attribute
--
* mandatory_attribute
optional_attribute
}
' zero or one
A |o--o| B
' exactly one
C ||--|| D
' zero or many
E }o--o{ F
' one or many
G }|--|{ H
@enduml
实体(entity)的语法是继承自类(class),class 语法都可以用于 entity 中。
其次,*
可以用于标识强制属性。为了不与加粗的语法 **
冲突,可以通过在 *
后面添加一个空格来使其生效。
@startuml
!include C4_Context.puml
hide circle
entity 订单 {
* **订单号**
--
* 数量
..
订单时间
}
@enduml
类型 | 标识 |
---|---|
0或1(Zero or One) | |
只有1(Exactly One) | |
0或N(Zero or Many) | }o-- |
1或N(One or Many) | } |
上述表格示例中都给了 --
,表示都是实线。如果把 --
换成 ..
,那么最终就会展示虚线。
同时,--
表示垂直方向,-
表示水平方向