145

是否有任何用于可视化预先存在的数据库模式的好工具?如果重要的话,我正在使用 MySQL。

我目前正在使用 MySQL Workbench 来处理 SQL 创建脚本转储,但它很笨重、缓慢并且需要手动拖动所有表(如果不是那么慢的话也可以)。

4

20 回答 20

86

我发现SchemaSpy非常好 - 每次模式更改时都必须运行脚本,但这没什么大不了的。

正如评论中所指出的,它还有一个GUI

另一个不错的工具是SchemaCrawler

于 2009-01-11T15:40:35.883 回答
14

我通常使用 SchemaSpy 来做这件事,但最近我在sqlfairy上发现了一篇非常简单的文章,它只是使用转储文件来创建结构图

于 2010-11-30T11:03:02.003 回答
12

我喜欢这个工具,简称为DbSchema。它是用 Java 编写的,因此可以在 OS X、Windows 或 Linux 上运行。这有点笨拙,尤其是在打印方面,但根据我的经验,它们都是这样的。这是我试过的几个中最好的一个。它可以制作漂亮、清晰的图表。免费试用。费用约为 120 美元,具体取决于您购买的许可证数量。

于 2009-06-23T13:23:57.940 回答
11

在 Mac OS X 上,您可以使用Sequel Pro

于 2012-09-19T14:01:09.297 回答
9

我会推荐Toad 数据建模器

于 2009-01-11T15:36:55.763 回答
5

SQuirreL SQL 客户端怎么样?正如另一个 SO question中提到的,这个程序能够生成一个简单的 ER 图。

于 2009-01-11T16:33:40.487 回答
2

您是否尝试过 MySQL Workbench 中的排列 > 自动排列功能。它可以使您免于手动移动表格。

于 2009-01-11T16:11:50.703 回答
2

DeZign for Databases对您来说可能很有趣。您可以对现有数据库进行逆向工程和修改。具有自动布局功能,并且在将数据模型与数据库同步时,图表布局不会网格化。

于 2009-03-03T08:49:37.087 回答
2

Visio Professional内置了一个数据库逆向工程工具。您应该能够通过 ODBC 驱动程序将它与 MySQL 一起使用。当您对数据库进行逆向工程,然后通过将图表拖出表格和视图面板来创建图表时,它的效果最好。它将拖动任何外键对象并将它们也放在图表上。

于 2009-06-23T14:12:43.393 回答
2

我开始基于 SQL::Translator 模块 (GraphViz) 创建自己的 Perl 脚本。这是第一个结果

于 2009-08-02T07:38:14.973 回答
2

一种不同的方法,但如果您使用的是 Ruby on Rails,请尝试 RailRoad:http: //railroad.rubyforge.org

于 2010-06-02T16:22:02.783 回答
2

我找了很长时间来寻找一个不错的,最好是免费的 linux 工具,发现这个 java 应用程序非常好(终于!!):

http://sqldeveloper.solyp.com/

作为 Java,它是跨平台的(我在 Linux 上运行它没有问题),它会连接到任何你可以获得 JDBC 驱动程序的数据库。即:几乎任何数据库

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

该应用程序也是一个非常好的通用数据库管理/浏览工具。作为一个小例子,我使用它而不是 pgadmin 进行一些基础开发工作,因为 SQL 查询结果的列宽等简单的细节会自动调整大小以适应内容(这让我在 pgadmin 中发疯)。

于 2010-11-14T17:00:12.017 回答
1

我将SQL::TranslatorDBIx::Class一起使用

无论如何,我的工具链中有 DBIx::Class,将它与 SQL::Translator 结合使用可以将模式转换为许多不同的格式。主要是为不同的数据库服务器初始化 SQL 脚本(使其易于在 SQLite 上开发并转移到 Postgresql 进行生产),但它也可以输出 GraphViz 数据,因此生成图表很简单。

于 2009-08-02T07:45:54.367 回答
1

Embarcadero 的 ER/Studio是成本较高的模型之一,但它呈现的分层模式是迄今为止理解数据库模型的最佳模式。它使查询编写成为世界上最简单的任务。

规范化、非规范化、仓储、文档等也令人难以置信。

缺点是它是一个非常昂贵的工具,尤其是当您使用多平台时。

于 2009-08-03T18:20:08.923 回答
1

用于管理 MySQL 数据库的 Web 应用程序Adminer (以前称为 phpMinAdmin)绘制了简单的图表。

该软件本身与 phpMyAdmin 类似,但具有更多功能、轻量级和单个 PHP 文件。

替代文字

于 2010-07-20T21:44:56.063 回答
0

当您说可视化数据库架构时,您是指所有表、存储过程等的文本文档,还是指架构和依赖项的可视化表示?

我知道您提到了 MySQL(现在很可能支持它,但我不确定),但 RedGate 有许多工具可以让这变得非常简单。它的 SQL Doc 程序可以获取您的整个数据库并为其创建完整的数据库文档。SQL Dependency Tracker 可以为您提供所有表的可视化表示并显示它们的链接,或者您可以仅加载某些表或存储过程以显示正在使用它们的内容或它们自己使用的内容。

于 2009-01-11T15:22:48.103 回答
0

几年前,我曾经使用过 Data Architect。我不知道它是否还在外面。

您可以将现有模式逆向工程为关系表图表。

或者你可以走得更远,逆向工程实体关系模型并附上图表。在与既不是程序员也不是数据库专家的人讨论数据时,ER 图对我非常有用。

有时需要对 ER 模型和 ER 图进行一些手动修复,然后才能成为与利益相关者的有用沟通工具。

于 2009-01-14T13:57:04.450 回答
0

SchemaBall以自己有趣的方式进行可视化。

于 2009-08-02T07:41:48.710 回答
0

我试过 DBSchema。不错的功能,但对于具有大约 75 个表的数据库来说速度非常慢。无法使用。

于 2012-02-27T21:48:27.033 回答
0

试试 PHPMyAdmin,它有一些非常好的可视化和编辑功能。我很确定您甚至可以从中导出到 exel。

于 2012-07-31T14:29:58.127 回答