PHP库存数据库设计

时间:2013-09-08 06:05:25

标签: php transfer inventory stock

我正在开发一个PHP Inventory应用程序。但我陷入了数据库设计的困境。逻辑是:

  1. Catagories
  2. 1 catagory包含许多产品
  3. One Product有多种尺寸的瓶子,如300毫升,500毫升,1升,每种尺寸都有自己的价格
  4. 产品将被存储或移动到2或3个位置。像仓库,柜台等。
  5. 问题是,如果我从货仓输入6个单位的产品到柜台,我怎么能通过数据库表来表示?我设计了数据库,但我无法弄清楚如何转移或移动股票的逻辑。这是设计:

    ![在此处输入图片说明] [1]

1 个答案:

答案 0 :(得分:0)

我不能非常推荐Bob叔叔推荐这个视频:

Robert C Martin(Uncle Bob) -Clean Architecture and Design - Video

除了可以从中学习的其他好东西,特别是对于您的问题,外卖是您的数据库设计应该尽可能延迟。您最好将数据库视为某种抽象接口,并从业务逻辑开始。这将使您对数据库中真正需要的内容有所了解,哪种API对您的逻辑与之通信有用。看起来你正在陷入困境,因为你在开发业务逻辑之前试图确定数据库结构。

为了让您对问题有更具体的了解,您可能需要一张桌子 PRODUCTS,您有product_idname等。现在您似乎与PROD_SIZES有一对多的关系,这可能是{{1}的另一个表或者主键prod_size_id作为外键product_idsize作为常规字段。但是,您可以将price - size对压缩为price,并将其放在JSON表的另一个字段中。这将取决于您的业务逻辑。

如果您在多个位置存储相同的项目,则可能需要另一个表格PRODUCT,其中包含您需要的有关每个位置的所有信息。然后,LOCATIONSprod_size_id之间存在多对多关系,这是一个单独的location_id表格hashid,{{1} }和prod_size_id。现在将一些单元从一个位置移动到另一个位置,只需更改最后一列就可以搞乱最后一个表。

希望它有所帮助。