관계(Relationship) - 개념

한준수·2023년 9월 18일
0

데이터모델링

목록 보기
8/8

📖 관계란?

관계란 엔티티와 엔티티 사이의 관계를 말한다.
즉, 관리하고자 하는 업무 영역 내의 특정한 두 개의 엔티티 사이에 존재하는 많은 관계 중 특별히 관리하고자 하는 직접적인 관계(업무적 연관성)를 의미.

꼭 필요한 관계만을 설정해두어야 불필요한 조인을 줄일 수 있으며, M:N의 관계에서는 개발에 들어갈 수 없다.

✍ 엔티티 정의에 따라 관계는 달라진다.


📌 관계 표현

✍ 관계 형태(Degree/Cardinality)

  • 하나 이상(Many)

    까마귀 발가락처럼 표시된 모양은 하나 이상(Many)을 나타낸다. 하나 이상이란 반드시 하나 이상이 되어야 한다는 것이 아니라 하나 이상인 것이 적어도 한가지는 존재하고 있다는 것을 의미한다.

  • 단 하나(Only One)

    수평선은 단 하나임을 의미한다. 여기서 수평선이란 직선이 될 수도 있고 점선으로 표혈될 수도 있으며 이것은 선택 사양에 따라 결정된다.

✍ 선택 사양(Optionality)

직선은 반드시 존재해야 함을 의미하고, 점선은 존재하지 않을 수도 있음을 의미한다.

  • 일반적인 형태

    1. 주로 참조하는 엔티티(M쪽)는 참조되는 엔티티(1쪽)가 반드시 존재해야 하는 경우가 많이 나타난다.
    2. 반대로 1쪽 엔티티는 M쪽 엔티티와 반드시 관계를 맺지 않아도 되는 경우가 가장 일반적인 형태라고 할 수 있다.
  • 바람직한 형태

    1. 우리는 모델링에서 가능한 직선 관계를 가지도록 특히 자식 쪽에서 노력해야한다.
      즉, M쪽 관계의 선택사양을 직선관계로 만들려고 노력해야한다.
    2. 부모 엔티티에 개체가 존재하지 않는 자식 엔티티의 개체가 많이 발생한다면 정보의 정합성에 많은 문제점이 나타나게 된다.

✍ 관계 표현

  • 식별 관계(Identification Relationship)
    1. 부모 실체의 식별자(UID)가 자식 실체의 식별자(UID)의 일부분이 되는 관계
    2. 자식 실체는 부모 실체에 대하여 존재 종속적이며, 식별종속적이다.
  • 비식별 관계 (Non-Identification Relationship)
    1. 부모 실체의 식별자(UID)가 실체의 식별자(UID)의 일부분이 아닌 관계
    2. 자식 실체는 부모 실체에 대하여 존재 종속적이지만, 식별 종속적은 아니다.

식별종속적은 FK로 식별되는 관계를 의미한다.

  • 관계속성

관계속성이 있다는 것은 부모 엔티티의 식별자를 자식 엔티티의 관계속성으로 물려받았다는 의미


📌 관계 정의 방법

✍ 관계 정의 절차

두 집합 간의 관계는 두 집합 각각의 관점에서 바라 본 관계가 궁극정으로는 합성된 형태가 완성된 관계가 된다.

✍ 관계 형태


1. 대부분 기본형이다.(70~80%)
2. 먼저 관계형태부터 확인한 후 기본형을 그린다.
3. 당사자 간의 구체적인 선택사양을 검증한다.
4. 구체적 검증 시에 관계형태가 달라질 수도 있다.

0개의 댓글