본문 바로가기

데이터 Story/모델링 이론

종속 엔터티의 종류

종속 엔터티에는 몇 가지 종류가 있습니다.

 

- [그림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]

 

이상으로 종속 엔터티가 발생하는 예를 간략하게 설명했습니다. 이런 유형을 생각하면 종속 엔터티가 어떤 엔터티인지 더 명확해질 것입니다.