DATOR


28.선진모델(2)-상품팩토리(5) 기본 카테고리


이번 회는 엔티티 메타의 속성관리 기법입니다.

 

가장 간단한 방법은 엔타티메타와 같은 형태의 엔티티를 하나 더 만들어
특정 로우 그룹별로 같은 속성 위치에 속성명을 입력해서 관리하는 것입니다.
명만을 관리하게되고 사용자는 이 엔티티에서 상품별로 속성위치에 따른 속성명을 확인 후 사용하게 됩니다.
(이해 되나요? 안되면 질문 등록 바랍니다.)

 

상품팩토리라는 패키지가 있다고 했습니다.
패키지이니  다양한 기능이 포함되어 있습니다.
그중 하나가 속성관리 기능입니다.
여기서 부터는 구조가 아니라 어플리케이션 기능입니다.

 

새로운 상품 모델을 개발할 때
상품 모델을 구성하는 단위 서비스 모델이나 다른 상품 모델을  조합한다고 했습니다.
이 기법을 속성에도 똑같이 적용시기는 것입니다.
즉 단위 서비스 모델 대신 단위 속성 그룹을 만드는 것입니다.

 

모든 상품이 갖는 기본 속성그룹
특정 단위서비스가 갖는 속성그룹
....
이렇게 속성을 들을 그룹핑 해 놓고

 

새로운 상품 모델을 개발할 때
속성 그룹을 선택한 후
필요한  속성들을 선택하여
새로운 상품 모델의  전체 속성을 생성하는 것입니다.

 

이를 위해선

1.상품에 관련된 모든 속성을 도출한다.
2.속성을 그룹핑 한다.
3.신규상품 생성 시 그룹 선택 후
4.원하는 속성 선택

 

데이터 모델은 어떻게 될까요?

 

일단 전체 속성을 관리할  '상품속성메타정보' 엔티티가 필요하겠지요.
속성번호, 속성명, 타입,길이... 등등이 속성으로 설계됩니다.

 

실제 상품정보를 담게될 '상품정보' 엔티티의 구조는
상품번호, 속성1, 속성2.....속성200....  이렇게 되어 있습니다.
따라서 다른 엔티티에서 속성1이 어떤 속성을 사용하는 지를 정의해 주어야 합니다.

 

그 엔티티를 '상품엔티티메타정보' 엔티티라 하면
상품번호, 속성순서, 속성번호  ... 가 됩니다.

 

상품번호는 상품정보 엔티티의  상품번호로 상품고유번호
속성순서는  상품정보 엔티티의  속성1, 속성2....
속성번호는 상품속성메타정보 엔티티의 속성번호
(이해 되나요? 안되면 질문)

 

상품패키지 프로그램은
상품관련 조회 call 이 들어오면
상품번호와 요청된 속성명을
상품엔티티메타와 상품속성메타를 조인된 집합에서 찾습니다.
그 결과를 가지고
상품정보에서 필요한 속성만 추려서 리턴하게 됩니다.

 

한 방 SQL 이 아니라 루프 등이 포함된 프로그램으로 처리 되겠지요.
따라서 속도에 한계가 있습니다.

 

정리하면

상품의 조립방법은
1.단위 서비스 모델의 조립(로우 개념)
2.단위 서비별 모델별 보유 속성의 조립(컬럼 개념)
두 가지가 있다고 했습니다.

 

이 둘은 별개의 개념입니다.
혼동하지 마시기 바랍니다.

 

다음은 상품에 관련된 조건에 대해 알아봅니다.

 

 

 

 

Tag :

Leave Comments