我正在寻找有关如何为拍卖方设置数据库的指南。
我的问题是,有很多不同的产品类型——比如绘画、衣服、电脑等。它们有不同的规格,应该可以在拍卖中只设置尺寸为 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]
首先,您可以拥有某种类别表,其中包含“绘画”、“衣服”、“计算机”等项目。拍卖/产品被分配到一个类别。
然后每个类别定义此特定类别的变体属性。例如,“衣服”类别的“尺寸”或“计算机”类别的“CPU”。您还可以为变体属性添加预定义值,以限制变体的数量并避免“3GhZ”与“3 GhZ”之类的差异。
这种机制还允许轻松过滤搜索结果。您选择一个类别并简单地将所有变体属性加载为过滤器(或将标志添加到属性以将其声明为这样)并将过滤值提供给最终用户。
此外,您可以为类别强制设置变体属性,以强制创建拍卖的用户(我假设它是消费者对消费者)为他们的拍卖提供足够的信息。
代码可能非常通用和简单。数据库结构具有高度的灵活性和可扩展性。性能比一张桌子好得多。您可能应该为表创建一个索引(为 field AuctionID
)Auction_AttrVal
。如果没有正确解释数据库结构,请告诉我。