2012-10-05 2 views
0

나는 ASP.NET/C#을 사용하여 CMS 작업을하고 있습니다. 그것은 잘 작동하고 인생은 좋습니다. 그러나 다양한 기능을 추가하여보다 다양한 웹 사이트를 지원하기로 결정했습니다. 기본적으로 현재 CMS는 여전히 알파이지만 동일한 요구 사항을 가진 동일한 회사 그룹에서 실행되는 여러 웹 사이트의 데이터를 호스팅 할 수 있습니다. 아래 첨부 된 그림에 따라다소 복잡하고 특이한 요구 사항에 대한 해결책을 찾을 수 없습니다.

내가 데이터베이스를 구축 한 :

"영상 보안상의 이유로 제거"

자,이 그림 외에, 나는 '다른 아래 제품에 대한 지원을 추가하도록 요청 받았다 속성 (attributes) '을 가지고있다. 상품이 이제 type 및 기타 많은 속성을 가질 수 있음을 의미합니다. 그래서 우리 사이트 중 하나를 사용하고 티슈 페이퍼를 만들었다 고 가정 해 봅시다. 제품은 여하튼 '유형'에 의한 필터링을 '조직'이라고 말하고 '응용 프로그램'은 '어떻게 사용하는지'와 미래에 나타날 수있는 다른 '알려지지 않은'속성 '을 말합니다.

예를 들어 제품은 '농업용 포장'부문에 속할 수 있으며 '가방'유형이며이를 적용하는 방법으로 적용됩니다. 최종 결과는 제품의 사용 방식, 유형, 또는 해당 섹터에 따라 제품을 분류 할 수있게하는 것입니다. 아니면 모두 함께.

데이터 모델 및 CMS에 포함시키는 데 가장 좋은 방법은 무엇입니까?

감사합니다.

+0

읽기 기업 모델 패턴 Hay –

답변

2

올바른 접근 방식을 취하는 것 같습니다. 제품에 새로운 '속성'중 둘 이상을 할당 할 수있는 경우, 새로운 속성 테이블을 작성하여 유한 속성 세트를 정의 할 수 있습니다. 제품 & 섹터와 마찬가지로 상호 참조 테이블을 통해 해당 테이블을 제품에 연결할 수 있습니다. 제품에 단일 특성 만 할당 할 수있는 경우 특성 테이블을 추가하지만 상호 참조 테이블을 사용하는 대신 AttributeID 열을 Products 테이블에 추가하여 두 테이블을 조인합니다.

나는 당신이 이미 알고있는 것을 말하고있는 것처럼 느낍니다. 따라서 추가 정보가 있거나 원하는 세부 정보가 있으면 업데이트를 게시 할 수 있습니다.

0

찾으려는 패턴은 EAV 입니다. 제품 ID, 속성 ID 및 속성 값이있는 속성 테이블과 속성 값 테이블로 끝납니다.

관련 문제