DAP
[DAP 전문가 가이드] 4.2.4 핵심 엔티티 정의(2)
2025. 4. 28. 17:26

 

집합 동질성

집합 동질성 의미

- 엔티티에서 동질성을 정의한다는 것은 말 그대로 집합에 들어갈 개체들의 동일한 성질을 어디까지로 한정할 것인가를 결정하는 것을 말한다.

- 예를 들어, 사원이라는 집합을 우리 회사에 공식적인 적을 두고 있는 사람들로만 정의했다면 협력회사 사원이나 관계사 직원들은 이들과 동질성을 갖지 못한다.

 

집합 동질성 부여의 예

- 고객이라는 집합의 동질성을 부여하는 두 가지 경우를 가정해 보자.

- 첫 번째는 고객 집합에 대해 우리 회사의 상품을 구매했거나 구매할 사람들의 집합이라 규정했다고 가정하자.

- 두 번째는 우리 회사의 상품을 구매했거나 구매할 가능성이 있는 모든 사람 혹은 법인, 단체의 개체 집합이라 규정했다고 가정하자.

 

  • 사람의 집합이라고 규정한 경우
    • 이 경우에는 사람만의 집합이고, 우리 상품과 구체적인 관계를 맺은 사람들만 존재하는 집합으로 정의했다는 특수성이 분명히 나타나야만 한다.
    • 이러한 구체적인 정의는 잠정 고객은 이 집합에 포함되지 않는다는 집합적 비교를 확실하게 해 주고 법인, 금융기관 등도 전혀 동질성을 갖고 있지 않다는 것을 분명하게 나타내고 있다.
  • 사람 또는 법인이라고 규정한 경우
    • 위의 이러한 집합들을 분명하게 포함시켰다는 것을 내포하고 있다.

 

 

엔티티 명칭

- 엔티티에 적절한 명칭을 붙여주는 작업은 생각보다 매우 중요한 일이다.

- 도출한 집합의 의미에 가장 어울리는 명칭을 부여해야만 앞으로의 커뮤니케이션에서 오류를 줄일 수 있고, 제3자에게 설명할 때도 의미의 전달이 명확해질 수 있다.

 

적절한 엔티티 명칭

- 그 엔티티를 함축시킨 의미를 담고 있어 남에게 일일이 설명하지 않아도 오해를 최소화시킬 수 있어야 한다.

 

 

서브타입

서브타입 지정 의의

- 엔티티를 명확화하는 단계에서 해야 할 또 하나의 중요한 작업은 엔티티 내에 들어가는 구체적인 부분 집합(서브타입)의 종류를 명시하는 것이다.

- 개체-관계 다이어그램을 입체적이고 구체적으로 작성하기 위해서는 집합의 부분 집합을 표현해 주어야 한다.

 

서브타입 지정 시 고려 사항

  • 교집합 허용 불가
    • 서브타입 간에 교집합을 허용하지 않는다.
  • 서브타입의 합이 전체 집합
    • 서브타입을 모두 결합하면 반드시 전체 집합이 되도록 해야 한다.
    • 만약 전체 집합이 될 자신이 없다면 나머지 부분을 기타로 정의해서라도 반드시 이 규칙을 준수해야 한다.
  • 서브타입 표현의 기준
    • 서브타입의 표현은 추후 궁극적으로는 물리 모델에서 테이블 분할의 기준 역할을 하게 된다.
    • 개별 속성을 가지는 경우, 개별 관계를 가지는 경우, 가독성을 증진시키고자 하는 경우에 바람직이다.

 

서브타입 도출

  • 분류 속성
    • 분류 속성에 따라 엔티티의 정보가 차별화되는 경우에 서브타입을 도출할 수 있다.
  • 다수의 선택적 속성
    • 다수의 선택적 속성이 존재하는 경우에 서브타입을 도출할 수 있다.
  • 선택적 관계가 존재하는 경우
    • 서브타입으로 분할함으로써 관계가 필수적으로 변하는지를 확인한다.
  • 도출 절차
    • 분류 속성을 확인한다.
    • 분류 속성 값에 의해 분류되는 서브타입을 파악한다.
    • 분류 속성에 따라 필수적/선택적 분할을 정의한다.
    • 서브타입별 속성을 할당한다.
    • 슈퍼타입의 관계를 해당 서브타입에 정의한다.

 

서브타입의 활용

  • 데이터 모델에 업무 규칙을 명확히 표현하여 업무를 정확히 이해할 수 있다.
  • 서브타입의 표현은 업무 규칙의 명확성과 표현의 복잡성이라는 트레이드 오프 관계가 적절히 조화를 이루어야 한다.

 

엔티티 통합과 분할

- 엔티티를 크게 하나로 할 것인지 아니면 여러 개의 개별 엔티티로 할 것인지의 결정은 향후에 일어날 데이터 모델링의 많은 과정에 커다란 영향을 미치게 된다.

- 좋은 형태의 통합은 변화에 대한 유연성을 증가시키고, 마치 분모의 개수가 감소하듯이 복잡한 업무를 단순화시킬 수 있지만 나쁜 통합 형태는 본질의 희석을 가져와 모호한 집합을 만들게 된다.