ER Diagram
Cardinality is the part people get wrong. Write it explicitly.
- Format.puml
- Length36 lines
- Includesnone
The source
36 lines of PlantUML, and needs nothing beyond the bundled engine. Copy it, or open the template inside Gnomon and render it as it is.
@startuml
title Entity Relationship Diagram
entity "User" as user {
* id : INT <<PK>>
--
* email : VARCHAR(255)
* password_hash : VARCHAR(255)
created_at : TIMESTAMP
}
entity "Post" as post {
* id : INT <<PK>>
--
* user_id : INT <<FK>>
* title : VARCHAR(255)
content : TEXT
published : BOOLEAN
created_at : TIMESTAMP
}
entity "Comment" as comment {
* id : INT <<PK>>
--
* post_id : INT <<FK>>
* user_id : INT <<FK>>
content : TEXT
created_at : TIMESTAMP
}
user ||--o{ post : writes
user ||--o{ comment : writes
post ||--o{ comment : has
@endumlRender this offline
This template ships in Gnomon and renders on your machine, with no account and nothing sent to a server. The browser editor is free and needs no install.
Others in UML and standard diagrams
- Sequence DiagramThe highest-value diagram in this list. Time runs down; participants across.
- Activity / Flow DiagramEarns its place when there are real branches and joins.
- Use Case DiagramActor-to-goal. Dated, but still the clearest way to show scope boundaries.
- Class DiagramBest used for a single bounded context, not a codebase.
- State DiagramForces the awkward questions about duplicate and out-of-order events.
- Mind MapFor structuring thinking, not for documenting a system.
- Gantt ChartPlans, not architecture, but it renders from text, so it diffs in review.
- JSON VisualizationVisualises a JSON payload: handy in an API design review.
- Work Breakdown StructureWork breakdown. Useful for scoping a piece of delivery.