본문 바로가기

종속 엔터티

종속 엔터티의 엔터티 명 엔터티에 속한 속성이 많을 때, 성능이나 관리 측면에서 좋지 않은 영향을 미친다면 일부 속성을 별도의 엔터티로 분리할 수 있다. 이때 속성 성격에 따른 분리가 아닌 사용 빈도에 따른 분리일 경우, 즉 유사한 성격의 속성으로 분리할 수 없고 자주 사용되는 않는 속성, 덜 중요한 속성으로 분리할 때는 엔터티 명을 ‘상위 엔터티 명+상세(Suffix)’ 형식으로 정한다. 이런 속성으로 구성된 엔터티는 특별한 데이터 성격이 없기 때문에 엔터티 명을 정하기가 어렵다. 이때는 상위 엔터티 명에 ‘상세’라는 접미어를 붙어서 정한다. [그림1] 고객 엔터티에 속성이 많아 일부 속성을 별도의 엔터티로 분리해야 한다고 가정한다. [그림1] 엔터티를 속성 기준으로 수직 분리할 때는 유사한 성격의 속성을 분리하는 것이 바람직.. 더보기
종속 엔터티의 식별(Identifying) 관계 식별(Identifying) 관계와 비식별(Non-Identifying) 관계는 단순한 개념입니다. 언제 적용해야 하는지를 결정하기가 어렵죠. 상위 엔터티의 주 식별자가 하위 엔터티에 주 식별자로 상속되면 식별(Identifying) 관계입니다. 엄밀히 말해 종속 엔터티와 무관합니다. 하지만 부모 엔터티에 존재 종속(Existence Dependency)된 종속 엔터티는 대부분 식별 관계로 상속받습니다. 이 원칙은 지켜주는 게 좋습니다. 두 엔터티가 관계가 있고 하위 엔터티가 종속 엔터티라는 것이 분명하다면, 식별 관계로 상속 받는 것이 좋습니다. 문제는 예외인데요. 나중에 설명하겠지만 업무 식별자를 주 식별자로 채택하는 것을 원칙으로 불가피할 경우 인조 식별자를 채택해야 하는데요. 인조 식별자를 사용해.. 더보기
종속 엔터티의 종류 종속 엔터티에는 몇 가지 종류가 있습니다. - [그림1] 부모 엔터티의 추가 데이터를 관리하는 엔터티 - [그림2] 1정규화에 의해서 발생한 엔터티 - [그림3] 이력 데이터를 관리하는 엔터티 - [그림4] 다대다(M:M) 관계에서 발생한 교차 엔터티 - [그림5] 슈퍼타입과 관계된 서브타입 엔터티 - [그림6] 엔터티 분해에 의한 일대일(1:1) 엔터티 [그림1]의 상품가격 엔터티는 상품 엔터티의 일부 데이터를 더욱 상세하게 관리하는 엔터티입니다. 상품 가격은 상품이 존재하지 않는 한 존재할 수 없는 데이터이므로 상품가격 엔터티는 종속 엔터티입니다. 부모 엔터티의 일부로서 성격이 동일한 데이터라고 할 수 있습니다. [그림1] [그림2] 주문상품 엔터티는1정규화에 의해서 발생한 엔터티입니다. 주문상품 엔.. 더보기
자립 엔터티 & 종속 엔터티 자립(Independent Entity 또는Strong Entity, Dominant Entity) 엔터티는 다른 엔터티에 의존적이지 않고 스스로 존재하는 엔터티라고 했습니다. 어떤 엔터티에도 존재 종속(Existence Dependency)되지 않는 엔터티입니다. 종속(Dependent Entity 또는Weak Entity, Subordinate Entity) 엔터티는 상위(부모) 엔터티가 존재하지 않으면 존재할 수 없는 엔터티입니다. 자립 엔터티와 종속 엔터티는 비즈니스에서 관리하는 데이터의 범위에 따라 자립 엔터티가 종속 엔터티가 될 수도 있고 종속 엔터티가 자립 엔터티가 될 수도 있습니다. 특정 대학의 교수 엔터티는 자립 엔터티입니다. 교수 엔터티 상위에 반드시 존재해야 할 엔터티가 존재하지 않습.. 더보기
엔터티를 정의할 때 도움이 되는 분류법 엔터티를 구분하는 방법은 여러 가지가 있습니다. 뭔가를 분류하는 것은 그것을 이해하는 데 보통 도움을 줍니다. 저는 다음과 같이 엔터티를 분류합니다. - - 만질 수 있는 것 & 만질 수 없고 개념으로 존재하는 것 -- 자립 엔터티 & 종속 엔터티 -- 실체 엔터티 & 행위 엔터티 & 가공 엔터티 & 기준 엔터티 다각도로 분류해 보는 것이 좋기 때문에 분류법도 다양합니다. 엔터티를 정의할 가장 우선적으로 판단하는 것은 보이는 물체냐라는 것입니다. 사람, 사물과 같이 실제로 존재하는 물건인지, 만져서 느낄 수 있는지부터 따져보게 됩니다. 이런 성격의 엔터티는 계약서나 카드, 통장 등을 포함시킨다고 해도 실제로 그다지 많지는 않습니다. 그보다 개념으로 존재하는 것(Conceptual)을 표현한 데이터가 훨씬.. 더보기