gpt4 book ai didi

mysql - 数据库设计: weekday and hour availability

转载 作者:行者123 更新时间:2023-11-29 08:03:36 26 4
gpt4 key购买 nike

我正在尝试根据小组在工作日特定时间的可用性创建一个调度系统。团体可以在一周中的任何一天的任何时间提供服务。例如,A 组的开放时间为周一上午 2 点至上午 8 点、下午 1 点至晚上 11 点,周二...

这些时间很重要,因为有超过 400 个组,管理员需要根据它们的可用性来安排它们的事件。我集思广益了 3 个不同的选项,并阅读了许多类似的情况,但没有一个真正相关。

理论上,所有这 3 个选项都应该有效,但您建议使用哪一个:

选项#1

Group Table
-ID
-Name
-Availability (store as array) ["M0", "M1", "Su10"] where M represents Monday and 0 represents 12AM

选项#2 小组表 -ID

Group Availability Table
-ID
-GroupID
-Monday (store as array) ["0", "1", "2"] where 0 represents 12AM, 1 - 1AM, etc.
...all 7 days of the week

选项 #3 小组表 -ID

 Group Availability Table
-GroupID
-M0 (boolean)
-M1 (boolean)
...all 168 possible weekday-hour combos

当管理员每天多次查询此数据时,我认为选项#1不可行,并且选项#3是一个巨大的表,尽管它的数据量不是很大,只有 bool 值。感谢您的帮助。

最佳答案

我认为你需要考虑一个时隙表。然后,您将拥有一个连接表来将组与该表关联起来

timeslots
------------
timeslot_id
weekday
hour

groups_to_timeslots
–------------
group_id
timeslot_id

时隙表将包含 7 x 24 个条目以及您可能的时隙。您的 groups_to_timeslots 表提供了组到时隙的多对多映射。

关于mysql - 数据库设计: weekday and hour availability,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23158183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com