通常我需要在两个表之间创建n:m关系,我使用以下方案:
e.g。
帐户和联系人之间存在n:m关系,因此我添加了一个Account2Contacts参考表,其中包含要关联的帐户和联系人的ID。此表的多行允许将帐户连接到多个“联系人”和“联系人”以与多个帐户关联。
那很好,但是同一个表的多行之间的n:m关系怎么样?我预见到了问题。 Account2Account表的每一行(id,from_id,to_id)仅描述一个方向上的帐户之间的连接。
因此,如果在添加连接Account1-> Account2时Account1具有id 10和Account2 id 20,则插入将
例如,addLink(1,10,20)。
此连接意味着Account2-> Account1,但在'from_id'字段中查找Account2 id不会显示连接。
我已经玩弄了自动生成倒数插入的想法(2,20,10),但我担心三通关系或更多关系会发生什么。我将不得不添加连接的所有排列,以便组中的任何帐户都可以在针对'from_id'字段的一次查找中找到它的所有关系。
这种关系是否存在我不知道的设计范式?