有没有什么好的工具来可视化一个已经存在的数据库模式。
我目前正在使用 MySQL Workbench 来处理 SQL 创建脚本转储,但是它很笨重,速度很慢,而且需要手动拖动所有的表(如果不是这么慢的话也没关系)。
当您说可视化数据库模式时,您是指所有表、 sprocs 等的文本文档,还是指模式和依赖关系的可视化表示?
我知道您提到了 MySQL (现在很可能支持它,但是我不确定) ,但是 RedGate 有很多工具可以让这个过程变得非常简单。它的 SQL 文档程序可以采取您的整个数据库,并创建完整的数据库文档。SQL 依赖性跟踪器可以为您提供所有表的可视化表示,并显示它们的链接,或者您可以加载某些表或 sprocs,以显示正在使用它们的内容或它们自己正在使用的内容。
我推荐 蟾蜍数据建模器
我发现 SchemaSpy相当不错——每次模式改变时都必须运行脚本,但这没什么大不了的。
正如在评论中指出的那样,它也有一个 GUI。
另一个不错的工具是 SchemaCrawler。
您是否尝试过在 MySQL 工作台中使用约定 > 自动约定函数。它可以帮助您避免手动移动桌子。
SQL 客户端怎么样? 正如在 另一个 SO 问题中提到的,这个程序有能力生成一个简单的 ER 图。
几年前,我曾经使用过数据架构师。我不知道它是否仍然存在。
您可以将现有模式逆向工程为关系表关系图。
或者你可以更进一步,反向设计一个 ER模型,并附上图表。当与既不是程序员也不是数据库专家的人讨论数据时,ER 图对我来说非常有用。
有时,在 ER 模型和 ER 图成为与涉众进行交流的有用工具之前,需要对其进行一些手工修改。
DeZign for Database 可能会对您感兴趣。您可以对现有数据库进行反向工程和修改。有一个自动布局功能和图表布局时,没有同步你的数据模型与数据库网格化。
我喜欢这个工具,简称为 DbSchema。它是用 Java 编写的,所以可以在 OS X、 Windows 或 Linux 上运行。有点笨重,尤其是涉及到印刷的时候,但根据我的经验,它们都是这样的。这是我试过的几个中最好的一个。它可以做出漂亮清晰的图表。免费试用。根据您购买的许可证数量,成本约为120美元。
Visio很专业内置了一个数据库逆向工程工具。您应该能够通过 ODBC 驱动程序将其与 MySQL 一起使用。当您对数据库进行反向工程,然后通过将图从表和视图面板中拖出来来创建图表时,它的工作效果最好。它将拖动任何外键对象,并将它们放在关系图上。
我开始创建自己的基于 SQL: : Transator 模块(GraphViz)的 Perl 脚本。
SchemaBall 正在以自己有趣的方式进行可视化。
我使用 翻译器和 类
无论如何,我的工具链中有 DBIx: : Class,并且将它与 SQL: : Transator 结合使用,可以将模式转换为许多不同的格式。主要是为不同的数据库服务器初始化 SQL 脚本(使得在 SQLite 上开发和迁移到 Postgresql 进行生产变得容易) ,但是它也可以输出 GraphViz 数据,所以生成图是很容易的。
ER/Studio by Embarcadero 是成本较高的模式之一,但它所呈现的层次模式是迄今为止理解数据库模型的最佳模式。它使查询写作成为世界上最简单的任务。
对于规范化、反规范化、仓储、文档等,它也是令人难以置信的。
缺点是它是一个非常昂贵的工具,特别是当您使用多平台时。
这是一种不同的方法,但是如果您正在使用 Ruby on Rails,请尝试 RailRoad: http://railroad.rubyforge.org
用于管理 MySQL 数据库的 Web 应用程序 Adminer (以前是 phpMinAdmin)绘制了一个简单的图表。
该软件本身类似于 phpMyAdmin,但有更多的功能,它的轻量级和单一的 PHP 文件。
我花了很长时间寻找一个像样的,最好是免费的 linux 工具,发现这个 java 应用程序相当不错(终于! !):
Http://sqldeveloper.solyp.com/
作为 Java,它是跨平台的(我在 Linux 上运行它没有任何问题) ,它将连接到任何数据库,你可以得到一个 JDBC 驱动程序。即: 几乎所有的数据库。
导入数据库并获得数据库模式的可视化(呃)非常容易。自动布局功能也很好,但是请注意,它不是自动完成的,在将对象导入到图中之后,您需要单击“自动布局”按钮。
该应用程序也是一个非常好的通用数据库管理/浏览工具。作为一个小例子,我在一些基础开发工作中使用它来代替 pgadmin,这是因为一些简单的细节,比如 SQL 查询结果的列宽会自动调整大小以适应内容(这让我在 pgadmin 中抓狂)。
我通常使用 SchemaSpy 来完成这项工作,但是最近我在 小精灵上发现了一篇非常简单的文章,它只使用转储文件来创建结构图
我试过 DBSchema。很好的特性,但是对于一个有大约75个表的数据库来说太慢了。不可用。
试试 PHPMyAdmin,它有一些非常好的可视化和编辑功能。我很确定你甚至可以从中导出到 exel。
在 Mac OS X 上你可以使用 续集专业版