可视化数据库架构的好工具?[关闭]


137

有什么好的工具可以可视化现有数据库模式?如果有问题,我正在使用MySQL。

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


除非您认为这是有帮助的
否则别无选择

2
我在softwarerecs.stackexchange.com上再次提出了这个问题,并高度欢迎我当前解决方案的任何替代方案。
Jeroen

使用dbForge Studio for MySQL 可视化mysql模式。数据库设计器包含在免费的Express版本中。
Devart '18

Answers:


83

我发现SchemaSpy很好-每次模式更改时都必须运行脚本,但这并不是什么大问题。

正如评论中指出的那样,它也有一个GUI

另一个不错的工具是SchemaCrawler


3
谢谢,我认为命令行界面有点痛苦,当然,一旦我能正常使用它,我就会注意到首页的GUI链接joachim-uhl.de/projekte/schemaspygui。还应注意,该程序会将Google广告插入到生成的HTML中。
James McMahon

1
很好 值得注意的是,必须进行大量牛刮毛才能使其正常工作。
肯王子

这很棒!使它正常工作很容易。只需按照说明进行操作即可。另外,应该注意的是,它不仅适用于MySQL,还适用于:DB2,Derby,Firebird,HSQLDB,Informix,MaxDB,MS SQL,Oracle,PostgreSQL,SQLite,Sbase,Teradata。
直到2016年

保存自己的工作,然后使用DbVisualizer(dbvis.com)。它可以与包括SQLite在内的各种数据库一起使用,其EULA允许免费版本用于商业项目。
Aralox

14

我通常使用SchemaSpy来执行此操作,但是最近我在sqlfairy上找到了一篇非常简单的文章,该文章仅使用转储文件来创建结构图


2
sqlfairy的+1不需要JRE(与大多数其他答案一样)。
mikewaters 2011年

我刚刚从sqlfairy中获得了所需的东西。简单快捷。
Fivedogit

sqlfairy可以将大量磁盘空间用于大型数据库。我为一个615mb大的数据库运行它,并在填充了硬盘上可用的18gb后崩溃了。
Pascal

那是一个老评论...这个工具还在开发中吗?
荣誉

11

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


优秀的工具。还有一个免费版,它具有大多数出色的功能(例如,与实时数据库同步)。
wheleph

这是一个很棒的工具,它甚至可以生成虚拟外键,哇!
Nassim 2015年

10

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


1
+1强烈推荐Sequel Pro。
安妮

6
我认为这个答案需要更多的解释:norbauer.com/rails-consulting/notes/…– fguillen 2013
6

1
谢谢@fguillen!让我们在此处添加解释(在链接可能断开之前)。仅需4个简单步骤:1.)安装graphviz,可在MacPorts(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等)
Arvid



2

您是否尝试过在MySQL Workbench中安排>自动安排功能。这样可以避免您手动移动表格。


2
是的,这有点帮助,但是效果不佳。

值得一试,我总是总是也会安排自己-但有时它可以使我入门。
Brian Fisher

2

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


请注意,自动布局功能不适用于较大的数据库-只是一团糟。(例如,图表的空间似乎有限,因此在右边框上塞满了很多桌子(在我们的示例中是75个桌子放在一个位置)。选项。
Lonzak

2

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




2

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

http://sqldeveloper.solyp.com/

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

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

该应用程序还是一个很好的通用数据库管理/浏览工具。举一个小例子,由于一些简单的细节,例如SQL查询结果的列宽会自动调整大小以适合内容,这使我在某些基础开发工作中使用了它而不是pgadmin(这使我在pgadmin中发疯了)。


我同意这一点。我一直在寻找任何GUI工具来可视化linux上的postgresql数据库,而其中的大多数工具仍然面目全非。我刚刚开始使用SQL Developer,但这是到目前为止我发现的最好的免费选项。
亚当·潘伯

1
由于该问题现已关闭,因此我无法提供新的答案,但是您真正想要的工具是DbVisualizer(dbvis.com)。真是太棒了……比我在问题中所建议的要好得多(如果过去几年的使用情况有任何暗示的话)。
拉斯

1

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

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


1

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

在规范化,非规范化,仓库,文档等方面也令人难以置信。

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


1

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

该软件本身类似于phpMyAdmin,但具有更多功能,轻量级功能,并且包含在单个PHP文件中。

替代文字


1
也许这适用于琐碎的模式,但是我在具有28个表的模式上进行了尝试,它只是按字母顺序为我提供了所有表的纯垂直列表,并用一排垂直线试图说明关系。再也没有用了。
Dolph 2010年

确实,在我的情况下是40张桌子。您可以单击以拖动它,但是一旦选择,就无法取消选择。
Ziyan Junaideen

0

当说可视化数据库模式时,是指所有表,存储库等的文本文档,还是指模式和依赖项的可视化表示?

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


恐怕Red Gate的工具只有SQL Server。
Dave R.

我一直在追求可视化图形表示,而不是完善的数据库文档,但听起来还是很有趣(即使它仅是SQL Server,也有一些其他东西正在使用它)。
垫子

0

多年前,我曾经使用过Data Architect。我不知道它是否还在那里。

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

或者,您甚至可以走得更远,对带有关系图的实体关系模型进行反向工程。与既不是程序员也不是数据库专家的人们讨论数据时,ER图对我来说真的很有用。

有时,对ER模型和ER图进行一些手动修正是必要的,然后才能与利益相关者进行交流。



0

我尝试了DBSchema。不错的功能,但是对于具有约75个表的数据库而言,速度却慢得多。无法使用。


0

尝试使用PHPMyAdmin,它具有一些非常不错的可视化和编辑功能。我很确定您甚至可以将其导出。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.