50 lines
1.5 KiB
Markdown
50 lines
1.5 KiB
Markdown
# Mermaid — Sequence + ER
|
|
|
|
Root SSOT: [`rules/diagram-standards.md`](../../../../../rules/diagram-standards.md) §12~§13
|
|
parent: [`README.md`](README.md)
|
|
|
|
## §12. Mermaid Sequence — Minimal
|
|
|
|
- **메시지 ≤ 8개** (초과 시 분할)
|
|
- **`autonumber` 활성화**
|
|
- **에러 경로 1개** (alt/else)
|
|
- **트랜잭션 경계 1개** (Note over, 있을 때만)
|
|
- **지연·QPS 어노테이션 금지** (시퀀스의 질문이 *성능* 일 때만)
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
autonumber
|
|
actor User
|
|
participant FE
|
|
participant API
|
|
participant DB
|
|
|
|
User->>FE: 로그인
|
|
FE->>API: POST /login
|
|
API->>DB: SELECT user
|
|
DB-->>API: row
|
|
alt 자격 증명 유효
|
|
API-->>FE: 200 + token
|
|
else 자격 증명 무효
|
|
API-->>FE: 401
|
|
end
|
|
```
|
|
|
|
이게 끝. `Note over` 도 비자명한 동작 1개에만.
|
|
|
|
## §13. Mermaid ER — Minimal
|
|
|
|
- **엔터티 ≤ 8개** (over-engineering 안 함)
|
|
- **PK / FK 표시 필수**
|
|
- **컬럼 ≤ 4개 per 엔터티** (모든 컬럼 X)
|
|
- **카디널리티 정확** (`||--o{` 1:N, `}o--o{` M:N)
|
|
- **관계 라벨 동사**
|
|
|
|
전체 스키마는 별도 ERD 도구 (DBeaver, dbdiagram.io) 로. project-note 의 ER 은 **핵심 엔터티 + 관계** 만.
|
|
|
|
## 도구 분리 reminder
|
|
|
|
- **시스템 아키텍처 (정적 구조)** → draw.io **만** 사용. Mermaid `graph TD / LR` 로 아키텍처 작성 시 자동 `BLOCKED`.
|
|
- **시퀀스 (시간축)** → Mermaid `sequenceDiagram`. draw.io 로 시퀀스 작성 시 자동 `BLOCKED`.
|
|
- **ER (선택)** → Mermaid `erDiagram` 또는 별도 도구.
|