EAV/CRデータベース モデルが悪いと言っても過言ではありません。そうは言っても、
質問:実行時に変更できる e コマース製品を記述する属性の「クラス」を処理するには、どのデータベース モデル、手法、またはパターンを使用する必要がありますか?
優れた電子商取引データベースでは、オプションのクラスを保存します (テレビの解像度のように、各テレビの解像度がありますが、次の製品はテレビではなく、「テレビの解像度」がない場合があります)。それらをどのように保存し、効率的に検索し、ユーザーが製品を説明する可変フィールドで製品タイプを設定できるようにしますか? 顧客が通常、コンソールの深さに基づいてテレビを検索することが検索エンジンによって判明した場合は、フィールドにコンソールの深さを追加し、実行時にテレビ製品タイプごとに 1 つの深さを追加できます。
優れた e コマース アプリには、一連の製品を表示し、「TV 解像度」をヘッダーとして表示できる「ドリルダウン」サイド メニューと、最も一般的なテレビ解像度のトップ 5 を表示する、優れた共通機能があります。見つかったセット。1 つをクリックすると、その解像度のテレビのみが表示され、サイド メニューで他のカテゴリを選択してさらにドリルダウンできます。これらのオプションは、実行時に追加される動的な製品属性になります。
さらなる議論:
簡単に言えば、次のセットアップを「学術的に」修正できるインターネットまたはモデルの説明にリンクはありますか? カテゴリ テーブルを提案してくれた Noel Kennedy に感謝しますが、それ以上の必要性があるかもしれません。以下では、重要性を強調するために別の方法で説明します。問題を解決するために視点の修正が必要な場合や、EAV/CR をさらに深く掘り下げる必要がある場合があります。
EAV/CR モデルに対する肯定的な反応が気に入っています。私の仲間の開発者は皆、Jeffrey Kemp が以下で触れたことを言っています。問題は:
- エンティティは毎週属性を追加および削除します
(検索キーワードは将来の属性を決定します) - 新しいエンティティが毎週到着し
ます (製品は部品から組み立てられます) - 古いエンティティは毎週消えます
(アーカイブ済み、あまり人気がなく、季節限定)
顧客は、次の 2 つの理由で製品に属性を追加したいと考えています。
- 部門・キーワード検索・類似商品比較表
- チェックアウト前のコンシューマ製品構成
属性には、単なるキーワード検索ではなく、意味がなければなりません。「ホイップ クリームのフロスティング」があるすべてのケーキを比較したい場合は、ケーキをクリックし、誕生日のテーマをクリックし、ホイップ クリームのフロスティングをクリックしてから、ホイップ クリームのフロスティングがあることを知っている興味深いすべてのケーキをチェックします。これはケーキに固有のものではなく、単なる例です。