SQL查询多个间接关系

时间:2019-02-11 13:29:18

标签: sql data-modeling alasql

我有一个问题,我是否可以仅使用SQL从SQL数据库中提取间接关系信息。

我正在使用的建模工具基于一个SQL数据库,该数据库实际上只有两个表:Elements和Relations。表定义如下

Elements:
id, type, name

Relations:
id, type, name, source, target

Elements只是具有系统生成的唯一ID的实体的列表,Relations(也具有唯一的ID)使用Elements的唯一ID在“源”和“目标”列中定义它们之间的关系。

我要找出的是:对于模型中的任何两个元素,例如在下图中的A和D或A和E-它们是否被链接,如果可以,如何链接-包括通过其他元素的多个间接关系?

Example Model

我知道我可以通过编写一些程序代码来解决此问题,这些程序代码以递归方式遍历Rel​​ations表,详尽检查A和D(或E)之间的每个关系。但这并不是直接编写代码。

所以我想知道是否有人可以为我指出解决此问题的最佳方法? 具体来说,是否有针对此问题的仅SQL解决方案,还是我必须编写一些过程代码?

有问题的SQL DB是alaSQL支撑Archi建模工具。但是我也很感兴趣是否有其他解决方案,例如将数据泵送到新的DBMS中不是问题。

谢谢。

0 个答案:

没有答案