# 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` 또는 별도 도구.