서브타입 썸네일형 리스트형 배타 서브타입 & 중복 서브타입 서브타입은 크게 배타 서브타입과 중복 서브타입으로 구분할 수 있습니다. 배타(Exclusive 또는 Disjoint) 서브타입은 서브타입 부분 집합 간에 공통 부분을 갖지 않는 서브타입입니다. [그림1]은 배타(Exclusive) 서브타입입니다. [그림1] 하나의 슈퍼타입 인스턴스는 단 하나의 서브타입과 관계(일대일 관계)가 존재합니다. 따라서 고객은 개인 고객이거나 사원 둘 중 하나입니다. 서브타입 간에 상호 배타적이므로 일반적으로 전체 서브타입의 합은 슈퍼타입이 됩니다. 즉 개인 고객과 사원을 합치면 전체 고객이 됩니다. [그림2]는 정보 공학(Information Engineering) 표기법의 배타 서브타입입니다. 서브타입 기호에 X 표시가 있습니다. [그림2] [그림3]은 중복(Inclusive.. 더보기 서브타입(Subtypes)이란? 지금까지 통합에 대해 설명했습니다. 오늘부터는 서브타입에 대한 글을 올리겠습니다. 그런데 막상 서브타입을 정의하려니 어렵네요. 며칠 째 막혀있었는데, 사실 서브타입 정의 자체는 엔터티 정의와 동일합니다. 슈퍼타입과 한쌍을 이룬다는 게 일반 엔터티와 다른 점입니다. 서브타입(Subtypes)이란 서브타입 엔터티(Subtypes Entity)를 말합니다. 서브타입을 엔터티로 인식하는 게 좋습니다. 슈퍼타입(Supertypes)도 마찬가지로 슈퍼타입 엔터티(Supertypes Entity)입니다. 엔터티를 일반화(Generalization)하거나 상세화(Specialization)하면 슈퍼타입과 서브타입이 생깁니다. 일반화와 상세화는 아래 글을 참조하세요. 일반화(Generalization)와 상세화(Spec.. 더보기 어떤 경우에 통합을 고려하는가? - 두 번째 지난 번에 설명한 데이터 성격이 유사하다는 것이 데이터 통합을 고려할 가장 중요한 요소입니다. - 데이터의 성격(본질)이 유사할 때, 즉 집합의 정의가 유사할 때 [그림1]은 고객이 요청한 알림 서비스를 관리하는 엔터티입니다. [그림1] 고객알림서비스 엔터티는 고객별 알림 서비스를 관리하는 엔터티이고, 계좌알림서비스 엔터티는 계좌별 알림 서비스를 관리하는 엔터티입니다. 어떤 종류의 알림 서비스를 원하는지와 어떻게 알림 서비스를 받는지, 서비스 신청 일자와 알림을 몇 번 반복하는지 등의 데이터 성격은 두 엔터티가 동일합니다. 단지 고객을 지정해 서비스를 하는지, 계좌를 지정해 서비스를 하는지가 달라 주 식별자가 달라졌습니다. 그래서 엔터티가 통합되지 못한 예제인데 통합 대상입니다(주 식별자가 다른 여러 엔.. 더보기 어떤 경우에 통합을 고려하는가? 지난 달에 프로젝트를 마치고 중국 여행을 다녀왔습니다. 빚을 내서라도 애들하고 여행하라는 글을 자주 봐서 이번에 빚을 냈습니다. ㅎ 사실 여행에 대한 중요성은 이미 알고 있죠. 여유가 없었을 뿐이죠. 여행을 하면 시야가 넓어집니다. 많은 생각을 할 수 있어 좋고… 홀로 3개월을 돌아다니던 그때가 생각나네요. 어쨌든 고생해서 여행은 갔다왔는데 마음이 풀렸는지 블러그 슬럼프가 왔습니다. 그래서 다시 마음을 다잡고 글을 올리려고 합니다. 오늘부터 데이터를 통합할 수 있는 여러 가지 경우를 설명하겠습니다. 어떻게 통합하느냐에 대한 얘기보다 어떤 것(무엇)을 통합하느냐에 대한 얘기입니다. 가장 원론적인 원칙이 데이터의 성격이 유사할 때입니다. - 데이터의 성격(본질)이 유사할 때, 즉 집합의 정의가 유사할 때 데.. 더보기 일반화(Generalization)와 상세화(Specialization) 데이터 통합과 관련된 용어로 일반화(Generalization)와 상세화(Specialization)가 있습니다. 이에 대해 간략하게 언급하겠습니다. 많은 분야에서 사용하는 용어일텐데, 이번 글에서는 데이터 모델링에서 사용하는 의미로 한정하겠습니다. 일반적인 용어를 공개적으로 설명하는 것은 용기가 필요하니 약간의 장치가 있어야죠. ㅎㅎ 모델링에서 일반화한다는 것은 데이터 통합을 의미합니다. 유사한 것을 묶는 것을 일반화라고 합니다. 원래 유사한 것을 묶을 수도 있고, 인위적으로 유사하게 만들어 묶을 수도 있습니다. 정의를 어떻게 하냐에 따라 유사한 것일 수도 있고, 유사하게 만든 것일 수도 있습니다(이 부분이 데이터 통합도 어렵게 하고 이에 대한 설명도 어렵게 하죠). 사전에서 찾은 '일반화하다'의 뜻은.. 더보기 데이터 통합(서브타입)에 대한 주절거림 데이터 통합은 모델링에서 가장 어려운 주제 중의 하나입니다. 또한 모델러 개개인의 능력 차이가 발생하는 부분입니다. 보통 통합하려는 데이터는 핵심적으로 사용되는 데이터일 가능성이 큽니다. 통합에 대한 이슈가 발생할 수 있는 데이터는 더욱 핵심 데이터이고요. 핵심적이지 않은 데이터는 무관심해서 통합과 관련된 이슈가 발생하지 않습니다. 정규화는 이론에 대한 이견은 거의 없고(조금 있고), 다만 적용 여부에 대한 논란(어느 정규형까지 적용해야 하는지에 대한 논란)이 많습니다. 데이터 통합은 모델러마다 이견이 생길 수 있습니다. 통합해야 좋다, 통합하면 안 좋다는 이견은 언제나 있습니다. 물론 전문가 간에는 의견이 거의 일치한다고 봅니다. 어쨌든 모델러 간에 의견 일치가 어려운 부분이 데이터 통합입니다. 데이터.. 더보기 이전 1 다음