可用性工具的数据库实体模型,其中有多个用户在多个星期内选择多次可用性



我正在尝试为用户可用性应用程序创建数据库实体模型结构。我有许多用户将在一周中每天的AM/PM或前夕(晚上)提前两周提供可用性,我不确定如何将其表示为数据库表。

我的问题是:我应该如何创建实体模型?我正在努力看我如何创建这个问题,而不必每年每年的每周都要建造52张桌子。我是否错过了非常重要/简单的东西?

任何帮助都将不胜感激

类似的东西:

create table UserAvailability (
    Id int Identity(1, 1) not null, -- primary key
    UserId int not null, -- FK to User table
    AvailabilityDay Date not null, -- Day of availability
    StartTime DateTime not null,
    EndTime DateTime not null
)

除非您每天有多个可用性周期,否

欢呼 -

编辑

其他数据之后:

create table UserAvailability (
    Id int Identity(1, 1) not null, -- primary key
    UserId int not null, -- FK to User table
    AvailabilityDay Date not null, -- Day of availability
    Morning bit not null default(0),
    Afternoon bit not null default(0),
    Evening bit not null default(0)
)

请注意,这实际上是第二个正常形式,而不是三分之一。报告要求(以及数据库的其余部分)决定是否真的应该在第三位。

最新更新