DATOR


31.선진모델(3)-상품 조건(2) 기본 카테고리



이 랩을 해오면서 제일 중요하게 생각하는 부분 중 하나는
생각하는 힘을 기르는 것입니다.

평소에 아는 것 같아 깊이 생각해보지 않고 그냥 넘어가는  경우가 많은데
실제로 설명해보라하면  얼버무리거나 원래 그런거야 라고 윽박지르는 경우가 많습니다.
왜 그런지 논리적으로 다각도에서 생각해본 후
원인과 현상을 분석해 이론화 하는 것이 필요하다고 생각됩니다.


이런 취지에서
 '상품의 조건은 언제 발생하는가'를 생각해 봅니다.

 

전편에서 상품 판매의 조건은
판매지역, 판매대상, 판매시기 등등에 따라 달라질 수 있다고 했습니다.


다시 말하면
상품과, 판매지역, 판매대상, 판매시기와의 관계에 따라 판매조건이 달라집니다.


또 다시 말하면 '조건은 관계다'라고 볼수 있습니다.


또한 조건은 판매조건만이 아니라 교환조건, 변경조건 등등 많이 존재합니다.


모두 조건에 포함되는 요소들의 관계에 의해 결정됩니다.

결국 조건은 관계엔티티가 된다는 것을 알 수 있습니다.

 

예전에 '고객과 상품의 관계엔티티가 주문이다'라는 말은
관계엔티티의 의미를 혼란스럽게 할 수 있다고 했습니다.

 

특정고객이 특정시간에 특정상품을 샀으면 행위데이터 입니다.
특정고객이 특정상품을 살수 있는 조건이 있다면 이것은 관계데이터입니다.

 

전자는 순간의 행위이고
후자는 상태의 기간이 존재합니다.

 

관계는 상태라 일정시간 지속되다가 변할 수 있습니다.
따라서 유연성이 보장되어야 합니다.

 

자 그럼
관계엔티티는 어떻게 모델링되는지 살펴봅니다.
모두가 아는 것처럼
관계에 참여하는 요소들의 식별자를 상속받은 후
관계가 가지고 있는 일반 속성을 추가하면 끝입니다.
간단하지요.

 

그럼 관계엔티티의 유형을 알아봅니다.

 

1.일반관계엔티티


  복합상품의 경우 사용할 수 있는 세부 상품을  정보를 관리한다면
  복합상품과 세부상품의 관계(구성조건 혹은 사용, 서비스 조건으로 볼 수 있음) 관리가 필요합니다.
  이 관계엔티티는 모두 상품엔티티에서 병렬로 식별자를 상속받아
   주상품번호,부상품번호 두개의 식별자가 생성되고
  일반속성으로 상품관계코드를 생성하여 그 값으로 '상품구성관계'라는 값을 갖게 됩니다.
  또한 관계는 변할 수 있으니 유효시작일자, 유효종료일자 속성을 갖게 됩니다.
 
2.멀티디멘전 엔티티


관계에 참여하는 요소가 여러개인 관계(조건) 엔티티를 멀티디멘전 엔티티이라고  합니다.
즉 관계참여요소=디멘젼 이지요.
예를 들어
고객신분,지역,상품종류   에 따라 수수료가 달라진다면
이 세 요소가 식별자가 되고 이 세  조합에 따른 수수료가 일반속성이 됩니다.

업체에는 다양한 조건들이 존재합니다.
이 경우 조건 하나마다 엔티티를 하나씩 다 만든다면
몇십개의 비숫한 엔티티가 존재할 수 있고
변경 신규 생성에 따른 비효율이 발생할 수 있습니다.
즉 유연성이 떨어집니다.

그래서 엔티티 메타를 적용하여 통합관리하게 됩니다.
(엔티티메타는 상품팩토리 참조)

다음에 계속


 

 

Tag :

Leave Comments