好的工具来可视化数据库模式?
有没有什么好的工具可视化预先存在的数据库模式? 如果有问题,我正在使用MySQL。
我目前正在使用MySQL Workbench来处理一个SQL创build脚本转储,但是它笨重,缓慢,并且需要一个手动的过程来拖动所有的表(如果速度不是很慢的话,也可以)。
我发现SchemaSpy非常好 – 每次架构更改时都必须运行脚本,但这并不是什么大不了的事情。
正如评论中指出的那样,它也有一个GUI 。
另一个不错的工具是SchemaCrawler 。
我通常使用SchemaSpy来做到这一点,但最近我发现了一个非常简单的sqlfairy文章,它只是使用转储文件来创build结构图
我喜欢这个工具,简称DbSchema 。 它是用Java编写的,因此可以在OS X,Windows或Linux上运行。 这有点笨重,特别是在印刷方面,但从我的经验来看,他们都是这样的。 这一个是我尝试过的几个最好的。 它使好,清晰的图表。 免费试用。 花费大约120美元,取决于您购买的许可证数量。
我会推荐Toad数据build模器
在Mac OS X上,您可以使用Sequel Pro
SQuirreL SQL客户端如何? 正如在另一个SO问题中提到的,这个程序有能力生成一个简单的ER图。
你是否已经在MySQL Workbench中试过了>自动排列function。 它可以节省您手动移动表格。
DeZign for Databases可能对你很有意思。 您可以反向工程并修改现有的数据库。 获得了自动布局function,并且在将数据模型与数据库同步时,图布局不会被网格化。
Visio 专业版内置了数据库反向工程工具。 您应该可以通过ODBC驱动程序将它与MySQL一起使用。 当您对数据库进行逆向工程时,它的效果最好,然后通过将它们从表格和视图面板中拖出来创build图表。 它将拖动任何外键对象,并把它们放在图上。
我开始基于SQL :: Translator模块(GraphViz)创build自己的Perl脚本。 这是第一个结果 。
一个不同的方法,但是如果你使用Ruby on Rails,试试RailRoad: http: //railroad.rubyforge.org
我期待了很长的时间,为一个体面的,最好是免费的Linux工具,发现这个Java应用程序是相当不错的(最后!!):
http://sqldeveloper.solyp.com/
作为Java它是跨平台的(我在Linux上运行它没有问题),它将连接到任何数据库,你可以得到一个JDBC驱动程序。 即: 几乎任何数据库 。
导入数据库并获取数据库模式的可视化( ERM )非常简单。 自动布局function也很好,但请注意,自动布局function不会自动完成,您需要在将对象导入图表后单击“自动布局”button。
该应用程序也是一个很好的通用数据库pipe理/浏览工具。 作为一个小例子,我使用它来代替pgadmin来进行一些基础开发工作,因为像SQL查询结果的列宽自动resize以适应内容(这在pgadmin中让我疯狂)。
我用DBIx :: Class使用SQL :: Translator
我的工具链中有DBIx :: Class,并将它与SQL :: Translator结合使用,可以将模式转换成许多不同的格式。 大多数情况下,为不同的数据库服务器初始化SQL脚本(可以很容易地在SQLite上开发并转移到Postgresql进行生产),但也可以输出GraphViz数据,因此图生成很简单。
Embarcadero公司的ER / Studio是一个昂贵的产品,但它所呈现的分层模式是迄今为止理解数据库模型的最好的模式。 它使查询写作世界上最简单的任务。
规范化,非规范化,仓储,文档等等也是令人难以置信的。
缺点是它是一个相当昂贵的工具,特别是当你去多平台。
当你说可视化数据库模式时,是指所有表格,sprocs等的文本文档,还是指的是模式和依赖项的可视化表示?
我知道你提到了MySQL(现在很可能支持它,但我不确定),但是RedGate有很多工具可以使这些变得非常简单。 这是SQL Doc程序可以把你的整个数据库,并为其创build完整的数据库文档。 SQL依赖关系跟踪器可以为您提供所有表格的直观表示并显示它们的链接,或者您可以只加载特定的表格或sprocs来显示正在使用它们或正在使用的内容。
多年前,我曾经使用过Data Architect。 我不知道它是否仍然在那里。
您可以将现有模式逆向工程化为关系表格图。
或者你可以走得更远,并用一个附图来反向devise一个实体关系模型。 当与既不是程序员又不是数据库专家的人讨论数据时,ER图对我来说真的很有用。
在与利益相关者交stream的工具之前,有时候需要对ER模型和ER图进行一些手动修正。
SchemaBall正在以自己有趣的方式进行可视化。
Adminer (以前称为phpMinAdmin)是用于pipe理MySQL数据库的Web应用程序,绘制简单的图表。
该软件本身类似于phpMyAdmin,但有更多的function,它的轻量级,它在单个PHP文件。
我试过DBSchema。 不错的function,但对于大约75表的数据库非常缓慢。 不可用。
尝试PHPMyAdmin,它有一些非常好的可视化和编辑function。 我很确定你甚至可以从它出口exel。