0

e コマース プロジェクト用のデータベースを設計しようとしています。

現在のモデルは、カテゴリ (それ自体に外部キーを持つ) と製品 (カテゴリに fk を持つ) です。私が今実装しようとしているのは、カスタム プロパティです。

基本的に、特定のカテゴリのプロパティを動的に指定できるようにしたいと考えています。たとえば、「モニター」カテゴリでは、このカテゴリの製品に「解像度」プロパティがあることを指定できるようにしたいと考えています。これは私が動的にやりたいことであることに注意してください - 私はどのプロパティにもハードコーディングしたくありません。これに対する明らかな解決策は、EAV を使用することです。でも...

ユーザーが特定のカテゴリに移動したときに、カスタム プロパティに基づいて指定およびフィルター処理できるようにする必要があります。つまり、ユーザーがモニター カテゴリに移動して、「解像度」=「1080p」のモニターのみを表示するように指定できるようにしたいと考えています。さて、ここからがややこしいところです。カテゴリに基づいて、利用可能なプロパティ (「解像度」など) と、可能な値 (「1080p」など) を知る必要があります。

私は一生、適切なモデルを見つけることができません...誰かが私を正しい方向に向けることができますか?

注: 私は現在 MySQL を使用していますが、他のオプションを受け入れることは間違いありません。たとえば、NoSQL データベースは N 個のユーザー定義ファイルを持つ機能を提供することを知っています (任意のデータを保存しているだけなので)。したがって、MySQL または SQL でさえも 1) 適度にエレガントで 2) 適度に効率的なソリューションを提供できない場合、私は完全に他の技術を検討したい。

4

1 に答える 1

1

次のように、FK 用のフィールド、カスタム オプション名用の別のフィールド、およびカスタム オプション値用の別のフィールドを含むテーブルを作成することを試みることができます。

id = 1;
category_id = 1; // FK
custom_option = "resolution";
custom_value = "1080p";

id = 2;
category_id = 1;
custom_option = "touch sensitive";
custom_value = "0"; // 1=Yes / 0=No

したがって、顧客が監視カテゴリを参照すると、データベースはこのカテゴリの特別なカスタム オプションを返すことができます。

于 2012-12-05T05:38:14.120 に答える