배타 관계 (Exclusive Arc)¶
배타 관계는 **두 관계 중 하나만 성립**하는 제약을 시각적으로 표현합니다.
개념¶
예를 들어, 결제 엔터티가 신용카드 또는 계좌이체 중 하나에만 연결되어야 할 때 사용합니다. 동시에 두 관계가 모두 존재하면 안 됩니다.
배타 관계 생성¶
- 상단 툴바에서 배타 모드 (Exclusive Arc) 아이콘을 활성화합니다
- 캔버스에서 배타적 관계를 맺을 **두 관계선을 가로질러 마우스를 스윕**합니다
- 스윕 성공 시 두 관계선 사이에 **아크(호)**가 표시됩니다
스윕 방향
스윕은 두 관계선을 모두 가로질러야 성공합니다. 한쪽만 지나가면 인식되지 않습니다.
시각적 표현¶
배타 관계는 바커 표기법에서 관계선 사이에 **아크(호) 기호**로 표시됩니다. 이 아크는 "둘 중 하나만 가능"이라는 의미입니다.
데이터 모델링 관점¶
배타 관계가 적용된 엔터티의 FK 컬럼은 **둘 중 하나만 NOT NULL**이어야 합니다:
| 결제ID | 신용카드ID | 계좌이체ID | 상태 |
|---|---|---|---|
| P001 | C001 | NULL | ✅ 유효 |
| P002 | NULL | B001 | ✅ 유효 |
| P003 | C002 | B002 | ❌ 위반 (둘 다 있음) |
| P004 | NULL | NULL | ❌ 위반 (둘 다 없음) |
삭제¶
배타 관계를 제거하려면: - 관련 관계선 중 하나를 우클릭 → 배타 관계 해제 - 또는 배타 아크 자체를 우클릭 → 삭제