小编典典

在两个数据库表中进行循环引用是否是一个好习惯

sql

在我们的数据库中,我们有两个具有主键A_id和B_id的表A,B。

在表A中将B_id作为外键,在表B中将A_id作为外键是否被视为一种好习惯。这将使我们在表中具有多对多关系。

另一种选择是拥有仅由两列A_id和B_id组成的第三桥表。

您认为哪一种是好的做法?


阅读 223

收藏
2021-04-28

共1个答案

小编典典

考虑以下方案

TableA  TableB
A       1
B       2

如果要对此进行交叉链接,则 无需创建第三个表 就要做的最少工作就是复制两个表之一中的每一行。我怀疑您会发现许多DBA愿意为它们的表建模。

TableA
A, 1  
A, 2   
B, 1
B, 2

TableB
1
2

在这里,第三个桥表确实是您唯一的好选择。

2021-04-28