首页 文章

如何通过数据库正确处理租赁库存

提问于
浏览
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个副本已经出来,但我们不知道哪些副本 .

任何人都可以提供有关如何编写架构的任何建议 . 示例查询如何搜索可用性?

diagram of rental inventory in/out

2 回答

  • 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读取移动,为moving_type“I”添加数量值,并在给定日期之前减少moving_type“O”的数量:movie_copies - 此计数为您提供电影副本可用 .

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

  • 1

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

    就像是

    原件(StockId等)

    CopySchedule(CopyId,StockID,DeliveryDate,NumberOfCopiesRequired,NumberOFCopiesAchieved,Status等)

    副本(CopyId,数量等)

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

    那你的预计库存水平是从现在开始?到时为止

    NumberInStock - NumberScheduledtoDeliver(从现在到任何时候)NumberScheduledToCopy(从现在到任何时候)

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

相关问题