본문 바로가기

카테고리 없음

관계

관계의 분류

  • 관계를 연결함에 있어 어떤 목적으로 연결되었느냐에 따라 존재에 의한 관계와 행위에 의한 관계로 분류
  • 존재에 의한 관계 : 황경빈사원은 그냥 DB팀에 소속되어 있다.
  • 행위에 의한 관계 : 주문번호는 김경재 고객이 ‘주문한다’라는 행위에 의해 발생된다.

 

관계 표기법

관계명(Membership) : 관계의 이름

  • 엔터티가 관계에 참여하는 형태를 지칭
  • 애매한 동사를 피한다. 예를 들면 ‘관계된다’, ‘관련이 있다’, ‘이다’, ‘한다’ 등은 구체적이지 않아 어떤 행위가 있는지 또는 두 참여자간 어떤 상태가 존재하는지 파악할 수 없다.
  • 현재형으로 표현한다. 예를 들면 ‘수강을 신청했다’, ‘강의를 할 것이다’라는 식으로 표현해서는 안된다. ‘수강 신청한다’, ‘강의를 한다’로 표현해야 한다.

 

관계차수(Cardinality) : 1:1, 1:M, M:M

  • 두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것
  • Crow’s Foot 모델에서는 한 개가 참여하는 경우는 실선을 그대로 유지하고 다수가 참여한 경우는(Many) 까마귀발과 같은 모양으로 그려준다.
  • M:N 관계로 표현된 데이터 모델은 이후에 두 개의 주식별자를 상속받은 관계엔터티를 이용하여 3개의 엔터티로 구분하여 표현한다.

 

관계선택사양(선택성)(Optionality) : 필수관계, 선택관계 

  • 참여하는 엔터티가 항상 참여한다면 필수참여관계(Mandatory Membership) :  주문서와 주문목록
  • 참여할 수도 있다면 선택참여관계(Optional Membership) : 목록과 주문목록
  • 선택참여관계는 ERD에서 관계를 나타내는 선에서 선택참여하는 엔터티 쪽을 원으로 표시한다. 필수참여는 아무런 표시를 하지 않는다.

 

두 엔터티 사이 관계 도출 시 체크사항

  • 두 개의 엔터티 사이에 관심 있는 연관규칙이 존재하는가?
  • 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
  • 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
  • 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?

 

데이터 모델 관계 읽기

  • 기준(Source) 엔터티를 한 개(One) 또는 각(Each)으로 읽는다.
  • 대상(Target) 엔터티의 관계참여도 즉 개수(하나, 하나 이상)를 읽는다.
  • 관계선택사양과 관계명을 읽는다.

 

 

 

DATA ON-AIR 관계