我找了很多有关库存数据库的设计,其中有一点是这样的,产品库存会分成两个表:product和stock。
product
stock
product是存储产品的相关信息,如: 名称 编码 价格 ..
stock是存储产品的库存数量,如: 数量 最低库存数量 ...
而他们的关系,则是一对一。 既然是一对一的设计,为什么不把他们放在一个表里呢?直接就:
product存储产品的相关信息和库存情况,如: 名称 编码 价格 数量 最低库存数量 ...
第一种设计的优势是在于哪里呢?
product 是产品(静态)属性:款号、材质、品牌。。。
item 是(可售)商品,包含了:颜色、尺码、SKU 编码、库存、销售价
在 销售 过程中,唯一频繁变动的就是 stock
建議看看 spree 的代碼。他們這部分設計的很棒。
Product 和 Stock 职责差异明显,分离后,有更好的扩展性,性能也更好,当然如果系统特别简单,不需要关注这些特性,也可以使用简单粗暴的方法。
#2 楼 @Victor 据说 spree 基于 rails engine 的?