这个问题可能很愚蠢,但我只是想确认一下我是否正确理解了基本的理解,所以:
当表中出现两个外键时, 必须是many to many relationship
吗?
或者两个外键在表格中是否还有其他条款/原因?
答案 0 :(得分:6)
否强>
反示例:
create table eg1 (
id int primary key,
id1 int,
id2 int,
foreign key (id1) references othertable.id,
foreign key (id2) references sometable.id,
UNIQUE INDEX `id1_UNIQUE` (`id1` ASC)
);
这不是多对多关系,因为id1
是唯一的。它有两个外键,但表示与另外两个表的1:n和1:1关系。
答案 1 :(得分:1)
我不相信情况永远如此。我可以想到表中有多个FKeys的几种情况。例如:
<强> tblShirts 强>
ShirtId int(PKey)
ColorId int(FKey tblColors)
SizeId int(FKey tblSizes)
StyleId int(FKey tblStyles)
价钱
QtyOnHand int
在此示例 tblColors 中, tblSizes 和 tblStyles 是简单的查找表。无需创建链接表来解决多对多关系。