首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于允许调度约会的可用性日历,最佳的数据库模式是什么(重新发生和单一)

对于允许调度约会的可用性日历,最佳的数据库模式是什么(重新发生和单一)
EN

Stack Overflow用户
提问于 2011-10-04 05:49:18
回答 1查看 5.3K关注 0票数 9

在我的应用程序中,我有一个提供程序,它有一个时间表,而客户端则根据时间表预订约会。我需要以下特征。

提供者:-能够指定重复出现的可用性。例如,9月5日,周二10-3,等等-能够关闭数据。例如-这个星期一不可用。-能够添加单一的,而不是重复出现的日期/时间插槽。举个例子,这个是9-5。

客户:-能够预定单次约会。-能够预约再次出现的约会。(每周9-4次)。

到目前为止,我想出了三个选择:

  1. 将计划划分为30分钟间隔,并为每个间隔/提供者对创建一个数据库条目。每个间隔可以是免费的,也可以是预定的。当客户预约预约时,我们会将时间间隔标记为预定时间。这种方法的问题在于它浪费了大量的空间,我不确定搜索性能对于重新出现的预订有多好。
  2. 将每个可用期保存为“事件”。如果它正在重新发生,复制该事件。当搜索免费插槽时,请搜索预订表,以确保没有超额预订。在这种情况下,寻找重新出现的插槽似乎有点尴尬。为了找到明年在Mon 9-5上可用的所有提供者,我们必须搜索所有匹配的'events‘,并找到所有具有52个匹配事件的提供者。
  3. 将每个可用期保存为一个“事件”。添加一个标志,如果它是reoccurring.When搜索空闲插槽,搜索预订表,以确保没有超过研磨预订。它使搜索重新出现的约会变得更容易。如果要“关闭”预定重复出现的插槽,我们只需插入一个假预订。
EN

回答 1

Stack Overflow用户

发布于 2012-03-01 18:24:17

1.创建一个事件表:

a)使用基本列事件日期、开始时间、结束时间以及事件的其他详细信息--这些是繁忙的时间,也是您在日历上屏蔽的内容。

( b)重复事件--添加列:

2.在日历上创建重复事件时会遇到这样的挑战:--如果您同时创建所有事件(比如接下来的6个月),每当您编辑其他事件时都必须更新--如果只在上一个事件通过时创建一个事件,则需要复杂的逻辑来显示未来日期的日历。

3.您还需要规则来处理是否允许事件相互重叠、需要使用哪些资源、可以安排多远的事件。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7643773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档