Это очень денормализованные данные, и не рекомендуется. Данные предназначены для роста вниз , а не из . Примерно так было бы желательно:
create table YourWeeks
(
TaskID int identity(1, 1) not null,
User varchar(100) not null,
Week varchar(100) not null,
WeekEnum int not null,
Year int not null,
constraint ck_weeknum check (WeekEnum between 1 and 52)
)
go
А чтобы справиться с високосными годами, вам может понадобиться ссылка на внешний ключ, например:
create table Years
(
Year int not null,
IsLeapYear bit not null
)
go
alter table YourWeeks
add constraint fk_weeks foreign key (Year) references Years (Year)
go