종속 엔터티에는 몇 가지 종류가 있습니다.
- [그림1] 부모 엔터티의 추가 데이터를 관리하는 엔터티
- [그림2] 1정규화에 의해서 발생한 엔터티
- [그림3] 이력 데이터를 관리하는 엔터티
- [그림4] 다대다(M:M) 관계에서 발생한 교차 엔터티
- [그림5] 슈퍼타입과 관계된 서브타입 엔터티
- [그림6] 엔터티 분해에 의한 일대일(1:1) 엔터티
[그림1]의 상품가격 엔터티는 상품 엔터티의 일부 데이터를 더욱 상세하게 관리하는 엔터티입니다. 상품 가격은 상품이 존재하지 않는 한 존재할 수 없는 데이터이므로 상품가격 엔터티는 종속 엔터티입니다. 부모 엔터티의 일부로서 성격이 동일한 데이터라고 할 수 있습니다.
[그림1]
[그림2] 주문상품 엔터티는1정규화에 의해서 발생한 엔터티입니다. 주문상품 엔터티는 비정규화를 하면 주문 엔터티에 합쳐지기도 하는 엔터티로 주문 엔터티가 없이는 존재할 수 없습니다.
[그림2]
[그림3]은 이력 데이터를 관리하는 예제입니다. 상품가격이력 엔터티는 상품 가격에 대한 변경 데이터를 관리하기 때문에 원 엔터티인 상품 엔터티 없이는 존재할 수 없습니다.
[그림3]
위와 같이 부모 엔터티와 종속 엔터티의 관계가 일대다(1:M)일 때는 보통 부모 엔터티의 주 식별자를 종속 엔터티의 식별자로서 상속합니다. 그리고 종속 엔터티 자체의 식별자인 부분 주 식별자(Partial Primary Identifier)가 추가됩니다.
[그림4]는 다대다(M:M) 관계에서 발생한 엔터티로, 다대다 관계가 두 개의 일대다(1:M) 관계로 표현되면서 종속 엔터티가 생깁니다. 이를 교차 엔터티(Association Entity, Relationship Entity, Intersection Entity)라고 합니다. 교차 엔터티에 대해서는 별도로 자세하게 설명하겠습니다.
[그림4]
[그림5] 모델은 슈퍼타입과 서브타입의 관계를 나타냅니다. 서브타입인 법인고객·개인고객은 슈퍼타입은 고객에 종속된 엔터티입니다. 슈퍼타입의 종류에 따라 반대일 수도 있는데 서브타입도 별도로 설명하겠습니다.
[그림5]
[그림6]은 성능이나 관리 상의 이유로 속성을 분할해서 관리하는, 즉 엔터티를 수직 분해한 예제입니다.
[그림6]
이상으로 종속 엔터티가 발생하는 예를 간략하게 설명했습니다. 이런 유형을 생각하면 종속 엔터티가 어떤 엔터티인지 더 명확해질 것입니다.
'데이터 Story > 모델링 이론' 카테고리의 다른 글
엔터티 분류(실체/행위/가공/기준) (0) | 2011.02.16 |
---|---|
종속 엔터티의 식별(Identifying) 관계 (5) | 2011.02.16 |
자립 엔터티 & 종속 엔터티 (2) | 2011.02.16 |
엔터티를 정의할 때 도움이 되는 분류법 (2) | 2011.02.14 |
엔터티에 대한 주절거림 (1) | 2011.02.14 |