如何以图形方式表示SQL查询

时间:2016-08-30 15:46:37

标签: sql database-design erd

我有一个SQL Select查询,表之间有很多连接,我想知道哪种图可以用图形方式表示它,以便可视化表及其类型之间的连接(区分INNER和LEFT)?

我做了这个简单的架构来表示我的查询,但我正在寻找一种已知且更好的图表类型:

enter image description here

3 个答案:

答案 0 :(得分:0)

我相信你要找的是Entity Relationship Diagram的变体,其中不同的行尾表示关系类型。在构建数据库时,我相信这种模型最常见且易于理解。

enter image description here

答案 1 :(得分:0)

您可以在Enitity Relationship Diagram中使用乌鸦脚符号来指定关系(一对多,一对一)以及可选性(enitityA只有一个enitityB或enitityA有0或1个enitityB)。在您的情况下,选项可能代表您需要执行的联接类型。为什么需要在ERD中指定连接类型?

答案 2 :(得分:0)

我很困惑为什么这还不存在,甚至更困惑为什么更多的开发人员没有大声疾呼。不可否认,需要动态创建sql查询的可视表示形式。如果不使用诸如“ AsecRemFortsKilnNumAttr”之类的名称来混淆其业务表示,那么试图理解一条300行的sql程序就已经足够困难了。

如果过程中有数百个具有类似名称但略有不同的列,例如“ AsecRemAgsKilnNumAttr”和“ AsecRemFortsKilnNumV”,则该任务是不可能的。

无论如何,这是我发现的一对:-

https://sqldep.com/sql-parser/

http://queryviz.com/

https://sourceforge.net/projects/revj/

最后一个包含一个Python实用程序,如果您知道如何的话,可以用来改进和扩展它。

除了Informatica Developer 10之外,唯一可以满足您需求的其他工具是Informatica Developer 10,它使您可以从导入的SQL查询创建映射。