我有以下表格(简化):
create table dbo.Users
(
User_Id int identity not null
constraint PK_Users_Id primary key clustered (Id),
);
create table dbo.UsersSeals
(
UserId int not null,
SealId int not null,
constraint PK_UsersSeals_UserId_SealId primary key clustered (UserId, SealId)
);
create table dbo.Seals
(
Seal_Id int identity not null
constraint PK_Seals_Id primary key clustered (Id),
);
alter table dbo.UsersSeals
add constraint FK_UsersSeals_UserId foreign key (UserId) references Users(Id) on delete cascade on update cascade,
constraint FK_UsersSeals_SealId foreign key (SealId) references Seals(Id) on delete cascade on update cascade;
所以我在用户和封印之间有一个多对多的关系。一个用户可以有多个印章,一个印章可以有多个用户。我需要一个一对多,一个用户可以有多个印章,但一个印章只有一个用户。
是的,我可以删除 UsersSeals 表并将 UserId 添加到 Seals 表中。但是,我以同样的方式将密封件与其他表一起使用。
我希望只有一个 Seals 表与用户表和其他表具有一对多关系。
这可以做到吗?