0

オークション用にデータベースをセットアップする方法に関するガイドラインを探しています。

私の問題は、さまざまな製品タイプがたくさんあることです-絵画、衣服、コンピューターなどとしましょう.それらにはさまざまな仕様があり、オークションでサイズLの製品Aだけを設定することも、製品の在庫全体を設定することも可能です.例えば

この場合、最適なパフォーマンスとコーディングのためにデータベースを構築するにはどうすればよいですか?

4

1 に答える 1

0

次のデータベース/オブジェクト構造をお勧めします。

[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ます。データベースの構造が正しく説明されていない場合はお知らせください。

于 2012-09-01T02:18:28.450 に答える