有什么好的工具可以可视化现有数据库模式?如果有问题,我正在使用MySQL。
我当前正在使用MySQL Workbench来处理SQL创建脚本转储,但是它笨重,缓慢并且需要手动操作来拖移所有表(如果不是那么慢的话就可以了)。
有什么好的工具可以可视化现有数据库模式?如果有问题,我正在使用MySQL。
我当前正在使用MySQL Workbench来处理SQL创建脚本转储,但是它笨重,缓慢并且需要手动操作来拖移所有表(如果不是那么慢的话就可以了)。
Answers:
我喜欢这个工具,简称为DbSchema。它是用Java编写的,因此可以在OS X,Windows或Linux上运行。这有点笨拙,尤其是在打印方面,但是根据我的经验,它们都是那样。这是我尝试过的几种中最好的一种。它使图表清晰美观。免费试用。费用约为120美元,具体取决于您购买的许可证数量。
在Mac OS X上,您可以使用Sequel Pro
+1
强烈推荐Sequel Pro。
sudo port install graphviz
)和Homebrew(brew install graphviz
)中使用。2.)导出点文件(在SequelPro中,转到“文件”>“导出”>“ Graphviz点”并导出数据库)3.)打开终端并将点文件转换为SVG。4 。)(可选dot -Tsvg your_database.dot > your_database.svg
)使用您选择的任何工具将生成的SVG转换为JPG或PNG。 (Inkscape,ImageMagick,GraphicsMagick等)
怎么样了SQuirreL SQL客户端?正如在另一个SO问题中提到的那样,该程序具有生成简单ER图的能力。
您是否尝试过在MySQL Workbench中安排>自动安排功能。这样可以避免您手动移动表格。
DeZign for Databases对您来说可能很有趣。您可以进行反向工程和修改现有数据库。具有自动布局功能,并且在将数据模型与数据库同步时,图的布局不会被划分。
Visio Professional内置了一个数据库反向工程工具。您应该能够通过ODBC驱动程序在MySQL中使用它。当您对数据库进行反向工程然后通过将图表拖离表和视图面板来创建图表时,它的工作效果最佳。它将拖动任何外键对象,并将它们也放置在图上。
一种不同的方法,但是如果您使用的是Ruby on Rails,请尝试使用RailRoad:http: //railroad.rubyforge.org
gem install railroady
我花了很长时间寻找一个不错的,最好是免费的Linux工具,发现这个Java应用程序非常好(最终!):
http://sqldeveloper.solyp.com/
作为Java,它是跨平台的(我在Linux上没有问题地运行它),它将连接到您可以获取JDBC驱动程序的任何数据库。即:几乎所有数据库。
导入数据库并获得可视化内容(ERM)非常容易数据库模式)。自动布局功能也不错,但是请注意,它不是自动完成的,在将对象导入到图中之后,您需要单击“自动布局”按钮。
该应用程序还是一个很好的通用数据库管理/浏览工具。举一个小例子,由于一些简单的细节,例如SQL查询结果的列宽会自动调整大小以适合内容,这使我在某些基础开发工作中使用了它而不是pgadmin(这使我在pgadmin中发疯了)。
我将SQL :: Translator与DBIx :: Class一起使用
无论如何,我的工具链中都有DBIx :: Class,并将其与SQL :: Translator结合使用可使我将模式转换为许多不同的格式。通常是针对不同数据库服务器的初始化SQL脚本(使它易于在SQLite上开发并迁移到Postgresql进行生产),但是它也可以输出GraphViz数据,因此生成图很简单。
ER / Studio,由Embarcadero提供是成本更高的模型之一,但是它目前呈现的分层模式是理解数据库模型的最佳模式。它使查询编写成为世界上最简单的任务。
在规范化,非规范化,仓库,文档等方面也令人难以置信。
缺点是,这是一个非常昂贵的工具,尤其是当您使用多平台时。
Adminer(以前称为phpMinAdmin)是用于管理MySQL数据库的Web应用程序,它绘制了简单的图表。
该软件本身类似于phpMyAdmin,但具有更多功能,轻量级功能,并且包含在单个PHP文件中。
当说可视化数据库模式时,是指所有表,存储库等的文本文档,还是指模式和依赖项的可视化表示?
我知道您提到过MySQL(现在很可能支持它,但是我不确定),但是RedGate有许多工具可以使它变得非常简单。它的SQL Doc程序可以获取您的整个数据库并为其创建完整的数据库文档。SQL Dependency Tracker可以为您提供所有表的可视化表示并显示它们的链接,或者您可以仅加载某些表或sproc以显示正在使用的表或正在使用的表。
SchemaBall正在以自己有趣的方式进行可视化。
尝试使用PHPMyAdmin,它具有一些非常不错的可视化和编辑功能。我很确定您甚至可以将其导出。