我正在开发一个数据库结构,它由在几个位置之间移动的资产组成。我想为这些资产做一个预订系统。如果资产不在不同位置之间移动,则很容易获得可用性:只需检查某一天存在多少预订,然后从通常可用的资产数量中减去它们。
available = Normal.Available - already reserved
但复杂的因素是人们可以在不同地点之间旅行。客户可以在位置 A 提取资产并在位置 B 放下资产。例如,在 9 月 13 日上午 10:00 取货,并在 9 月 13 日 13:00 在 LocB 下车。
如果我现在想在 13:00 在位置 B 拥有可用资产,这是正常的可用数字 +1,因为资产从 A->B 移动。显然,位置 A 的可用性比正常情况少一倍。
如何在数据库结构中绘制这些运动?
实体很明确:资产、位置、预订和客户。困难在于在不同时间在不同地点获得可用性。