可视化数据库架构的好工具?

151

有没有好的工具可以可视化一个已经存在的数据库架构呢?如果有所区别,我正在使用MySQL。

目前我正在使用MySQL Workbench来处理一个SQL创建脚本转储,但它很笨重、速度慢,而且手动拖动所有表格是个麻烦的过程(如果速度不那么慢可能还行)。


除非您认为此链接有帮助,否则阅读这个东西是没有替代品的:http://apidocs.sugarcrm.com/schema/6.5.14/ce/tables/campaign_log.html - gcb
3
我已经在softwarerecs.stackexchange.com上再次提出了这个问题,并非常欢迎任何替代我的当前解决方案的建议。 - Jeroen
1
使用dbForge Studio for MySQL可视化MySQL模式。数据库设计师包含在免费的Express版本中。 - Devart
MySQL Workbench在我看来相当不错。我按照这个教程成功地创建了一个不错的ER图表。"在MySQL Workbench中创建数据库的ER图表": https://medium.com/@tushar0618/how-to-create-er-diagram-of-a-database-in-mysql-workbench-209fbf63fd03 - uudaddy
20个回答

90

我发现SchemaSpy非常好用-每次架构更改时都需要运行脚本,但这并不是什么大问题。

评论区也指出了另一个GUI软件。

另外一个不错的工具是SchemaCrawler


3
谢谢,我觉得命令行界面有点麻烦,但是一旦让它工作起来后,我注意到在主页上有一个指向图形用户界面的链接,http://www.joachim-uhl.de/projekte/schemaspygui/。需要注意的是,该程序会在生成的HTML中插入Google广告。 - James McMahon
1
这很好。值得注意的是,为了使其正常工作,必须进行大量的琐事处理。 - Ken Prince
这太棒了!很容易就让它工作起来了。只需按照说明操作即可。此外,需要注意的是,它不仅适用于MySQL,还适用于DB2、Derby、Firebird、HSQLDB、Informix、MaxDB、MS SQL、Oracle、PostgreSQL、SQLite、Sbase和Teradata。 - iled
省下你的工作量,选择DbVisualizer(http://www.dbvis.com/)。它可以与多种数据库一起使用,包括SQLite,并且他们的最终用户许可协议允许在商业项目中使用免费版本。 - Aralox

17

我通常使用SchemaSpy来完成这项任务,但最近我在sqlfairy上找到了一篇非常简单的文章,它只使用转储文件即可创建结构图。


2
+1 for sqlfairy 不需要 JRE(就像其他大多数答案一样)。 - mikewaters
我刚从sqlfairy得到了我需要的东西。简单快捷。 - fivedogit
SQLFairy 可以为大型数据库使用大量磁盘空间。我对一个大小为 615MB 的数据库运行了它,结果在硬盘剩余的 18GB 空间被填满后崩溃了。 - Pascal
这是一个旧评论了... 这些工具还在开发中吗? - Hons
在Ubuntu中,使用以下命令安装SQLFairy:sudo aptitude install sqlfairy - ozma

13

我喜欢这个工具,叫做简单的DbSchema。它是用Java编写的,因此可以在OS X、Windows或Linux上运行。它有点笨重,尤其是在打印方面,但从我的经验来看,它们都是如此。这个工具是我尝试过的几个工具中最好的一个。它可以制作漂亮、清晰的图表。提供免费试用。根据您购买的许可证数量不同,费用大约为120美元。


优秀的工具。还有免费版,其中包含大多数出色的功能(例如与实时数据库的同步)。 - wheleph
这是一个很棒的工具,甚至可以生成虚拟外键,哇! - Nassim

11

1
Sequel Pro 非常值得推荐。 - Anne
6
我认为这个答案需要额外的解释:http://www.norbauer.com/rails-consulting/notes/erd-diagrams-from-sequel-pro.html。 - fguillen
1
感谢@fguillen!让我们在这里添加解释(在链接可能会断掉之前...)。只需要4个简单的步骤:1.)安装graphviz,它可以在MacPorts(sudo port install graphviz)和Homebrew(brew install graphviz)中获得。2.)导出Dot文件(在SequelPro中,转到文件>导出>Graphviz Dot并导出您的数据库)。3.)打开终端并将dot文件转换为SVG dot -Tsvg your_database.dot > your_database.svg 4.)可选地使用您选择的任何工具(Inkscape、ImageMagick、GraphicsMagick等)将生成的SVG转换为JPG或PNG。 - Arvid

9

5

2

你也可以查看 Schemapper 适用于 Rails 3.0+。 - RubeOnRails
似乎Railroad已经死了,长命Railroady。https://github.com/preston/railroady gem install railroady - Duke

2

你是否尝试过MySQL Workbench中的arrange > auto arrange功能?它可以帮助你避免手动移动表格。


2
是的,它有点帮助,但并不是很好。 - Mat
值得一试,我总是最终自己安排 - 但有时候这可以让我开始。 - Brian Fisher

2
Adminer(以前称为phpMinAdmin)是管理MySQL数据库的Web应用程序,可以绘制简单的图表。
该软件本身类似于phpMyAdmin,但具有更多功能,而且轻巧,只需一个PHP文件即可。

alt text


1
也许对于简单的模式可以奏效,但我在一个包含28个表的模式上尝试了一下,结果只是给我提供了一个纯粹垂直的按字母顺序排列的表格列表,并且还有一堆垂直线试图说明它们之间的关系。完全没有用。 - Dolph
在我的情况下,确切地说是40个表格。你可以点击并拖动它,但一旦选择了,就无法取消选择。 - Ziyan Junaideen

2

我寻找了很长时间一款好用,而且最好是免费的Linux工具,最终找到了这个Java应用程序,非常不错:

http://sqldeveloper.solyp.com/

由于它是基于Java的,因此它是跨平台的(我在Linux上运行它时没有任何问题),并且它将连接到任何您可以获得JDBC驱动程序的数据库。即: 几乎所有数据库

导入数据库并获取数据库模式的可视化(ERM)非常容易。 自动布局功能也不错,但请注意它不是自动完成的,您需要在将对象导入图表后单击“自动布局”按钮。

该应用程序还是一个相当不错的通用数据库管理/浏览工具。 举个小例子,我使用它来代替pgadmin进行一些基本开发工作,因为它具有简单的亲和力,例如SQL查询结果的列宽度自动调整以适应内容(这让我在pgadmin中感到非常困扰)。


我同意这个观点。我一直在寻找任何GUI工具来可视化Linux上的PostgreSQL数据库,但大多数工具都表现不佳。我刚开始使用SQL Developer,但它是目前我发现的最好的免费选项。 - Adam Plumb
1
由于问题已经关闭,我无法提供新的答案,但是你实际上想要的工具是DbVisualizer(http://www.dbvis.com)。它非常棒...比我在问题中推荐的要好得多(如果我过去几年的使用情况是任何指示的话)。 - Russ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接