2012-06-03 3 views
1

요즘 전자 상거래 사이트의 많은 항목을 검색하는 제품 필터를 제공하는 것 같습니다. 예를 들어 너비, 높이, TV 크기, 가구 유형 등으로 항목을 검색 할 수 있습니다.드릴 다운 SQL을 사용하여 검색

검색 가능한 필터가 몇 개있는 단순한 웹 사이트 인 경우 지금은 가구를 판매하는 웹 사이트를 관리하고 있습니다. , 어플 라 이언 스 & 전자 제품 및 모든 카테고리는 하위 카테고리가 많이 있습니다. 예를 들어 :

기기 : 세탁 검색 가능한 속성 (세탁기, 건조기, 세탁기 Type..Microwave, 폭, 높이) 전자 텔레비젼 (TV 사이즈, 폭) 게임 (PS3, 장르, 판매 일)

나는 당신이 아이디어를 얻을 것이라고 확신합니다. ecomerece 사이트는 기본 카테고리를 제공하고 모든 카테고리는 하위 카테고리 또는 Searable 필터를 사용하여 검색을 상세히 분석 할 수 있습니다.

MS SQL Server & Asp.net을 사용하여이 작업을 수행하는 가장 좋은 방법은 무엇입니까? SQL에서 최적화 된 검색 가능한 스키마를 만드는 데 관심이 있습니다.

힌트 : 제안을 환영합니다.

감사합니다.

답변

1

Entity-Attribute-Value model을 사용할 수 있습니다.
단순한 개념은 각 모델의 속성 (예 : ps3 게임의 장르, 판매 날짜 등)에 대한 열 대신에 특성 및 유형이 표시되는 특성이라는 다른 테이블이 있다는 것입니다 나열하고 주요 모델 인스턴스 (PS3 게임)이 3 열을 통해 속성으로 연결됩니다 세 번째 테이블 :

  • 모델 아이디 (PS3의 게임의 ID)
  • 특성 아이디
  • 속성 값

이 개념은 관리가 더 어려울 수 있으며 더 복잡한 쿼리가 필요하지만 가장 쉬운 방법으로 새 ​​제품/범주를 추가 할 수 있습니다.
물론이 모델을 사용하면 공통된 속성 (PC 게임 및 ps3 게임 장르를 공유 함)을 공유하는 제품이 거의없는 경우 속성을 한 번만 정의하면 두 모델이 모두 연결되므로 다른 제품에 대한 일반적인 검색 쿼리

0

하나의 질문에 너무 많습니다. 데이터베이스 디자인에 대한 책을 찾으십시오. 드릴 다운의 경우 드릴 다운과 같은 수의 PK 컬럼이있는 테이블을 가질 수 있습니다. 그러나 세부 사항에 관해서는 TV가 스테레오와 동일한 세부 사항을 가지지 않으므로 별도의 테이블이 필요합니다.

+0

Blam, 질문에 너무 많이 어떻습니까? 내가 묻는 것은 드릴 다운 검색을 만드는 좋은 기술이었습니다. 나는 많은 사이트에서이 작업을 수행했지만 가장 좋은 아이디어를 찾고 있습니다. 어쩌면 검색 드릴 다운에 대한 책을 제안 해 줄 수 있습니까? – highwingers