我们正在开发一个网站,我们有产品及其规格。产品数据存储在产品表中。
我们不确定如何存储规格。由于冰箱的规格与微波炉或洗衣机完全不同。
有人可以建议我可以创建的其他相关表来存储规范吗?
答案 0 :(得分:1)
执行此操作的“正确”方法实际上取决于您需要对数据执行的操作。例如,假设微波炉和洗衣机都有“瓦特”作为规格。你有没有想过你需要按瓦数范围查询所有设备?如果是这样,您将需要将其存储为具有数字类型的表列。如果您不需要这样做,那么一个包含两个字符列(以及产品ID)的简单“键值”表将是一个良好的开端。
答案 1 :(得分:0)
就像我问的正确实现取决于你如何使用数据..如果你不想查询你的规范而你不想要太多的开销来处理那么你可以将规范转储为产品中blob列的一部分表,但这意味着您无法对数据库端的数据执行任何操作,并且一旦将数据读入Web服务器或者可能使用某种全文搜索引擎(如此处讨论的那样),就必须对数据执行操作。 http://msdn.microsoft.com/en-us/library/ms345119(v=sql.90).aspx
否则,您可以将其存储为键值对,并将外键映射到每个行,您甚至可以在密钥上进行过滤并加入产品表。
在这种情况下你的表结构将是
Specifications:
Product_id,
Speecification_Name,
Specification_value (nvarchar),
Specification_type(string) // identifies the datatype of the value.. not sure how useful this is at this moment but smthing that you can consider while filtering