如何对可能有或可能没有价格修饰符的产品的价格进行建模。例如,假设我有一件t恤出售,它有不同的尺寸和颜色:
- 小型,白色=10美元
- 小号,黑色=10美元
- 大号,白色=15美元
- 大号,黑色=20美元
请记住,并不是所有的价格修饰符都是"大小"one_answers"颜色"。此外,有些产品可能根本没有价格调整。应该如何在数据库中对这些信息进行建模?
我的直觉是接受EAV,但每当我开始考虑EAV时,我总是很担心。我使用EAV建模的方式是
products
- id
- name
prices
- id
- product_id
- attribute
- value
我总是有attribute="amount"和value=无论价格是多少
我担心这不是对此类数据进行建模的正确方法。建议/反馈
正如你所知,在大多数制造业,尤其是成本核算系统中,你会看到这些数据的不同建模和困难,如果你现在可以访问任何著名的ERP系统,你可以看到它们的架构,但作为我自己的想法,你提到的属性很好。
这允许您轻松地拥有和管理所有产品、属性和产品属性:
products
- id
- name
attributes
- id
- attribute_id
- attribute_name
- attribute_type
product_attribute_values
- id
- product_id
- attribute_id
- value
现在我们对具有多个属性的产品的定价有问题,我认为应该指定有多少属性在定价中起作用(比如说两个),然后我们需要这样的东西:
product_attribute_price
- id
- product_attribute_values_id_1
- product_attribute_values_id_2
- price
正如我所说的,大多数ERP系统都有很好的架构来应对这种情况,但我没有复制任何一个,而是提出了自己的想法,这个想法肯定会有问题,需要更多的审查