我在维护一个度假公园的预订系统。我想知道保留一张可用的住宿桌子是不是很常见,可能是这样的:
Acc AvailableFrom AvailableTo
1 7/1/2010 7/31/2010
2 7/8/2010 7/15/2010
3 7/15/2010 7/20/2010因为我觉得这样更容易找到空余的住处。每次预订或更改时,都会更新可用住宿表。
或者这是不是既麻烦又低效?
发布于 2010-07-25 16:03:05
我认为这并不常见;可用性通常是从在特定时间没有预订的事实推断出来的。这样,您就可以始终确保可用性信息与实际预订情况保持一致。
为了方便您自己,您可以创建一个呈现此信息的视图"Availability“。
现在,您将要复制信息,这正是您不希望在数据库中出现的信息,除非您是出于非常具体的、经过深思熟虑的原因才这样做的。
发布于 2010-07-25 16:05:33
如果可能,尽量避免使用这些表。您有一个包含您的房间的表和一个包含预订的相关表。试着用这些桌子来确定空余的房间。
“可用空间”将是数据的重复,而这些数据总是很难维护。
发布于 2010-07-26 05:38:36
我目前正在重新设计一个预订系统,它不会这样做,因为你实际上不需要知道所有可用的时间。
用户有两种方式寻找可用时间:
正如其他人指出的那样,如果您同时保留预订和可用时段,则两者之间的同步是一个弱点。对我来说,这是一个过早优化的案例。首先在没有可用性表的情况下构建它,但如果需要,请保留该选项以在以后添加它。最有可能是YAGNI。
https://stackoverflow.com/questions/3328478
复制相似问题