我正在寻找一个关于如何设置我的数据库拍卖方面的指导方针。
我的问题是,有很多不同的产品类型-比方说绘画,衣服,电脑等。它们有不同的规格,应该可以在拍卖中只设置产品A的尺寸L-或所有产品B的库存。
在这种情况下,我应该如何构建我的数据库以获得最佳性能和编码?
发布于 2012-09-01 10:18:28
我建议使用以下数据库/对象结构:
[Auction] n..1 [Category] 1..n [Variation Attribute] 1..n [Attribute Value]然后,拍卖具有一个类别和几个引用变体属性的属性值:
[Auction] = [Category], [Name], [Description]
[Auction_AttrVal] = [AuctionID], [VarAttrID], [AttrValID]首先,您可以有某种类别表,其中包含诸如“绘画”、“衣服”、“计算机”之类的项目。一个拍卖/产品被分配到一个类别。
然后,每个类别定义该特定类别的变体属性。例如,类别“衣服”的“大小”或类别“计算机”的"CPU“。您还可以为变化属性添加预定义的值,以限制变化的数量并避免像"3 GhZ“和”3 GhZ“这样的差异。
该机制还允许容易地过滤搜索结果。您选择一个类别,并简单地将所有变体属性加载为过滤器(或向属性添加一个标志以将其声明为过滤器),并将用于过滤的值提供给最终用户。
此外,您可以强制类别的变体属性,以强制创建拍卖的用户(我假设它是消费者对消费者)为他们的拍卖提供足够的信息。
代码可能是非常通用和简单的。性能比将所有内容都放在一个表中要好得多。您可能应该为Auction_AttrVal表创建一个索引(用于字段AuctionID)。如果数据库结构没有正确解释,请告诉我。
https://stackoverflow.com/questions/12224340
复制相似问题