商品的数量应该如何处理?

简单点数吧,假如某个电子商务网站进了 10瓶可口可乐,那么这个数量,是应该作为 商品对象的一个属性吗?如果是的话,那么商品表里就应该只有一条可口可乐的记录了。 还是说有10瓶可口可乐,商品表里就有10条可口可乐的记录?

两种实现方式都是可以的,关键是要根据应用的业务场景不同进行选择。

方案一:将可乐数量作为一个属性,商品表中存储一条记录

如果系统中仅需要记录商品数量,不需要提供记录谁买了可乐,哪瓶可乐在何时何地被卖出这样的业务要求的话,10瓶可乐存储一条记录即可。

方案二:没瓶可乐是一条记录,商品表中存放10条可乐记录

与方案一的应用场景不同的是,方案二的应用场景中需要系统能够记录每瓶可乐的详细销售和流动情况。

总之,是根据你的系统能够完成的业务来确定的。

建议你对每一批可乐进行条码编码,你在系统里为每一批可乐保存一条记录,因为每一批的可乐进货时间可能不一样,过期日期也不一样

建议购买情况单建一表,如果一天买了三批可乐,每次买的都不一样,那么如果把数量总量当成可乐的属性的话,那么你以后再追溯起具体的购买情况就基本不可能了。

如果每批可乐存一条的话,数据冗余太大,可乐的一般属性将多次重复出现,比如名称、厂家、重量、容积什么的。

可乐的产品信息一条
可乐的商品信息多条,和产品信息Many2one

库存信息放在可乐产品信息比较好,当然另立一张库存表业无可厚非,因为库存信息不是一个简单的10,而应该有其他的属性,视不同的行业不同,电子商务网站实际的库存并不代表目前可售的产品数量,但是诚然,在这种系统中也不会因为客户下单了10个可乐,其他的人就不能再下单了,每个电子商务网站有不同的策略。是否要考虑条形码,暂时不在考虑范围内,条形码更多的和商品产生关联,不知对您是否有帮助

id name sum price
1 可口可乐 10000 5.00
10瓶不是一条记录搞定了么?
如果产品有很多属性
id name price 当前库存 其他属性.
123 可口可乐 5.00 10000 。。。