我有一个名为invoice
,item
和invoice_item
的表格。 invoice
项目表包含invoice_id
和item_id
列,用于存储1:M类型关系,其中发票可以包含多个项目。
现在我想以某种方式存储商品数量的信息。是否适合创建invoice_item_quantity
表,分别存储invoice_id
,item_id
和invoice_item_quantity
值?或者会有更优化的解决方案吗?
我可能会对此进行过度设计,但在item_quantity
表中添加类似invoice
列的内容不会起作用,因为您可以拥有许多不同类型的项目,因此会有没有背景。
我基本上需要一种方法来存储这样的模型:
如何以最佳方式存储上述模型中的数量?
答案 0 :(得分:1)
我可能会误解,但听起来你在invoice
和item
表之间存在多对多的关系,并且你正在使用联结表来支持{ {1}}表(此联结与invoice_item
和invoice
具有一对多的关系。)
如果您正在寻找典型的规范化数据库设计,那么将数量存储在item
表上是好的。另一个好主意是将发票ID和项目ID作为联结表上的复合主键。