如何浏览SQL数据库中的数据,包括外表?

Sco*_*pey 6 sql sql-server ssms

我想知道是否存在任何工具来探索关系数据库中的数据,以及钻取主 - 细节关系.

我已经知道如何在单个表中查看数据,并且我知道如何构造JOIN表的SQL查询.但是,为了获得更深层次的N级,我必须编写一个SQL语句,找到我感兴趣的项目的ID,然后重复N次.结果可视化非常繁琐且难以实现.

但是,我想知道是否有一个工具可以让我查看表中的数据,如果有外键,让我展开数据以显示外来数据.希望能让我深入了解各个层面的细节.

有这样的工具吗?

我正在使用MS SQL,并使用SQL Server Management Studio来执行SQL.

Twe*_*fth 3

有关键和表信息的信息可以通过 sysobjects 和其他 sys 表访问,我已经看到一些自定义脚本能够读取这些表以提供您在此处查找的一些信息,尽管单击向下钻取功能很好超出这个范围。我认为 TOAD(Oracle 应用程序开发人员工具)可能在这条路线上有一些选择(尽管可能不在免费版本中)。

听起来您似乎正在寻找一个仪表板设置,该仪表板设置可以可视化并允许您单击并深入查看结果。我不确定是否有免费软件可以实现此功能,尽管业务对象、微观策略和其他几个工具可以为您提供(我认为)您正在寻找的东西。可能很昂贵,并且可能需要相当长的时间来实施等待您的设置......这就是我得到报酬的事情;)

只是为了回应 Beth,您可以在 MSSQL 中创建图表...假设已经设置了正确的键和关系,它会让您了解表如何关联。

编辑添加:对这部分问题的另一条评论:我已经知道如何查看单个表中的数据,并且我知道如何构建 JOIN 表的 SQL 查询。但是,要深入 N 层,我必须编写 SQL 语句,找到我感兴趣的项目的 ID,然后重复 N 次。结果非常乏味且难以可视化。

我将嵌套我的查询(这只是一种故障排除技术,你不敢尝试在生产中实现这样的东西)...

 select * from finaltable where ID in 
    (select id2 for table2 where anotheridcolumn in 
    (select id3 from yetanothertable where yet anotheridcolumn in (input_id_you're_looking_for)
Run Code Online (Sandbox Code Playgroud)

如果您期望最后返回超过 5 或 10 行,我真的不会使用这种技术......但它会节省一些繁琐的运行一个语句并将结果复制到您正在做的下一项工作中