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小时营业的商店
- 午夜后关门的商店
- 假日营业时间不同的商店
这个问题比听起来更棘手。在实际的应用程序中,我可能会建议使用日历表,其中每个打开的商店有一行,打开和关闭都有完整的日期时间。该日历可以提前两年创建,比如说每年创建一次。这相当棘手。有三个栏目很吸引人:
<date of week> <open time> <close time>
但是,在以下情况下,这会变得棘手:
- 一天24小时营业的商店
- 午夜后关门的商店
- 假日营业时间不同的商店
这个问题比听起来更棘手。在实际的应用程序中,我可能会建议使用日历表,其中每个打开的商店有一行,打开和关闭都有完整的日期时间。该日历可以提前两年创建,比如说每年创建一次。考虑到商店每天可以有多个开店和关门时间(在谷歌地图上很容易查到),每个商店可能需要有多个条目。那么,为什么不使用以下结构:
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。这应该足够了