Java 如何在数据库中存储工作日数据以及开始时间和结束时间?

Java 如何在数据库中存储工作日数据以及开始时间和结束时间?,java,mysql,sql,spring,Java,Mysql,Sql,Spring,我正试图在数据库中建立一些东西,以节省商店/商店每周的开门和关门时间。 我怎样才能做到这一点 我想做一个新的表格,7天7列,但是《泰晤士报》呢?它将需要额外的14列。这是相当棘手的。有三个栏目很吸引人: <date of week> <open time> <close time> 但是,在以下情况下,这会变得棘手: 一天24小时营业的商店 午夜后关门的商店 假日营业时间不同的商店 商店在一天当中关门(这在一些国家发生)。< /LI> 这个问题比

我正试图在数据库中建立一些东西,以节省商店/商店每周的开门和关门时间。 我怎样才能做到这一点


我想做一个新的表格,7天7列,但是《泰晤士报》呢?它将需要额外的14列。

这是相当棘手的。有三个栏目很吸引人:

<date of week>  <open time>  <close time>

但是,在以下情况下,这会变得棘手:

  • 一天24小时营业的商店
  • 午夜后关门的商店
  • 假日营业时间不同的商店
  • 商店在一天当中关门(这在一些国家发生)。< /LI>

这个问题比听起来更棘手。在实际的应用程序中,我可能会建议使用日历表,其中每个打开的商店有一行,打开和关闭都有完整的日期时间。该日历可以提前两年创建,比如说每年创建一次。

这相当棘手。有三个栏目很吸引人:

<date of week>  <open time>  <close time>

但是,在以下情况下,这会变得棘手:

  • 一天24小时营业的商店
  • 午夜后关门的商店
  • 假日营业时间不同的商店
  • 商店在一天当中关门(这在一些国家发生)。< /LI>

这个问题比听起来更棘手。在实际的应用程序中,我可能会建议使用日历表,其中每个打开的商店有一行,打开和关闭都有完整的日期时间。该日历可以提前两年创建,比如说每年创建一次。

考虑到商店每天可以有多个开店和关门时间(在谷歌地图上很容易查到),每个商店可能需要有多个条目。那么,为什么不使用以下结构:

store_id   |   day_of_week    |    start_time    |    end_time
其中[0,6]中的
一周中的第几天

这种解决方案有一点不是最优的,那就是如果一家商店在午夜后营业,你将在连续两天的午夜有一个关门和开门的时间,即使商店实际上没有关门和开门


请注意,
store\u id
不是这里的主键,而是所有列(即复合键)。

鉴于商店每天可以有多个打开和关闭时间(很容易在谷歌地图上查看),每个商店可能需要有多个条目。那么,为什么不使用以下结构:

store_id   |   day_of_week    |    start_time    |    end_time
其中[0,6]中的
一周中的第几天

这种解决方案有一点不是最优的,那就是如果一家商店在午夜后营业,你将在连续两天的午夜有一个关门和开门的时间,即使商店实际上没有关门和开门


请注意,
store\u id
不是这里的主键,而是所有列(即复合键)。

数据库中可以有3列day、startTime和endTime。这应该足够了,您可以在数据库中有3列day、startTime和endTime。这应该足够了