繁体   English   中英

如何设计用于在库存商店中存储物品的数据库?

[英]How to design database for storage of Items in Inventory stores?

这基本上适用于我目前正在研究的生产管理系统。 我有不止一种类型的物品要存储在库存中(产品/零件/材料)。 我想将它们存储在由 (Store, Section, Rack, Bin) 组成的库存商店中。 我在完成这个设计时遇到了困难,希望你们能帮助我就如何完成这个设计集思广益。

这就是我现在所拥有的。

Products:
    [ID]                   INT           IDENTITY (1, 1) NOT NULL,
    [Name]                 NVARCHAR (50) NOT NULL,
    [DefaultPurchasePrice] FLOAT (53)    NOT NULL,
    [DefaultSalePrice]     FLOAT (53)    NOT NULL,
    [Description]          TEXT          NULL,
    [ItemCode]             NVARCHAR (50) NOT NULL,
    [MinimumLevel]         INT           NOT NULL,
    [DateAdded]            DATE          NOT NULL,
    [LastModified]         DATETIME      NOT NULL
Stores:
    [ID]   INT           IDENTITY (1, 1) NOT NULL,
    [Name] NVARCHAR (50) NOT NULL
Storages:
    [ID]      INT IDENTITY (1, 1) NOT NULL,
    [StoreID] INT NOT NULL,
    [Section] INT DEFAULT ((0)) NOT NULL,
    [Rack]    INT DEFAULT ((0)) NOT NULL,
    [Shelf]   INT DEFAULT ((0)) NOT NULL,
    [Bin]     INT DEFAULT ((0)) NOT NULL,
    PRIMARY KEY CLUSTERED ([ID] ASC),
    CONSTRAINT [FK_Storages_Stores] FOREIGN KEY ([StoreID]) REFERENCES [dbo]. 
[Stores] ([ID])
ProductStock:
    [ProductID]         INT      NOT NULL,
    [QuantityOnHand]    INT      DEFAULT ((0)) NOT NULL,
    [QuantityAllocated] INT      DEFAULT ((0)) NOT NULL,
    [QuantityTarget]    INT      DEFAULT ((0)) NOT NULL,
    [LastModified]      DATETIME NOT NULL,
    PRIMARY KEY CLUSTERED ([ProductID] ASC),
    CONSTRAINT [FK_ProductStock_Product] FOREIGN KEY ([ProductID]) REFERENCES [dbo].[Products] ([ID])

这种设计的问题是我无法跟踪彩票。

首先,这是一个非常广泛的问题,所以如果它被标记为,不要太惊讶。

不过,就您目前所拥有的内容而言,我看到了一些小问题。

Products.DescriptionTEXT TEXT数据类型已经弃用了很长时间,因此您应该将其更改为NVARCHAR(MAX)

ProductStock只允许一个项目的三个状态,我不确定QuantityTarget应该是什么意思。 如果它是一个理想的库存数量,那么它不属于Products表,以及MinimumLevel吗? 我假设QuantityOnHand表示可售单位, QuantityAllocated表示客户已订购的商品。

但是,如果您对交易数据感兴趣,则至少需要再添加两个字段; QuantityOnOrder (来自供应商)和诸如QuantityInactive东西,您将在其中说明收货时已损坏并等待退回给供应商的单位等内容。 基本上您拥有但不能出售的任何单位。

也就是说,如果您想知道某事物从何而来,又去了哪里,那么您的数据模型仍然缺少很多实体。 在传入端,您尚未创建VendorsCommonCarriersPurchaseOrdersPurchaseOrderDetailsReceipts 在传出端,您尚未创建CustomersInvoicesInvoiceDetailsReturnsReturnDetails 我们甚至还没有触及付款类型,或者可能还有二十种我没有想到的事情。

在线有大量资源可用于此类数据建模。 ARTS 零售运营数据模型只是其中之一,但它非常全面,应该为您提供一些很好的指导以进行进一步研究。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM