본문 바로가기

[DB]DataBase/[SQL]

[SQLD] 데이터 모델링 요소-3)관계(Relationship)

728x90
반응형

관계 정의

  • 관계는 엔터티 간의 연결을 나타낸다.
  • 관계는 엔터티 간의 종속성과 연관성을 정의한다.
    • 엔터티의 인스턴스 사이의 논리적인 연관성으로서, 존재의 형태나 행위로서 서로에게 연관성이 부여된 상태

관계의 페어링

  • 엔터티 안의 인스턴스는 개별적으로 관계를 가진다.
  • 이것을 집합의 관계로 표현한다.
  • 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 '관계 페어링(Relation Pairing)'으로 표현한다.

관계의 분류

ERD에서는 '존재에 의한 관계'와 '행위에 의한 관계'를 구분하지 않고 단일화된 표기법을 사용한다.

  • 존재에 의한 관계
  • 행위에 의한 관계

관계의 표기법

  • 관계명(Membership)
    • 관계의 이름으로 관계에 참여하는 형태 지칭
  • 관계차수(Cardinality)
    • 1:1(일대일), 1:M(일대다), M:N(다대다)
    • 수학적 의미론 집합의 크기를 의미
  • 관계선택사양(Optionality)
    • 필수관계(Mondatory), 선택관계(Optional)
    • 관계가 표시된 양 쪽 엔터티에 모두 선택 참여가 표시된다면 잘못되었을 확률이 높음 (0:0 관계)

관계 읽기

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

  • UML(Unified Modeling Language)에는 클래스다이어그램의 관계 중 연관관계(Association)와 의존관계(Dependency)가 있다.
  • 이것을 구분하기 위해 연관관계는 실선으로, 의존관계는 점선으로 표현한다.

관계를 도출할 때 확인해야 할 사항

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