EAV / CR 데이터베이스 모델이 잘못 되었다고 말하는 것이 안전합니다 . 그것은 말했다
질문 : 런타임시 변경 될 수있는 전자 상거래 제품을 설명하는 속성의 "클래스"를 처리하기 위해 어떤 데이터베이스 모델, 기술 또는 패턴을 사용해야합니까?
좋은 전자 상거래 데이터베이스에는 옵션 클래스를 저장합니다 (예 : TV 해상도는 각 TV의 해상도를 갖지만 다음 제품은 TV가 아니고 "TV 해상도"가 아닐 수 있음). 어떻게 저장하고 효율적으로 검색하며 사용자가 제품을 설명하는 가변 필드로 제품 유형을 설정할 수 있습니까? 검색 엔진이 고객이 일반적으로 콘솔 깊이에 따라 TV를 검색하는 것을 발견하면 필드에 콘솔 깊이를 추가 한 다음 런타임에 각 TV 제품 유형에 대해 단일 깊이를 추가 할 수 있습니다.
좋은 전자 상거래 앱에는 유용한 제품들이 있습니다. 여기에는 일련의 제품이 표시되고 "TV 해상도"를 헤더로 볼 수있는 "드릴 다운"사이드 메뉴가 있으며 가장 일반적인 5 가지 TV 해상도는 발견 세트. 하나를 클릭하면 해당 해상도의 TV 만 표시되므로 사이드 메뉴에서 다른 범주를 선택하여 드릴 다운 할 수 있습니다. 이러한 옵션은 런타임에 추가 된 동적 제품 속성입니다.
심도 깊은 논의:
간단히 말해 인터넷이나 모델 설명에 다음과 같은 설정을 "수정 적으로"수정할 수있는 링크가 있습니까? Noel Kennedy에게 카테고리 테이블을 제안 해 주셔서 감사하지만 그보다 더 큰 필요성이있을 수 있습니다. 의미를 강조하기 위해 아래에 다른 방법으로 설명합니다. 문제를 해결하기 위해 시점 수정이 필요하거나 EAV / CR에 대해 더 깊이 들어가야 할 수도 있습니다.
EAV / CR 모델에 대한 긍정적 인 반응을 좋아하십시오. 저의 동료 개발자들은 모두 Jeffrey Kemp가 아래에서 언급 한 내용을 말합니다. 문제는:
- 엔티티 추가 및 제거 매주 속성
(키워드는 미래의 속성을 지시 검색) - 새로운 엔티티가 매주 도착합니다
(제품은 부품으로 조립됩니다) - 오래된 엔티티는 매주 사라짐
(아카이브, 덜 인기있는, 계절별)
고객이 다음 두 가지 이유로 제품에 속성을 추가하려고합니다.
- 유사 제품 간의 부서 / 키워드 검색 / 비교 차트
- 결제 전 소비자 제품 구성
속성은 키워드 검색뿐만 아니라 의미를 가져야합니다. "휘핑 크림 프로스팅"이있는 모든 케이크를 비교하려면 케이크를 클릭하고 생일 테마를 클릭하고 휘핑 크림 프로스팅을 클릭 한 다음 크림 프로스팅이 모두 휘핑되어 있다는 사실을 알고 흥미로운 모든 케이크를 확인할 수 있습니다. 이것은 케이크에만 국한된 것이 아니라 단지 예일뿐입니다.