オークション用にデータベースをセットアップする方法に関するガイドラインを探しています。
私の問題は、さまざまな製品タイプがたくさんあることです-絵画、衣服、コンピューターなどとしましょう.それらにはさまざまな仕様があり、オークションでサイズLの製品Aだけを設定することも、製品の在庫全体を設定することも可能です.例えば
この場合、最適なパフォーマンスとコーディングのためにデータベースを構築するにはどうすればよいですか?
オークション用にデータベースをセットアップする方法に関するガイドラインを探しています。
私の問題は、さまざまな製品タイプがたくさんあることです-絵画、衣服、コンピューターなどとしましょう.それらにはさまざまな仕様があり、オークションでサイズLの製品Aだけを設定することも、製品の在庫全体を設定することも可能です.例えば
この場合、最適なパフォーマンスとコーディングのためにデータベースを構築するにはどうすればよいですか?
次のデータベース/オブジェクト構造をお勧めします。
[Auction] n..1 [Category] 1..n [Variation Attribute] 1..n [Attribute Value]
オークションには、カテゴリと、同様にバリエーション属性を参照するいくつかの属性値があります。
[Auction] = [Category], [Name], [Description]
[Auction_AttrVal] = [AuctionID], [VarAttrID], [AttrValID]
まず、「絵画」、「衣服」、「コンピューター」などのアイテムを保持する、ある種のカテゴリ テーブルを作成できます。オークション/商品は1つのカテゴリに割り当てられます。
次に、各カテゴリは、この特定のカテゴリのバリエーション属性を定義します。たとえば、「服」カテゴリの「サイズ」や「コンピュータ」カテゴリの「CPU」などです。バリエーション属性に定義済みの値を追加して、バリエーションの数を制限し、「3GhZ」と「3 GhZ」などの区別を避けることもできます。
このメカニズムにより、検索結果を簡単にフィルタリングすることもできます。カテゴリを選択し、すべてのバリエーション属性をフィルターとしてロード (または属性にフラグを追加してそのように宣言) し、エンドユーザーにフィルター処理するための値を提供します。
さらに、カテゴリのバリエーション属性を必須にして、オークションを作成するユーザー (私はそれが消費者対消費者であると想定しています) に、オークションに十分な情報を提供するよう強制することができます。
コードはおそらく非常に一般的で単純なものになります。データベース構造は非常に柔軟で拡張性があります。パフォーマンスは、すべてを 1 つのテーブルにまとめるよりもはるかに優れています。AuctionID
おそらく、テーブルの (フィールドの)インデックスを作成する必要がありAuction_AttrVal
ます。データベースの構造が正しく説明されていない場合はお知らせください。