为现有数据库生成 ERD [关闭]
Posted
技术标签:
【中文标题】为现有数据库生成 ERD [关闭]【英文标题】:Generate the ERD for an existing database [closed] 【发布时间】:2011-03-29 07:29:52 【问题描述】:我有一个 PostgreSQL 数据库。我想从该数据库生成 ERD。是否有任何内置工具可以做到这一点,或者是否有一些第三方工具?
【问题讨论】:
我想可视化现有模式的表之间的关系 @ALL 是否有任何 pgadmin III 的附加组件可以像 Video in this Link Says 那样完成 ER-Diagrams。 看看这个...softwarerecs.stackexchange.com/questions/34552/… 【参考方案1】:您可以使用 dbeaver 来执行此操作。它允许您将 ER 图导出为 png/svg 等。
DBeaver - https://dbeaver.io/
双击模式(例如,Schemas->public->Tables)并打开“ER Diagram”选项卡(在“Properties”选项卡旁边)
【讨论】:
第二个!虽然我通常更喜欢 psql 终端,但有时我也使用 DBeaver CE(社区版;dbeaver.jkiss.org/download;一个优秀的、免费的开源平台)来查看数据和可视化 ERD。 刚刚安装了DBeaver,可以得到我的数据库的E-R图。一个有效的工具。如果您有超过 100 个表,那么生成的 E-R 图将需要一些手动排列... 这里是DBeaver ER Diagrams wiki page,其中包含有关布局和导出为图像文件格式的有用提示: 它是开源的,同时接受的答案是针对提供有限试用的产品(DBVisualizer),并且在您需要购买许可证之后 这个工具很好用。与接受的答案不同。谢谢你。【参考方案2】:pgAdmin 4 version 30 and newer 可以从现有数据库生成 ERD。只需右键单击数据库并选择Generate ERD (Beta)。
【讨论】:
我刚试过(在一个有 5 个表的小型数据库上),它似乎工作得很好! 好的开始,但这并不能产生一切。例如,设计视图也会很有用。 我们可以为某些表生成 ERD 吗?【参考方案3】:我们为此使用了DBVisualizer。
说明: 引用图是一个很棒的功能,因为它会自动以图形样式呈现所有主/外键映射(也称为引用完整性约束)。表格节点和关系是自动布局的,有多种布局模式可用。生成的图表是独一无二的,因为它以最佳且可读的布局显示所有信息。 来自其网站
【讨论】:
404 哎呀!该页面不存在。 要在 postgres 中查找图表,我必须单击模式,然后单击表,然后在右侧窗口中单击“参考”选项卡。此功能在免费版本中也可用。 也许这是一个临时问题,但在 Win 10 上的 v 11.0.4 中,该工具对我来说无法使用。GUI 有绘图问题,无法使用。 也考虑下面的完美答案 这个工具不支持 Postgres 的表继承。父表和子表在图中显示,没有任何视觉关系。【参考方案4】:pgModeler 可以从 PostgreSQL 数据库生成漂亮的 ER 图。
https://pgmodeler.io/ 许可证:GPLv3好像没有手册,但是没有手册也很简单。它是 QT 应用程序。 AFAIK、Fedora 和 Ubuntu 都有软件包。 (pgmodeler)
在最新版本的 pgModeler (0.9.1) 中,试用版允许您创建 ERD(设计按钮未被禁用)。这样做:
-
点击设计按钮首先创建一个空的“设计模型”
然后单击“导入”并连接到您想要的服务器和数据库(除非您已经在“管理”中进行了设置,在这种情况下,您的所有数据库都可以在第 3 步中选择)
导入所有对象(它会警告您正在导入到当前模型,这很好,因为它是空的)。
现在切换回“设计”选项卡以查看您的 ERD。
【讨论】:
没那么容易。 “设计”按钮被禁用,并且没有提示如何启用它。 pgModeler 似乎是唯一一个,它支持表继承。【参考方案5】:从https://www.dbvis.com/download/10.0下载 DbVisualizer
安装后创建数据库连接:
更改数据库的突出显示细节并通过单击 ping 服务器进行测试。最后点击连接
享受。
【讨论】:
谢谢,为我工作。连接后 - 双击“表”并转到“参考”选项卡。这是link for details。【参考方案6】:我编写了这个实用程序,它会自动从 postgres 数据库生成 DSL 代码,然后您可以将其粘贴到 dbdiagram.io/d 网站以获取 ER 图
https://github.com/nsingla/dbdiagrams
【讨论】:
【参考方案7】:我们的团队在许多项目中都使用 Visual Paradigm 从数据库生成 ER 图。虽然我们主要研究 MS SQL 和 Oracle,但据我所知,它们也支持其他一些 DBMS,如 PostgreSQL、mysql、Sybase、DB2 和 SQLite。
步骤:
-
从 Visual 的工具栏中选择 Tools > DB > Reverse Database...
范式
保持设置不变,然后单击 Next 选择 PostgreSQL as
驱动程序并在那里提供驱动程序文件。您可以简单地点击
那里的下载链接以获取驱动程序。
输入主机名、数据库名、用户名和密码,然后点击下一步
然后他们将研究您的数据库并列出其中的表格。
选择表格以形成 ERD 并继续,就是这样。将生成一个 ERD,其中包含您选择的表格。
顺便说一句,它们还支持从 ERD 生成和更新数据库架构。
希望这会有所帮助。 :-)
More information about generating ERD from PostgreSQL database
【讨论】:
免费社区版确实有这个功能【参考方案8】:ERBuilder可以从PostgreSQL数据库生成ER图(逆向工程功能)。
生成ER图的步骤如下:
• 点击菜单 -> 文件 -> 逆向工程
• 点击新连接
• 填写 PostgresSQL 连接信息
• 点击确定
• 点击下一步
• 选择您想要逆向工程的对象(表、触发器、序列……)。
• 单击下一步。
如果您使用的是试用版,将显示您的 ERD 自动。 如果您使用的是免费版,您需要拖动 并从应用程序左侧的树视图中删除表格【讨论】:
没有开源。只需 15 天的试用期。【参考方案9】:另一个选项是使用Oracle SQL Developer。如下两步:
(1)首先需要connect SQL Developer to your PostgreSQL database。
(2) 那你可以generate an entity-relationship (ER) diagram using SQL Developer
【讨论】:
【参考方案10】:我将 DrawERD 用于 ERD 和 DB 文档。 https://drawerd.com
【讨论】:
【参考方案11】:也许可以看看 AquaFold 的 Aqua Data Studio。它是一个带有实体关系图表的数据库 IDE。它还包括数据分析。它不是免费的,但考虑到它的功能,它的价格非常合理。
【讨论】:
【参考方案12】:postgresql_autodoc 是执行此操作的 cli。不做基数,但上面提到的 GUI 工具都不做。
【讨论】:
【参考方案13】:您可以从 PgAdmin 生成 ER 图。
-
打开 PgAdmin
右键单击任何表并选择语句,它将显示两个窗口一个是查询另一个是图形窗口,因此您可以添加要生成图表的表。
要保存,请转到另存为并选择图形查询(图像)
【讨论】:
我没有看到这样的选项,pgAdmin 4,2.1 版。表的上下文菜单中没有“选择语句”或“语句”【参考方案14】:打开 MySQL 工作台。在主屏幕中单击“从现有数据库创建 EER 模型”。我们这样做是因为我们已经制作了数据库,现在我们想制作该数据库的 ER 图。
然后您将看到“逆向工程师数据库”对话框。在这里,如果要求您输入密码,请提供管理员密码。不要在这里与 windows 密码混淆。在这里,您需要提供 MySQL 管理员密码。然后点击下一步。
在下一个对话框中,您将看到与 DBMS 的连接已启动,并且模式已从数据库中恢复。下一步。
现在选择您之前创建的架构。它是您要为其创建 ER 图的表。
单击“下一步”并转到“选择对象”菜单。在这里,您可以单击“显示过滤器”以使用图表中选定的表对象。您可以在此处添加和删除表。然后单击执行。
6.当您进入 Next 和 Finish 时,所需的 ER 图出现在屏幕上。
【讨论】:
不适用于 PostgreSQL 或其他数据库,它只适用于 MySQL以上是关于为现有数据库生成 ERD [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Advantage Database ERD,来自现有数据库。
Linux 下 PostgresQL 的高质量 ERD 生成器? [关闭]