Mermaid ERD에서
"has"
, "of"
, "is a"
같은 라벨은엔티티(테이블) 간의 관계를 사람이 이해하기 쉽게 설명하는 용도입니다.
1. has
- 의미:
- “A has B” → A가 B를 가진다(포함한다, 소유한다)
- 예시:
StoreEntity ||--o{ DeviceEntity : "has"
→ 한 매장(Store)은 여러 디바이스(Device)를 가진다(1:N 관계)
2. of
- 의미:
- “A of B” → B의 A, 즉 B에 속한 A
- 예시:
SaleItemEntity }o--|| ProductEntity : "of"
→ SaleItem은 Product의 인스턴스(상품에 해당하는 매출 항목) → “이 매출항목은 어떤 상품(Product)에 해당한다” (N:1 관계)
3. is a
- 의미:
- “A is a B” → A는 B의 하위 타입(상속, 다형성)
- 예시:
PaymentEntity ||--|{ CardPaymentEntity : "is a"
→ CardPaymentEntity는 PaymentEntity의 하위 타입(상속) → “카드결제는 결제(Payment)의 한 종류다” (상속/다형성 관계)
4. 요약 표
라벨 | 의미(관계) | 예시 설명 |
has | 포함/소유(1:N, N:M 등) | 매장이 여러 디바이스를 가진다 |
of | 소속/참조(N:1 등) | 매출항목은 특정 상품에 해당한다 |
is a | 상속/타입 계층(다형성) | 카드결제는 결제의 한 종류(하위 클래스) |
이 라벨들은 코드/DB 설계의 실제 관계를
사람이 읽기 쉽게 설명하는 주석 역할을 합니다.