【发布时间】:2015-02-24 17:20:01
【问题描述】:
TL;DR:将“库存”数据表与产品表分开的原因是什么?
不久前,我构建了一个存储零售产品目录的应用程序。它包括标准属性,例如大小、颜色、图像链接、描述等,大多数是平面表。它只是 Magento 产品的索引数据,因为应用程序运行在单独的服务器上。它还有一个 quantity 列,它没有任何用途;我只是把它放在那里“以防万一”。
现在,我需要在这个应用程序上实现某种库存管理。我一直在研究如何更新/设置数据库结构,似乎系统更喜欢从主要产品表中拥有一个单独的“库存”表。 Magento 也是如此。这是为什么? (请注意,我的应用程序不需要为给定产品提供单独的库存水平。)
对此我想到了几件事..(基本上,除了产品对象之外,库存将是它自己的对象)
给定产品的多个库存池。
能够跟踪库存变化(例如谁/什么负责改变库存等)
能够分离来自不同来源的股票以进行报告或统计。
还有别的吗?
更新:
回答了我的问题的 Hazzit 指出了 MySQL 表缓存的一个潜在非常有用的事实,如果您对特定表有很多查询。在这里阅读HERE,但有人指出..
如果表发生变化,所有使用该表的缓存查询都会变为 无效并从缓存中删除。
所以,我肯定会从拥有一个单独的库存表中受益匪浅,因为主产品表没有太大变化,但库存是。
【问题讨论】:
-
感觉是放假的时候发错了,哈哈。
-
这里任何时候都没有那么多数据库专家。 :-) 将库存数据表与产品数据表分开的原因。 1) 库存水平保留在多个地点。可能是仓库或销售网点中的垃圾箱。 2) 部分产品可能没有库存。它们可能可用于特殊订单,可能不再可用,或者可能在未来某个日期可用。 3) 库存可能是产品的更具体版本(尺寸、颜色等)。我希望这会有所帮助。
标签: database database-design inventory inventory-management