Skip to content

관계와 FK

엔터티 간의 관계를 생성하고, 바커 표기법에 따라 시각화하는 방법을 설명합니다.

관계 생성

기본 방법

  1. **소스 엔터티**의 PK 컬럼 핸들을 마우스로 드래그합니다
  2. **타겟 엔터티**로 연결합니다
  3. 연결 방식에 따라 동작이 달라집니다:
연결 대상 동작
타겟 컬럼 핸들 해당 컬럼을 FK로 전환
타겟 엔터티 면 FK 컬럼을 자동 생성 (소스 PK 기준)

FK 이름 충돌

동일 이름의 컬럼이 이미 존재하면, _2, _3 등의 접미어가 자동으로 추가됩니다.

검증

관계 생성 시 다음 조건이 검증됩니다:

  • 소스 엔터티에 PK가 존재해야 합니다
  • 자기참조 관계도 지원됩니다
  • 검증 실패 시 토스트 알림으로 원인을 안내합니다

관계선 표기법

ThinkERD는 **바커 표기법(Barker's Notation)**으로 관계를 시각화합니다.

식별 관계 vs 비식별 관계

표현 의미
실선 식별 관계 — FK가 PK의 일부
점선 비식별 관계 — FK가 일반 속성

카디널리티 (Cardinality)

표현 의미
Crow's Foot 다(Many) 쪽
단일 선 일(One) 쪽

선택성 (Optionality)

표현 의미
실선 앞 마커 필수 (Mandatory)
점선 앞 마커 선택 (Optional)

관계선 라우팅

관계선은 **직교 경로(Manhattan Routing)**로 자동 라우팅됩니다.

  • 엔터티 이동 시 관계선이 자동으로 재계산됩니다
  • 둥근 모서리가 적용되어 가독성이 좋습니다
  • **자기참조 관계**는 4개 코너에 분산 배치됩니다

배타 관계 (Exclusive Arc)

두 관계 중 하나만 성립하는 **배타적 관계**를 표현합니다.

  1. 상단 툴바에서 배타 모드 활성화
  2. 마우스로 두 관계선을 **가로질러 스윕**합니다
  3. 성공 시 두 관계선 사이에 **아치(Arc)**가 표시됩니다

배타 관계의 의미

예를 들어, 결제 엔터티가 신용카드 또는 계좌이체 중 하나에만 연결되어야 할 때 사용합니다.

→ 배타 관계 상세: 배타 관계

관계 편집

관계선을 우클릭 → **편집**으로 관계 속성을 수정합니다:

  • 카디널리티 변경
  • 식별/비식별 전환
  • 관계 삭제

관계 삭제

관계선 우클릭 → **삭제**를 선택합니다. 삭제 전 확인 다이얼로그가 표시됩니다.

FK 컬럼

관계를 삭제해도 FK 컬럼은 자동으로 삭제되지 않습니다. 필요 시 수동으로 제거하세요.