ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 모델링24 - 엔티티 모델링의 어려움을 극복할 방법론과 전략3
    Data Base/관계형 데이터 모델링 2023. 9. 26. 16:22

    서브타입과 E-R패턴 2

     

    그림 11-9 배타적 나눔의 예

    그림 11-10 E-R 패턴 #2 - 집합의 중첩 나눔

    예) 사원의 직군(겸직 가능)

     

    이제부토 집합의 중첩(비배타적,inclusive)나눔에 의해 만들어지는 두 번째 E-R 패턴을 살펴보자. 직급과 달리, 역할(직무)에 따라 분류해보면 나뉜 집합 간에 중첩이 생기는 것을 확인 할 수 있다. 예를 들어 프로젝트 이해관계자의 역할을 *PM, *PL, 설계/개발자로 간단히 나눌 경우 PL 중 설계/개발을 함께 수행하는 인력을 적지 않게 찾아볼 수 있다. 이러한 분류 데이터를 담으려면 [그림 11-10]과 같은 구조로 표현해야 한다. 

     

    *PM(Project Manager) : 소프트웨어 프로젝트 모든 관리 업무를 책임지는 사람, 외부 팀과 인터페이스를 담당하고 의견조율을 하면서 내부의 개발팀을 보호하는 역할 담당

     

    *PL(Project Leader) : 프로젝트 리더는 프로젝트의 기술분야를 책임지는 사람, 주된 업무는 설계와 구현이지만 상황에 따라서는 요구 분석도 담당

     

    [그림 11-10]에서 <Basis>의 1001번 직원은 A와 B, 1002번 직원은 B와 C, 1003번 직원은 C라는 역할을 맡고 있다고 하자. 이를 범주 관점을 보면 해당 역할들로도 직원 개체가 분류될수 있다. 앞서 설명했듯이 유형(Basis Type)이 기준 정보처럼 별도로 분리되어 상위 집합이 되었다. <Basis>입장에서는 다중 값이 마치 1정규화 하듯 <Association>집합으로 분리되었다.

     

    그림 11-11 E-R 패턴 #3- 배열 형태(컬럼의 중복)의 값을 갖는다.

    예) 고객의 주소, 사원의 자격증

     

    세 번째 E-R 패턴은 특정 속성이 여러 개의 값을 가질 때, 그 속성을 분리하고 분리된 속성을 또 다시 하위 엔티티로 분리하여 관리하는 형태다. 즉, 1 정규화의 결과물에 해당한다. Relation의 한 속성에 명확히 하나의 값만 관리되면 물론 1정규형에 해당한다. 그런데 물리적으로는 한 속성에 하나의 값만 관리하지만 논리적으로는 같은 성격의 데이터를 여러개의 속성을 갖는 식으로 관리하는 경우, 예를 들어 자격증명1, 자격증명2,...,자격증명N과 같이 반복 형태의 속성이 존재하는 경우, 역시 E-R 패턴 #3과 같은 형태로 분류해야한다. 다중 값 관리를 위해 분리된 엔티티는 주 식별자는 부모 엔티티로 부터 주식별자를 그대로 상속 받는다. E-R 패턴 #3은 그 식별자에 일련번호를 추가한 형태가 일반적이다.(그림 11-11)

     

    그림 11-2 E-R 패턴 #4 - 계층적 형태의 값을 갖는다.

    예) 사원의 소속부서(조직)

     

    네 번째 E-R 패턴은 값에 상・하위 관계, 즉 계층이 존재하는 형태다. 대표적인 것이 직원의 소속 부서 정보다.  이 경우 부서 정보 값을 인스턴스로 관리하는 <부서> 엔티티를 분리하여 상위로 두고, <부서>의 계층구조를 표현할 수 있도록 순환(recursive)관계를 설정한다.

     

    그림 11-13 E-R 패턴 #5 - 롤업 형태의 값을 갖는다.

    예) 고객 간의 관계, 부품 BOM 구조

    마지막으로 살펴볼 다섯 번째 E-R 패턴은 속성값에 양방향 관계가 존재하는 경우다. 여기서 양방향을 풀면 [그림 11-13]처럼 기준(Parent)과 대상(Child)의 2개의 관계(relationahip)가 있는 모델로 표현되어, 결국 값이 롤업(rollup)된 형태의 모델이 된다.

     

     

    [출처 - 프로젝트의 성패를 결정짓는 데이터 모델링 이야기 , 김상래 저]

    댓글

Designed by Tistory.