我正在设计一个数据库,因为我需要开发这样一个 CRM,用户可以在其中指定新产品、产品规格和定价,然后让自己为上一步中指定的产品插入订单。当然,插入的数据需要根据它们在数据库中指定的内容进行评估。
我举个例子可能会更清楚:user1 创建一个产品“apple”,然后指定“颜色”和“重量”作为该产品的属性规格。然后user1说苹果定价是根据颜色和重量。 “黄”苹果的价格为 1 美元/重量单位,“红”苹果的价格为 2 美元/重量单位。
它还创建了一个具有“年份”、“型号”、“颜色”、“品牌”规格的产品“汽车”。这里还指定了价格组合。
最后,他创建了具有“尺寸”规格的产品“衬衫”,但价格是每个尺寸的标准价格
处理此类数据的良好起点是什么?
我正在考虑创建一个表products (id, name, pricing_type)
(pricing_type 给出了它是固定定价还是根据某些字段的可变定价的想法)。
然后productSpecsName (id, relatedProduct FK products (id), name)
and productSpecsValue (id, relatedSpecsName FK productSpecsName(id), value, conversion)
(转换告诉我如何在代码中使用该数据 - 例如将其转换为整数、浮点数或布尔值,因为值始终是字符串)。
但是这个设计并没有给我带来我需要的灵活性,你能帮助我获得更好的设计吗?这是一个电子商务,但我想为用户提供创建自定义类型的机会。
我带来的第一个,可能也是最简单的设计是为每个产品创建一个表(每次用户需要添加产品时,我都会创建一个新表)或创建一个包含所有可能选项的大型表并将它们保留为空,但我会选择更灵活的选择。
等待更好的想法/建议。
我想你正在寻找实体-属性-值模型 http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model.请参阅此页面作为开始:
使用数据库元数据及其语义生成自动和动态 Web 条目表单 http://www.iaeng.org/publication/WCECS2007/WCECS2007_pp654-658.pdf
规划和实施元数据驱动的数字存储库 http://scholarspace.manoa.hawaii.edu/bitstream/handle/10125/337/0409CCQPlanningImplementing.pdf?sequence=1
您还可以在标签中的 SO 中找到有用的线程:eav /questions/tagged/eav
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)