数据库设计-存储重复日期和时间的正确方法

c8ib6hqw  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(373)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

9个月前关门了。
改进这个问题
我想在mysql中存储一系列简单(从不无限)的重复约会。
示例约会开始日期/时间2020年7月21日0900->结束日期/时间2020年7月25日0930。这相当于5次预约:

21 JUL 0900-0930
22 JUL 0900-0930
23 JUL 0900-0930
24 JUL 0900-0930
25 JUL 0900-0930

我不认为存储它的方式,我概述:与开始/结束日期和时间是正确的。
类似的问题让我觉得我应该这样安排:

ID    event_id    meta_key        metavalue
1        1        event_start     1596445200  - 9AM MON 3 AUG 2020
2        1        event_duratn    1800 (int?) - 30 minutes
3        1        event_interval  86400 (int?)- 24 hours
4        1        event_repeat    3 (int?)    - repeat 3 times
5        2        event_start     1596475200  - 9AM MON 10 AUG 2020
6        2        event_duratn    1800        - 30 minutes
7        2        event_interval  86400       - 24 hours
8        2        event_repeat    0           - do not repeat, only do it once
9        3        next event.......

或者像这样:

ID   event_id event_start  event_duratn  event_interval   event_repeat
 1      5      1596445200      1800         86400              3
 2      3      1596475200      1800         172800             2

存储这种重复的时态数据的正确方法是什么?

2wnc66cl

2wnc66cl1#

您可以创建一个表“appointment\u slots”,其中包含“appointment\u slot\u name”、“start\u time”和“end\u time”列。
ex表:

Appointment_Slot_Name   |  Start_Time   |  End_Time
AP1                     |   09:00       |  09:30
AP2                     |   09:30       |  10:00
AP3                     |   10:00       |  10:30

现在创建数据表“appointments”,其中包含“appointment\u slot\u name”、“date”列,以及根据您的要求设置的任何其他列。如果这不是你想要的答案,请回复。

相关问题