簡體   English   中英

如何通過數據庫正確處理租賃庫存

[英]How to properly handle rental inventory via database

我正在構建一個出租庫存應用程序,用於處理出租預訂的跟蹤。 我想我可能會考慮不周,但是我陷入了試圖找出庫存計划部分的模型或模式的困境。 在所附的圖像中,我有一部電影的4個副本。 在第一個副本上,僅計划發布一份副本。 在5日,有3份副本。 在6號和10號,所有副本都已取出。 現在,我想以一種可以查詢日期或日期范圍的方式來設計數據庫,以查看當日可用的庫存量。 面臨的挑戰是,可能沒有單獨的SKU或每個租賃項目的跟蹤。 因此,我無法將Movie_1視為具有movie_1_a,movie_1_b,movie_1_c,movie_1_d。 取而代之的是,我必須將其視為Movie_1擁有4份副本,而在5日,已經淘汰了3份副本,但我們不知道哪一份。

任何人都可以對如何編寫模式提出任何建議。 示例查詢如何搜索可用性?

出租庫存進/出圖

這有兩個方面(如果包括銷售/交付,則有三個方面)。

就像是

原稿(StockId等)

CopySchedule(CopyId,StockID,DeliveryDate,NumberOfCopiesRequired,NumberOFCopiesAchieved,狀態等)

副本(CopyId,數量等)

因此,當您將CopyScheduleStatus設置為Done時,您會在副本中添加一條記錄。

那么您的預計庫存水平將是現在? 無論何時

NumberInStock-NumberScheduledtoDeliver(從現在到任何時候)+ NumberScheduledToCopy(從現在到任何時候)

不要試圖在一個模型中滿足您的所有需求。

在電影表中,您應該有movie_copies字段,然后使用以下模式為[Movie_flow]創建一個表:

[PK]movement_id (could be an identity or an pair year/movement number if you wanna reset  movements counter every year)
movie_id
movement_datetime
movement_type (I-in/O-out)
quantity

如果您想了解特定日期的電影可用性,可以簡單地按movie_id讀取所有動作,在給定的日期之前為movie_type“ I”添加數量值,並為motion_type“ O”減少數量:movie_copies-此計數為您提供電影副本可用。

保持表格清潔以優化性能,如果要保留歷史記錄,可以存檔較舊的動作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM