0

我正在构建一个租赁库存应用程序来处理租赁预订的跟踪。我想我可能想多了,但我一直在试图弄清楚库存调度部分的模型或模式。在附图中,我有一部电影有 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 个副本已发布,但我们不知道哪些副本。

任何人都可以就如何编写架构提出任何建议。示例查询如何搜索可用性?

出租库存进出图

4

2 回答 2

1

有两个方面(如果您包括销售/交付,则为三个)方面。

就像是

原件(StockId 等)

CopySchedule(CopyId、StockID、DeliveryDate、NumberOfCopiesRequired、NumberOFCopiesAchieved、状态等)

副本(CopyId、数量等)

因此,当您将 CopyScheduleStatus 设置为 Done 时,您将向 Copies 添加一条记录。

那么您预计的库存水平将从现在开始?无论何时

NumberInStock - NumberScheduledtoDeliver(现在和任何时候之间)+ NumberScheduledToCopy(现在和任何时候之间)

不要试图在一个模型中满足您的所有需求。

于 2013-08-20T14:16:43.343 回答
0

在您的电影表中,您应该有 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读取所有动作,为给定日期添加motion_type“I”的数量值并减少motion_type“O”的数量:movie_copies - 此计数为您提供电影副本可用的。

保持该表清洁以优化性能,如果您想保留历史记录,可以存档较旧的动作

于 2013-08-20T14:05:50.573 回答