在MySQL中存储日历数据

TMP*_*lot 8 mysql architecture database-design

这是一个关于存储日历数据的快速架构问题.

基本上,我有一个租赁服务数据库.在前端,有一个日历显示每个未来日期的"可用"或"不可用".在后端,用户可以在jQuery日历上将任何日期/日期范围设置为可用或不可用(1或0).

我的问题是你如何将这些数据存储在mysql中并在前端检索它?

可能有所有日期可用并存储不可用的日期?然后,如果它们再次设置为可用,请删除该日期的记录?

干杯,RJ

Bra*_*vic 6

可能所有日期都可用,并存储不可用的日期吗?然后,如果将它们设置为再次可用,则删除该日期的记录?

是的,我会同意的,除了在租期到期时我不会删除记录之外-您会很容易地知道租期已过期,因为它是过去的,因此您也会自动保留租期的历史记录。

毕竟,可用日期1的数量是无限的,因此,如果相反(和存储的免费日期),则必须人为地限制日期的支持范围。

1将来。而且,从某种意义上讲,过去也是如此。

另外,我猜想您还需要一些其他信息,以防万一某项服务被出租(例如,出租人的姓名),并且如果出租是由不存在的行表示的,那么就没有地方可以存储了!


由于租金是一整天的时间,因此我认为您正在寻找的数据库结构类似于:

在此处输入图片说明

请注意,RENTING_DAY PK如何自然地防止重叠。

或者,您可以放弃RENTING_DAY并直接在RENTING中包含START_DATE和END_DATE,但这将需要显式的范围重叠检查,这可能无法理想地扩展