我有一个问题,我是否可以仅使用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-它们是否被链接,如果可以,如何链接-包括通过其他元素的多个间接关系?
我知道我可以通过编写一些程序代码来解决此问题,这些程序代码以递归方式遍历Relations表,详尽检查A和D(或E)之间的每个关系。但这并不是直接编写代码。
所以我想知道是否有人可以为我指出解决此问题的最佳方法? 具体来说,是否有针对此问题的仅SQL解决方案,还是我必须编写一些过程代码?
有问题的SQL DB是alaSQL支撑Archi建模工具。但是我也很感兴趣是否有其他解决方案,例如将数据泵送到新的DBMS中不是问题。
谢谢。