본문 바로가기

# 미사용

[4-2-5]: 관계 정의

01. 관계란?

두 엔터티 사이에서

관심있게 봐야하는 직접적인 연관성 또는 규칙.

관계의 특성

  • 하나의 관계는 두 엔터티의 레코드의 연관성이 모인 집합.
  • 하나의 관계는 두 개의 관점에서 해석가능.
  • 두 엔터티 간, 직접 종속성을 만족하는 것만 관계.
  • 두 엔터티 간, 여러개의 관계가 있을 수 있음.
  • 관계는 외래키(FK)로 구현됨.

관계의 구성

  • 관계 이름 : 각각 상대관점에서 명확한 동사이름을 부여.
  • 관계 차수 : 1:1, 1:M, M:M
  • 선택 사양 : 필수적 /. 선택적

관계 구문

  • 각각의 [대상 엔터티]는
  • [하나/하나 이상의] [상대 엔터티]와
  • [관계명]이 [되어야 한다/될 수 있다]

추상화 된 형태

관계도 작성 예시

  • 각 사원은 하나의 부서에 반드시 소속해야 한다.
  • 각 부서는 하나 이상의 사원을 포함할 수 있다.

02. 다양한 관계 형태의 특성, 빈도

관계 형태에 따라 각각 특성과 

현실세계에서 나타나는 빈도가 다르다.

1:1 형태

  • Both Side Mandatory     : 두 엔터티는 동일 관계(A=B), 수직분할에서 나타남.
  • Both Side Optional        : 두 엔터티가 약간 겹친 관계(A⊄B, B⊄A, A∩BØ), 자주 발생되지 않는 형태.
  • One Optional               : 두 엔터티는 포함 관계(A⊂B), 부모자식에서 나타남.  (=Many Mandatory)

1:M 형태

  • Both Side Mandatory      : 가끔 발생하는 형태.
  • Both Side Optional         : 선택성이 증가할수록 모호성도 증가 → 선택성 해소 필요
  • Many Optional              : 현실적으로 드문 형태.
  • One Optional                : 가장 흔한 형태.

M:M 형태

  • M;M은 관계성이 덜 분해된 경우이다. 
  • 관계성 엔터티를 이용한 관계성 분해 필요. (One Optional 2개로 만든다.)

병렬 관계 형태

  • 두 엔터티가 여러개의 관계를 가지고 있는 경우.
  • 물리 모델링 시, 각 관계가 하나의 칼럼으로 나타남. → SQL 복잡, 인덱스 증가
  • 자식 엔터티를 가질 수 없음.
  • 변화에 유연하지 못함.

직렬 관계 형태

  • 여러 관계를 대표하는 상위 개념의 관계 하나로만 표현.
  • M:1 관계가 합해졌으니 M:M 관계 → 관계성 분해 필요. 
  • 물리 모델링 시, 각 관계가 하나의 로우로 나타남. → SQL 심플, 인덱스 감소
  • 자식 엔터티를 가질 수 있음.
  • 변화에 유연함.

순환 관계 형태 (순환모델)

  • 각 계층 속성은 동일하게 하는 편이 좋다.
  • 순환 모델은 반드시 선택 사양 관계이다. (무한 Loop 발생)
  • 조직 변경시 유연하게 대처할 수 있음.

BOM(Bill of Materials) 관계

  • 네트워크 구조 형태.
  • 부품의 소요량 파악 등의 모델에 유용

Arc(Mutally Exculsive) 관계

  • 여러개의 관계 중, 오직 하나만 관계를 맺을 수 있는 경우.
  • 관계 후보들에 대하여 상호 배타적이라고 한다.
  • 아크 내 관계는 보통 동일하다.
  • 아크 내 관계는 항상 필수이거나 항상 선택이어야 한다.
  • 특정 아크는 여러 엔터티를 가질 수 없다.
  • 어떤 엔터티는 많은 아크를 가질 수 있다.

'# 미사용' 카테고리의 다른 글

[4-3-1]: 논리 데이터 모델링 이해  (0) 2018.03.23
[4-2-6]: 개념 데이터 모델 작성  (0) 2018.03.23
[4-2-4]: 핵심 엔터티 정의  (0) 2018.03.21
[4-2-3]: 후보 엔터티 선정  (0) 2018.03.21
[4-2-2]: 주제영역 정의  (0) 2018.03.21