본문 바로가기

자격증/SQLD

관계(Relation Ship)

1. 관계의 개념


관계의 정의


엔티티의 인스턴스 사이의 논리적인 연관성으로서 존재하는 형태로서나 행위로서 서로에게 연관성이 부여된 상태



관계의 패어링


관계 : 인스턴스가 개별적으로 관계를 가지는 것(패어링), 이것의 집합을 관계로 표현 함(?)


관계의 패어링 : 인스턴스들이 자신과 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태


관계의 표현 : 이항 관계, 삼항 관계, n항 관계


2. 관계의 분류


ERD에서 구분하여 표현하진 않지만, UML에서는 아래와 같이 구분 표현한다.

연관 관계 : 존재의 형태에 의한 관계, 실선 표현

의존 관계 : 행위에 의해 발생된 관계, 점선 표현



3. 관계의 표기법


  • 관계명 : 관계의 이름
    관계시작점 : 관계가 시작되는 지점
    관계끝점 : 관계가 끝나는 지점

    시작, 끝점 모두 관계명을 가져야하며, 한 쪽은 능동적, 한 쪽은 수동적이여야 함

    주의사항
    애매한 동사는 피함
    현재형으로 표기

  • 관계차수(Cardinality) : 1:1, 1:N, N:N
    N:N 인 경우에는 ERD와 다르게 두 개의 주 식별자를 상속받은 관계 엔티티를 이용해 3개의 엔티티로 구분 표현한다.

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

4. 관계의 정의 및 읽는 방법


관계 정의 시 체크사항

  • 두 개의 엔티티 사이에 관심 있는 연관규칙이 존재하는가?

  • 두 개의 엔티티 사이에 정보의 조합이 발생되는가?

  • 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?

  • 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?



관계 읽기

  • 기준 엔티티를 각, 또는 하나로 읽는다.

  • 대상 엔티티의 참여관계도 즉 개수(하나, 하나 이상) 읽는다.

  • 관계선택사양의 관계명을 읽는다.


  • 각각의 사원은 한 부서에 속한다.
    각각의 부서는 하나 이상의 사원이 소속된다.




'자격증 > SQLD' 카테고리의 다른 글

성능 데이터 모델링의 개요  (0) 2016.09.02
식별자  (0) 2016.09.02
속성(Attribute)  (0) 2016.09.02
엔티티(Entity)  (0) 2016.09.02
데이터 모델의 이해  (0) 2016.09.02