我正在尝试为用户可用性应用程序创建数据库实体模型结构。我有许多用户将在一周中每天的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)
)
请注意,这实际上是第二个正常形式,而不是三分之一。报告要求(以及数据库的其余部分)决定是否真的应该在第三位。