0

我们正在尝试设计一个程序,允许用户根据导师的可用性预订导师。因此,我们希望导师告诉我们他们何时(什么时间、哪天等)他们有空/没有空,当用户预订特定日期和时间时,我们只想向该用户显示该特定日期有空的导师和时间。

例如,导师可以告诉我们他们在晚上 9 点到 5 点有 MW。

我怎么能设计出这样的桌子?

我正在考虑做以下事情

non-availability:
(this allows tutors to tell me they are not available on a specific date ... say 4/15/2012 10PM)
date date 
time_start datetime
time_end datetime

recurring_non-availability
(this allows tutors to tell me that they are not available every Monday from 9-5pm)
dayOfWeek enum
time_start
time_end 

所以基本上,导师可以为一周中的每一天指定他们不可用的时间。他们还可以指定他们不可用的特定日期。如果用户想要一个特定日期的导师,例如 4/20 10AM,我将首先查询 non-availability 表以确保 4/20 10 AM 没有冲突,然后查询 recurring_non_availability 表以确保它们是星期五没有冲突(4/20 是星期五)上午 10 点。我不确定这种设计是否能给我最好的导师可用性的图片。

4

1 回答 1

0

也许设置一个表,一周中的所有日子都可以使用导师,然后像这样存储他们的时间?

Tutor monday tuesday wednesday thursday friday 

bob     9-5    9-5      9-5       10-3    9-12
于 2012-04-13T20:31:19.927 回答