ER Model Unary, Binary, Ternary 관계

agnusdei·7일 전
0

Database

목록 보기
24/30

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)**로 변환하여 구현.

비교 정리

관계 유형참여 개체 수예시특징
Unary1직원이 직원을 관리자기 자신과의 관계
Binary2고객이 주문을 한다가장 일반적이며 표현 용이
Ternary3의사가 환자에게 약을 처방한다세 개체가 동시에 관계를 가짐

어린이 버전 요약

  • Unary: 나랑 나 자신이 관계 있어요! (예: 형이 동생을 돌봐요. 둘 다 형제예요!)
  • Binary: 둘이 친구예요! (예: 엄마와 아들이 함께 있어요!)
  • Ternary: 세 명이 같이 놀아요! (예: 선생님, 학생, 책이 함께 수업해요!)

0개의 댓글