ER 모델에서 **관계(Relationship)**는 개체(Entity)들 간의 연관성을 표현합니다. 이 관계는 참여하는 개체의 수에 따라 단항(Unary), 이항(Binary), 삼항(Ternary) 관계로 나뉩니다. 각 관계 유형은 데이터 모델링에서 구조와 의미를 명확히 하며, 설계 오류를 방지하는 데 중요합니다.
1. Unary 관계 (단항 관계)
● 정의
하나의 개체(Entity)가 자기 자신과 관계를 가지는 경우.
● 특징
- 개체 집합 하나만 참여.
- 자기 참조(self-reference) 관계.
● 예시
- 직원(Employee) → ‘관리한다(Manages)’ 관계
→ 어떤 직원이 다른 직원을 관리함 (같은 테이블 내 자기 참조)
[직원]
|
(관리한다)
↓
[직원]
● ERD 예시 설명
- 관계는 하나의 개체(직원)에서 자신으로 향하는 선.
- 관계명을 통해 의미를 명확히 표현.
2. Binary 관계 (이항 관계)
● 정의
두 개의 개체(Entity) 집합이 관계에 참여하는 가장 일반적인 형태.
● 특징
- ERD에서 가장 많이 쓰임.
- 1:1, 1\:N, N\:M 관계 모두 이 형태로 표현 가능.
● 예시
- 고객(Customer) – 주문(Order)
→ 고객이 주문을 한다
[고객] -------- (주문한다) -------- [주문]
3. Ternary 관계 (삼항 관계)
● 정의
세 개의 개체 집합이 동시에 참여하는 관계.
● 특징
- 두 개체 간 다중 이항 관계로는 표현이 어려운 경우 사용.
- 일반적으로 별도의 관계 개체로 만들어서 구현.
● 예시
- 의사(Doctor), 환자(Patient), 약(Drug)
→ “의사가 환자에게 약을 처방한다”
→ 처방은 세 개의 요소가 모두 있어야 의미를 가짐
[의사]
\
(처방한다)
/ \
[환자] [약]
추가: N-ary 관계
- N개의 개체가 참여하는 일반적인 관계.
- Ternary 이상은 대부분 **관계 개체(Relationship Entity)**로 변환하여 구현.
비교 정리
관계 유형 | 참여 개체 수 | 예시 | 특징 |
---|
Unary | 1 | 직원이 직원을 관리 | 자기 자신과의 관계 |
Binary | 2 | 고객이 주문을 한다 | 가장 일반적이며 표현 용이 |
Ternary | 3 | 의사가 환자에게 약을 처방한다 | 세 개체가 동시에 관계를 가짐 |
어린이 버전 요약
- Unary: 나랑 나 자신이 관계 있어요! (예: 형이 동생을 돌봐요. 둘 다 형제예요!)
- Binary: 둘이 친구예요! (예: 엄마와 아들이 함께 있어요!)
- Ternary: 세 명이 같이 놀아요! (예: 선생님, 학생, 책이 함께 수업해요!)