自动生成MySQL数据库图表

358
我厌倦了每个项目开始时都要打开Dia并创建数据库图表。是否有工具可以让我选择特定的表,然后根据MySQL数据库为我创建数据库图表?最好允许我在之后编辑图表,因为没有设置任何外键......

这是我所想象的图表(请原谅可怕的数据设计,我没有设计它。让我们专注于图表概念,而不是实际表示的数据;)):

diagram 查看完整大小的图表


你可以使用phpmyadmin设计工具。 - Tamer Awad
您还可以使用dbForge Studio for MySQL中内置的数据库设计工具来完成此操作。 - Devart
DBVisualizer在其引用部分具有干净的表现形式。它展示了所有关系整齐堆叠且易于阅读的表格。 - Harish
14个回答

438

尝试使用MySQL Workbench,前身为DBDesigner 4:

http://dev.mysql.com/workbench/

它有一个“反向工程数据库”模式:

Database -> Reverse Engineer

输入图像描述


8
@James: 依然有效,点击下载工作台5.2.16(右上角),然后选择“No Thanks, just take me to the downloads”,它应该可以使用 - 至少对于Windows是如此,其他平台没有尝试过。 - Michael Stum
6
我觉得MySQL Workbench非常有帮助,但发现它的反向工程数据库功能不能自动链接表格,所以表格仍需要重新排列。 - David LeBauer
6
请注意,这在Ubuntu软件仓库中被称为mysql-workbench。 - mlissner
38
您可以在“数据库->反向工程”菜单下的DB选项卡中找到此功能。 - h2ooooooo
12
你甚至不需要连接数据库。使用“仅结构”选项导出你的MySQL数据库。在MySQL Workbench中,点击“文件 -> 新建模型”,然后点击“文件 -> 导入 -> 反向工程MySQL创建脚本...”,勾选“将导入的对象放置在图表上”的框即可。 - Liam
显示剩余9条评论

67

4
我也在使用它,它是一个很棒的工具。这里是如何配置它的链接:http://progrnotes.blogspot.com/2011/05/auto-generate-databaseer-diagram-mysql.html - Sergey
1
schemaspy创建交互式模式(请参见http://schemaspy.sourceforge.net/sample/),这只是静态HTML文件,可以存储和在任何地方使用。MySQL Workbench不会创建交互式模式(仅图像文件或PDF),而且还不能自动和漂亮地重新排列表格。对于自动化(夜间构建创建更新的模式),schemaspy也完全符合要求,因为它完全是命令行。 - Long Vu
+1 这是唯一一个能够满足我的需求的工具:在发布时自动生成数据库文档。 - Mr. Developerdude
1
@DamirOlejar,你需要安装一个稳定的Graphviz(别名dot)版本,我不建议自己编译。这会导致不同版本,无法识别png文件,从而使schemaspy失败。/ 无论如何,一旦设置好了,这个工具非常棒+1。 - phil294
@Blahurim,感谢您的回复,但是时间已经过去了很久,我没有时间测试它。谢谢,希望能帮助其他人。 - 3xCh1_23
显示剩余2条评论

26
在Mac上,SQLEditor可以满足您的需要。

它似乎有着我在MySQLWorkbench中遇到的同样问题,即表之间的关系未显示。 - user8678484

6

6

不连接外键(mysql),仅显示带有值的表格,并且不允许更大的屏幕将它们全部放在一起。 - 3xCh1_23

4
在MySQL Workbench(6.0)中,可以根据已创建的表生成一个图表。为此,您应该访问工具栏,点击模型并选择从目录对象创建图表即可完成!

4
我相信DB Designer可以做类似的事情。而且我认为他们甚至有免费版本。
编辑 不用了,Michael的链接更好。

4

MySQL Workbench非常好用。

我刚刚将数据库结构备份到SQL脚本中,并在Windows版本的MWB 5.2.37中使用了“从SQL脚本创建EER模型”的功能。


3

3

试用Vertabelo

这是一个支持反向工程的在线数据库建模器。

只需创建免费的Vertabelo帐户,将现有数据库导入到Vertabelo中,就可以轻松完成 - 您的数据库已经在Vertabelo中了!

它支持以下数据库:

  • PostgreSQL,
  • MySQL,
  • Oracle,
  • IBM DB2,
  • HSQLDB,
  • MS SQL Server。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接