相关记录的最佳sql实践

lis*_*ite 0 sql database-design join

嗨,我需要能够链接相关的应用程序,并试图找出保存,更新和删除的最佳实践表结构.

我有下表:

APPLICATION{ApplicationId, Name, Description}
Run Code Online (Sandbox Code Playgroud)

我需要能够说应用程序1链接到2和3.因此,如果打开应用程序2,您会看到它链接到应用程序1和3.然后应用程序3链接到1和2.

链表的最佳表结构是什么?

编辑

我的主要查询是我需要每个连接的记录,即对于应用程序1,2和3,我需要6条记录吗?1-> 2,1-> 3,2-> 1,2-> 3,3-> 1,3-> 2 ?? 如果不是,返回给定ID的所有链接应用程序的最佳查询是什么?

Ran*_*ndy 5

application_association
-------------------------
application_1_id
application_2_id
relationship_type
begin_dt
end_dt
Run Code Online (Sandbox Code Playgroud)

使用relationship_type指定应用程序的关联方式,并使用日期指定该关系何时有效

编辑:

也许对你使用"链接"这个词有一个集体的误解.

如果你的意思是'分组',那么你可能会考虑如下结构:

group
------------------
group_id
name

application_group
-------------------
application_id
group_id
Run Code Online (Sandbox Code Playgroud)

在这里,您可以将应用程序放入同一个"组"中,然后在它们位于同一组中时将它们全部追回.