Amazon redshift 名称对中的实体关系图,Redshft

Amazon redshift 名称对中的实体关系图,Redshft,amazon-redshift,documentation,modeling,erd,draw.io,Amazon Redshift,Documentation,Modeling,Erd,Draw.io,我正在交一个红移数据库,有很多视图。我想将它们的依赖关系可视化 我在下面进行了选择,收到了约500行,前两列显示了两个相关实体的名称 SELECT dependent_view.relname as dependent_entity_name , source_table.relname as entity_name , source_table.relkind as entity_type , count(distinct pg_attribute.attnam

我正在交一个红移数据库,有很多视图。我想将它们的依赖关系可视化

我在下面进行了选择,收到了约500行,前两列显示了两个相关实体的名称

SELECT
    dependent_view.relname as dependent_entity_name
    , source_table.relname as entity_name
    , source_table.relkind as entity_type
    , count(distinct pg_attribute.attname) as joined_column_count
FROM pg_depend
JOIN pg_rewrite ON pg_depend.objid = pg_rewrite.oid
JOIN pg_class as dependent_view ON pg_rewrite.ev_class = dependent_view.oid
JOIN pg_class as source_table ON pg_depend.refobjid = source_table.oid
JOIN pg_attribute ON pg_depend.refobjid = pg_attribute.attrelid
    AND pg_depend.refobjsubid = pg_attribute.attnum
JOIN pg_namespace dependent_ns ON dependent_ns.oid = dependent_view.relnamespace
JOIN pg_namespace source_ns ON source_ns.oid = source_table.relnamespace
WHERE
source_ns.nspname = 'public'
AND pg_attribute.attnum > 0
GROUP BY 1,2,3
ORDER BY 1,2;
我想要

  • 图解
    • 每个唯一实体名称1个节点
    • 每行连接两个相关节点的一条线
  • 在Draw.io或类似文件中处理结果
我不想要

  • 手动绘制
我试过了

  • 使用Smartdraw-绘制不带连接的图元
  • 使用VisualParadigm-崩溃
  • ModelXtractor-对pg_类_信息的权限被拒绝

有没有办法做到这一点?现有的软件工具或脚本?

当然有办法生成它。然而,图形中的大量元素可能使其无法读取和使用

我的第一次尝试是。格式很简单,如果失败,你会很快失败

在更一般的情况下,这是一个经典的图形可视化问题,具有节点和边。因此,您也可以使用更专门的图形可视化算法,例如使用,它可以自组织节点,并快速识别位于许多相关组中心的“中心”。其优点是,这些算法的设计目的是呈现比现有算法复杂得多的图形 几百个亲戚


如果您不想深入研究Fruchterman Reingold算法或类似替代算法的复杂性,您可以使用一些库(您现在有了一些搜索词)甚至开源工具,例如。

您的问题到底是什么?@bruno有什么方法可以做到这一点?现有的软件工具或脚本?-在中编辑。好的,你需要一个工具,这是我的问题,但很抱歉我不能帮你,为什么你在实际寻找ERD时用UML标记这个?所以@qwerty_没有意识到第一个标记变成了标题标记。婴儿步。。。