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]

首先,您可以拥有某种类别表,其中包含“绘画”、“衣服”、“计算机”等项目。拍卖/产品被分配到一个类别。

然后每个类别定义此特定类别的变体属性。例如,“衣服”类别的“尺寸”或“计算机”类别的“CPU”。您还可以为变体属性添加预定义值,以限制变体的数量并避免“3GhZ”与“3 GhZ”之类的差异。

这种机制还允许轻松过滤搜索结果。您选择一个类别并简单地将所有变体属性加载为过滤器(或将标志添加到属性以将其声明为这样)并将过滤值提供给最终用户。

此外,您可以为类别强制设置变体属性,以强制创建拍卖的用户(我假设它是消费者对消费者)为他们的拍卖提供足够的信息。

代码可能非常通用和简单。数据库结构具有高度的灵活性和可扩展性。性能比一张桌子好得多。您可能应该为表创建一个索引(为 field AuctionIDAuction_AttrVal。如果没有正确解释数据库结构,请告诉我。

于 2012-09-01T02:18:28.450 回答