假设我有一个角色表,例如,
Roles ----- ID Name 0 Salesman 1 Client 2 Manager
我们还假设这些角色不是互斥的:也就是说,一个人可以同时担任推销员,客户和经理。
如果我有一个Person带有Role字段的表,该如何引用Roles表中的多行?
Person
Role
Roles
您将引入一个引用两个原始表的新表:
CREATE TABLE PersonRoles ( PersonID int not null, RoleID int not null, constraint PK_PersonRoles PRIMARY KEY (PersonID,RoleID), constraint FK_PersonRoles_Persons FOREIGN KEY (PersonID) references Person (ID), constraint FK_PersonRoles_Roles FOREIGN KEY (RoleID) references Role (ID) )
假设多重性为m:n,则以上是正确的。我做出了一个假设(您的问题中未列出),即可以有多个人担任推销员。
m:n