데이터 모델은 정보화 시스템을 구축함에 있어서 매우 중요하다. 데이터 모델의 최적화는 정보화 시스템의 효과적인 구축과 추후 운영 및 관리에서도 매우 중요한 요소다. 지금은 이러한 점이 많은 사람들에게 인지되고 있는 것 같다.
데이터 모델의 중요한 요소 중의 하나가 Entity는 분리되기도 하고 통합되기도 한다는 것이다. 어떻게 구성하는가에 따라 Entity의 운명은 정해지게 된다. 그럼 Entity의 운명을 좌우하게 되는 항목 중 Entity의 통합에 대해 확인해 보자.
Entity 통합은 2개 이상의 Entity를 하나의 Entity로 합하는 것을 의미한다.
이와 같이 Entity 통합을 수행하는 이유는 크게 다음과 같다.
이와 같은 이유에서 Entity 통합을 수행하게 된다. 하지만 이런 장점의 이면에는 단점도 함께 숨어 있음을 명심하길 바란다. Entity 통합 시에는 다음의 사항에 유의해야 한다([그림 2] 참조).
이와 같은 점에 의해 근본 Entity의 경우에는 많은 통합도 가능하지만 중심 Entity의 경우에는 적게 통합하는 것이 유리하다. Entity의 Primary Key가 동일하며 각 Entity가 가지고 있는 Data가 유사하다면 하나의 Entity로 통합할 수 있다.
[그림3]의 예제처럼 2개의 Entity를 통합하게 되면 정직원인지 또는 협력직원인지를 구분할 수 있는 Attribute가 필요하며, 해당 Attribute를 보통 구분 Attribute라고 한다.
새로운 Subset이 추가된다면, 통합한 Entity의 구분 Attribute인 사원 구분 Attribute의 값만 정의되면 바로 통합할 수 있다. 그리고 협력직원 Entity에만 존재하는 소속사 Attribute는 한쪽 Subset에만 값이 존재하므로 Attribute의 타입을 Varchar2 Type으로 정의하는 것이 좋다.
이유는 정직원 Data에 대해서는 소속사 Attribute 값이 존재하지 않으며 그렇기 때문에 Varchar로 선언해야만 저장 공간을 차지하지 않기 때문이다. Primary Key가 서로 다르지만 Data에 대해 동질성을 가지고 있다면 하나의 Entity로 통합할 수 있다.
[그림4]의 경우 본사 직원 Entity와 사이트 직원 Entity는 서로 다른 Primary Key를 가지고 있지만 Data가 대부분 동일하기 때문에 하나의 Entity로 통합을 고려할 수 있다. 물론 Entity를 통합하는 과정에서 서로 Data를 구분하기 위해 구분 Attribute를 구성해야 할 것이다.
- 강좌 URL : http://www.gurubee.net/lecture/2739
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.