我正在尝试做一个数据库设计,我有一个导师,可以通过两种方式来设置他的可用性:
如何设计表以保存这些可用性信息?
发布于 2021-06-30 08:53:48
例如,如果您的数据库支持Time类型,则为伪代码。
GeneralAvailability (
TutorId int not null,
DayOfWeek int not null, /* 1 .. 7*/
TimeFrom Time not null,
TimeTo Time not null
)
SpecialAvailability (
TutorId int not null,
AvailDate Date not null,
TimeFrom Time not null,
TimeTo Time not null
) 或广义的
Availability (
TutorId int not null,
DayOfWeek int, /* 1 .. 7, null */
AvailDate Date,
TimeFrom Time not null,
TimeTo Time not null,
CHECK ((DayOfWeek IS NULL OR AvailDate IS NULL) AND (DayOfWeek IS NOT NULL OR AvailDate IS NOT NULL))
) https://stackoverflow.com/questions/68190715
复制相似问题