在我过去的几年里,我制作了一个简单的商店应用程序,在那里我制作了这样的简单产品表:
ID,Name,IDCategory,Size,Qty,buyprice,sellprice
数量字段在产品表中,在交易中,我只是在该表上添加或减去它。
现在,在我的新超市应用程序中,我知道我需要设计更复杂的表来跟踪库存项目数量,因为产品现在有一个到期日,不同的buyprice(也可能是卖价)。这是确保财务报告准确的唯一方法,我们可以从中获得每笔交易的实际利润。
我的新产品表就像
ID,Name,IDCategory,Size,ExpirationDate,SellPrice '(I remove qty and keep sell price to simplified and sell my item at 1 price only )
设计的问题是它在数据库和编程设计中变得更加复杂,我认为我需要应用FIFO系统,当我考虑编辑事务/返回项目等时,它变得更加复杂。 / p>
我现在能想象的是让桌子像这样:
tblProductQty = BuyInvoiceID,Date,IDProduct,Qty
然后我在tblBuyTransactionDetail中已经意识到这些信息( *表格保留我的购买交易(如invoiceNo,SupplierID,Date,Total)和详细信息表格(InvoiceNo,IDProduct,Qty,BuyPrice,ExpirationDate))
现在我真的很困惑,我真的需要stockTable吗?但如果没有,那就意味着我需要在交易查询之间进行求和,以获得一个产品的数量。
你们真的这样做了吗?所有大型超市的常用设计是什么?
注意:我目前使用access和vbnet
答案 0 :(得分:1)
我知道对于大多数erp系统,以下各项都有单独的表格;
购买(注意购买不一定是产品)
产品交易(您需要这个来计算fifo股票价值)
销售(通常但不总是产品)
产品详情(说明等)
你提到了有效期。这些应该理想地针对个人购买进行记录。
另请注意,购买和销售通常分为标题表和详细信息表(发票和发票行)。
答案 1 :(得分:1)
两种方法都用于执行此操作,一些方法使用单独的De标准化库存表,一些使用报告时计算它。 两者都是正确的方法,但以下是使用单独的Stock表的利弊,请根据您的需要使用。
<强>优点:强>
<强>缺点:强>