如何存储每周生成的日时间段
How to store day time slots that generates weekly
假设我有一个带有日历的应用程序,每天分为多个时间段,例如:
星期一:8-10 点 10-12 点 12-14 点
星期二:8-10 小时 10-12 小时 12-14 小时
并且每个时间段都有一个事件,日历每周更新一次,这意味着本周的时间段和事件将不再可用,并将被具有新时间段事件的新周日历所取代。
存储此类数据的最佳方式是什么?
假设您不关心保存前几周的时间段。
根据您的用例,您有 2 个选项。存储在数据库或 json 文件中。
选项 1:
由于每天都有多个时间段,这显然是一对多的关系。第 X 天有 N 个时段。
所以首先,像这样创造日子 table:
dayID
name
abc123
Monday
abcd1234
Tuesday
然后,为时间段创建另一个 table,您将时间段和 dayID 作为外键,如下所示:
timeSlotID
fromTime
toTime
dayID
efg123
8
10
abc123
efg1234
10
12
abc123
选项 2:
现在,如果您只关心存储下周时间段,我认为没有必要将其存储在数据库中。您可以简单地将它们存储在 json 文件中,因为您的数据非常小,而且无论您使用何种语言和框架,json 文件都可以快速且易于处理。
您可以这样存储您的数据:
{
"Monday": [
{
"fromTime": 8,
"toTime": 10
},
{
"fromTime": 10,
"toTime": 12
}
],
"Tuesday": [
{
"fromTime": 9,
"toTime": 11
},
{
"fromTime": 12,
"toTime": 13
}
]
}
而且您每周都可以轻松地重新创建 json 数据。
假设我有一个带有日历的应用程序,每天分为多个时间段,例如:
星期一:8-10 点 10-12 点 12-14 点
星期二:8-10 小时 10-12 小时 12-14 小时
并且每个时间段都有一个事件,日历每周更新一次,这意味着本周的时间段和事件将不再可用,并将被具有新时间段事件的新周日历所取代。 存储此类数据的最佳方式是什么?
假设您不关心保存前几周的时间段。
根据您的用例,您有 2 个选项。存储在数据库或 json 文件中。
选项 1:
由于每天都有多个时间段,这显然是一对多的关系。第 X 天有 N 个时段。
所以首先,像这样创造日子 table:
dayID | name |
---|---|
abc123 | Monday |
abcd1234 | Tuesday |
然后,为时间段创建另一个 table,您将时间段和 dayID 作为外键,如下所示:
timeSlotID | fromTime | toTime | dayID |
---|---|---|---|
efg123 | 8 | 10 | abc123 |
efg1234 | 10 | 12 | abc123 |
选项 2:
现在,如果您只关心存储下周时间段,我认为没有必要将其存储在数据库中。您可以简单地将它们存储在 json 文件中,因为您的数据非常小,而且无论您使用何种语言和框架,json 文件都可以快速且易于处理。
您可以这样存储您的数据:
{
"Monday": [
{
"fromTime": 8,
"toTime": 10
},
{
"fromTime": 10,
"toTime": 12
}
],
"Tuesday": [
{
"fromTime": 9,
"toTime": 11
},
{
"fromTime": 12,
"toTime": 13
}
]
}
而且您每周都可以轻松地重新创建 json 数据。