1

最近の多くのeコマースサイトは、アイテムを検索するための製品フィルターを提供しているようです。たとえば、幅、高さ、テレビサイズ、家具の種類などでアイテムを検索できます。

今では、検索可能なフィルターがいくつかあるシンプルなWebサイトであれば簡単ですが、私は家具、電化製品、電子機器を販売するWebサイトを管理しており、すべてのカテゴリーにサブカテゴリーもたくさんあります。例えば:

アプライアンス:ランドリー検索可能な属性(洗濯機、乾燥機、洗濯機タイプ..電子レンジ、幅、高さ)電子レンジテレビ(テレビサイズ、幅)ゲーム(ps3、ジャンル、販売日)

私はあなたがその考えを理解していると確信しています。エコメレスサイトは基本的なカテゴリを提供し、すべてのカテゴリにサブカテゴリまたはSearableフィルタを設定して検索をドリルダウンできます。

MSSQLServerとAsp.netを使用してこれを行うための最良の方法は何でしょうか。SQLで最適化された検索可能なスキーマを作成することに興味があります。

ヒント、提案は大歓迎です。

ありがとう

4

2 に答える 2

1

Entity-Attribute-Valueモデルを使用できます。
単純な概念は、モデルの各属性(ps3ゲームのジャンル、発売日など)の列を作成する代わりに、属性とそのタイプが一覧表示されるAttributesという名前の別のテーブルを作成することです。 3番目のテーブル。メインモデルインスタンス(ps3ゲーム)は、3つの列を介して属性にリンクされます。

  • モデルID(ps3ゲームのID)
  • 属性ID
  • 属性値

この概念は管理が難しく、より複雑なクエリが必要になる場合がありますが、最も簡単な方法で新製品/カテゴリを追加することはできません。
もちろん、このモデルでは、共通の属性を共有する製品がほとんどない場合(PCゲームとps3ゲームがジャンルを共有する場合など)、属性を1回だけ定義すると、両方のモデルがそれにリンクされ、共通の検索が可能になります。さまざまな製品に関するクエリ。

于 2012-06-03T09:08:24.833 に答える
0

1つの質問には多すぎます。データベース設計に関する本を探してください。ドリルダウンの場合、ドリルダウンと同じ数のPK列を持つテーブルを作成できます。しかし、詳細に関しては、テレビにはステレオと同じ詳細がないため、個別のテーブルが必要になります。

于 2012-06-03T08:41:35.840 に答える