假设停车场有以下时间和相关费用......
Mon-Fri 7am - 5pm parking is $5/2hrs
Mon-Fri 5pm - 7am parking is $1/hr
Sat and Sun - 12am - 12pm parking is free
Run Code Online (Sandbox Code Playgroud)
您将如何对这些数据进行建模,以便我可以提出诸如“停车场 A 现在的成本是多少?”之类的问题。
我目前不确定,但似乎模型应该在一天中的某些时间容纳多个价格。例如...
Mon-Fri 7am - 5pm parking is $5/2hrs or $7/3hrs
Run Code Online (Sandbox Code Playgroud)
例如,如果很多成本发生变化,它也应该很容易修改。
这是我到目前为止的一般想法......
ParkingLot -
ParkingLotId
Name
Address
ParkingLotSchedule -
ParkingLotId
DayOfTheWeek
StartTime
EndTime
Cost
Run Code Online (Sandbox Code Playgroud)
然后我基本上可以编写一个查询,例如......
select cost from parkingLotSchedule where parkingLotId = currentLotId and dayOfTheWeek = today and currentTime between startTime and endTime
Run Code Online (Sandbox Code Playgroud)
这并没有真正考虑到某些时间出现多个价格的可能性(当然我还不是 100% 确定这是必要的)。似乎一个批次可能有很多记录。
有一个更好的方法吗?如果是这样,模型会是什么样子?