gpt4 book ai didi

sql - 如何在大型数据库中找到从一个表到另一个表的连接路径

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:57 26 4
gpt4 key购买 nike

有没有一种简单的方法(或工具)可以在大型数据库中找到从一个表到另一个表的连接路径?

我目前正在从事一个项目,该项目的数据库中有超过 150 个表。以下是我正在尝试做的一些用例。

用例:

输入

  • 选择表A
  • 选择表 B

输出

  • 打印出表之间的所有可用路径。
  • 打印出最有效的路线。

最佳答案

由于我假设您在数据库中有一些非常复杂的路径,您将无法仅通过一个查询或什至几个查询来完成。我已经完成了(通过我继承的一个项目),并学到了一些有趣的东西。但是我不得不写一个程序来做到这一点。

我所做的是使用 Diego 在他的回答中引用的模态视图,并应用一些方法来解决图论问题(因为这基本上就是你所拥有的,在这里,表是节点,外键链接在图。)

基本上,如果我没记错的话(这是几年前的事),您从一个表开始,然后通过将每个引用的另一个表的名称放入队列来处理它的所有外键。检查自引用和循环(您需要一个散列集或您已处理的表的列表。)然后从队列中弹出下一个表并重复。最终您要么遇到另一个表,要么已经处理了您可以从原始表“访问”的每个表。

关于sql - 如何在大型数据库中找到从一个表到另一个表的连接路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com