可视化数据库模式的好工具?

时间:2021-06-26 12:46:51

Are there any good tools for visualising a pre-existing database schema? I'm using MySQL if it matters.

有什么好的工具来可视化已存在的数据库模式吗?我用的是MySQL。

I'm currently using MySQL Workbench to process an SQL create script dump, but it's clunky, slow and a manual process to drag all the tables about (which would be okay if it wasn't so slow).

我目前正在使用MySQL Workbench处理SQL create脚本转储,但这是一个笨拙、缓慢的过程,并且需要手动拖拽所有表(如果不是这么慢的话,这是可以的)。

20 个解决方案

#1


78  

I found SchemaSpy quite good - you have to run the script every time schema changes but it is not so big deal.

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

As pointed out in the comments there is also a GUI for it.

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

Another nice tool is SchemaCrawler.

另一个不错的工具是SchemaCrawler。

#2


12  

I usually use SchemaSpy to do this, but recently I found a really simple article on sqlfairy that just uses the dump file to create the structure graph

我通常使用SchemaSpy来实现这一点,但是最近我发现了一篇关于sqlfairy的非常简单的文章,它使用dump文件来创建结构图

#3


10  

I like this tool, called simply DbSchema. It's written in Java so it runs on OS X, Windows, or Linux. It's a little clunky, especially when it comes to printing, but from my experience they're all like that. This one is the best of the several I've tried. It makes nice, clear diagrams. Free trial. Costs about $120 depending on how many licenses you buy.

我喜欢这个叫做DbSchema的工具。它是用Java编写的,因此可以在OS X、Windows或Linux上运行。它有点笨拙,尤其是在印刷方面,但根据我的经验,它们都是这样的。这是我试过的最好的。它能做出漂亮、清晰的图。免费试用。根据您购买的许可数量,费用大约为120美元。

#4


9  

I would recommend Toad data modeller

我推荐Toad data modeller

#5


9  

on Mac OS X you can use Sequel Pro

在Mac OS X上你可以使用Sequel Pro。

#6


5  

How about the SQuirreL SQL Client? As mentioned in another SO question, this programs has the capability to generate a simple ER diagram.

那么SQuirreL SQL客户机呢?正如在另一个问题中所提到的,这个程序有能力生成一个简单的ER图。

#7


2  

Have you tried the arrange > auto arrange function in MySQL Workbench. It may save you from manually moving the tables around.

你有没有尝试过在MySQL Workbench中设置>自动排列功能。它可以避免手动移动表。

#8


2  

DeZign for Databases might be interesting for you. You can reverse engineer and modify existing databases. Has got an auto-layout function and diagram layout is not meshed up when synchronizing your data model with the database.

数据库的会合对你来说可能很有趣。您可以反向设计和修改现有的数据库。具有自动布局功能,当您的数据模型与数据库同步时,图布局没有被整合。

#9


2  

Visio professional has a database reverse-engineering tool built into it. You should be able to use it with MySQL through an ODBC driver. It works best when you reverse engineer the database and then create the diagrams by dragging them off the tables and views panel. It will drag any foreign key objects and put them on the diagram as well.

Visio professional中内置了一个数据库反向工程工具。您应该能够通过ODBC驱动程序将它与MySQL一起使用。当您反向设计数据库,然后通过从表和视图面板中拖出图表来创建图表时,它的工作效果最好。它将拖拽任何外键对象并将它们放在图中。

#10


2  

I'm start to create own Perl script based on SQL::Translator module (GraphViz). Here are first results.

我开始基于SQL:::Translator模块(GraphViz)创建自己的Perl脚本。这是第一个结果。

#11


2  

A different approach, but if you're using Ruby on Rails try RailRoad: http://railroad.rubyforge.org

另一种方法,但是如果您正在使用Ruby on Rails,请尝试以下方法:http://railroad.rubyforge.org

#12


2  

I looked for a long time for a decent, and preferably free, tool for linux and found this java application that is quite good (finally!!):

我花了很长时间寻找一个合适的、最好是免费的linux工具,发现这个java应用程序非常好(最后!)

http://sqldeveloper.solyp.com/

http://sqldeveloper.solyp.com/

Being Java it is cross-platform (I run it on Linux with no issues) and it will connect to any database you can get a JDBC driver for. ie: pretty much any database.

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

It is quite easy to import your database and get a visual (ERM) of the database schema. The auto-layout feature is good as well, but note that it is not done automatically and you need to click the "automatic layout" button after importing your objects into the diagram.

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

The application is also a pretty good generic database administration/browsing tool. As one small example, I use it instead of pgadmin for some base development work because of simple niceties like the column width of SQL query results automatically sizing to fit content (which drives me crazy in pgadmin).

应用程序也是一个很好的通用数据库管理/浏览工具。作为一个小例子,我使用它而不是pgadmin进行一些基础开发工作,因为简单的细节,比如SQL查询结果的列宽度自动调整为适合内容的大小(这让我在pgadmin中发疯)。

#13


1  

I use SQL::Translator with DBIx::Class

我使用SQL:::Translator with DBIx:::Class

I have DBIx::Class in my toolchain anyway, and combining it with SQL::Translator allows me to convert the schema into lots of different formats. Mostly initialization SQL scripts for different database servers (making it easy to develop on SQLite and move to Postgresql for production) but it can output GraphViz data too, so diagrams are trivial to generate.

无论如何,我在工具链中有DBIx::类,并将它与SQL::Translator组合在一起,使我可以将模式转换成许多不同的格式。大多数情况下,为不同的数据库服务器初始化SQL脚本(使得在SQLite上开发和生产转移到Postgresql上变得很容易),但是它也可以输出GraphViz数据,因此生成图很简单。

#14


1  

ER/Studio by Embarcadero is one of the costlier ones, but the hierarchical mode it present is by far the best one for understanding database models. It makes query writing the easiest task in the world.

Embarcadero的ER/Studio是其中一个比较昂贵的模式,但是它所呈现的分层模式是目前为止最好的理解数据库模型的模式。它使查询编写成为世界上最简单的任务。

It also is incredible with normalization, denormalization, warehousing, documentation, etc.

规范化、非规范化、入库、文档化等等也令人难以置信。

The downside is that it is a pretty expensive tool especially when you go multiplatform.

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

#15


0  

When you say visualize the database schema, are you referring to a text-document of all your tables, sprocs, etc., or are you referring to a visual representation of your schema and dependencies?

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

I know you mentioned MySQL (and it is very possible that it is supported now, but I am not sure), but RedGate has a number of tools that make that pretty simple. It's SQL Doc program can take your entire database and create full-blown database documentation for it. SQL Dependency Tracker can give you a visual representation of all your tables and show their linkings, or you can load in just certain tables or sprocs to show what is using them or what they are using themselves.

我知道您提到了MySQL(现在很有可能支持它,但我不确定),但是RedGate有很多工具使之变得非常简单。它的SQL Doc程序可以获取整个数据库并为其创建完整的数据库文档。SQL依赖跟踪程序可以为您提供所有表的可视化表示,并显示它们的链接,或者您可以只加载某些表或sprocs来显示使用它们的内容或它们自己使用的内容。

#16


0  

Years ago, I used to use Data Architect. I don't know if it's still out there.

几年前,我曾使用数据架构师。我不知道它是否还存在。

You could reverse engineer an existing schema into a relational table diagram.

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

Or you could go even further, and reverse engineer an Entity-Relationship model with an accompanying diagram. ER diagrams were really useful to me when discussing the data with people who were neither programmers nor database experts.

或者你可以更进一步,用一个附图来反向设计一个实体-关系模型。在与既不是程序员也不是数据库专家的人讨论数据时,ER图对我来说非常有用。

Sometimes a few manual fixups to the ER model and ER diagram were necessary before it was a useful communication tool with stakeholders.

有时需要对ER模型和ER图进行一些手工修正,然后才能将其作为与涉众进行有效沟通的工具。

#17


0  

SchemaBall is doing visualisation its own interesting way.

SchemaBall正在以一种有趣的方式进行可视化。

#18


0  

Adminer (formerly phpMinAdmin), the web application for managing MySQL databases, draws simple diagram.

用于管理MySQL数据库的web应用程序Adminer绘制了简单的图表。

The software itself is similiar to phpMyAdmin, but has more features, its lightweight and it comes in single PHP file.

这个软件本身与phpMyAdmin很相似,但是它有更多的特性,它的轻量级,并且只有一个PHP文件。

alt text http://img256.imageshack.us/img256/1112/adminer.png

alt文本http://img256.imageshack.us/img256/1112/adminer.png

#19


0  

I tried DBSchema. Nice features, but wildly slow for a database with about 75 tables. Unusable.

我试着DBSchema。不错的特性,但是对于一个大约有75个表的数据库来说,速度非常慢。无法使用。

#20


0  

Try PHPMyAdmin which has some really nice visualisation and editing feature. I am pretty sure you can even export to exel from it.

试试PHPMyAdmin吧,它有一些非常好的可视化和编辑功能。我很确定你甚至可以从它导出到exel。

#1


78  

I found SchemaSpy quite good - you have to run the script every time schema changes but it is not so big deal.

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

As pointed out in the comments there is also a GUI for it.

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

Another nice tool is SchemaCrawler.

另一个不错的工具是SchemaCrawler。

#2


12  

I usually use SchemaSpy to do this, but recently I found a really simple article on sqlfairy that just uses the dump file to create the structure graph

我通常使用SchemaSpy来实现这一点,但是最近我发现了一篇关于sqlfairy的非常简单的文章,它使用dump文件来创建结构图

#3


10  

I like this tool, called simply DbSchema. It's written in Java so it runs on OS X, Windows, or Linux. It's a little clunky, especially when it comes to printing, but from my experience they're all like that. This one is the best of the several I've tried. It makes nice, clear diagrams. Free trial. Costs about $120 depending on how many licenses you buy.

我喜欢这个叫做DbSchema的工具。它是用Java编写的,因此可以在OS X、Windows或Linux上运行。它有点笨拙,尤其是在印刷方面,但根据我的经验,它们都是这样的。这是我试过的最好的。它能做出漂亮、清晰的图。免费试用。根据您购买的许可数量,费用大约为120美元。

#4


9  

I would recommend Toad data modeller

我推荐Toad data modeller

#5


9  

on Mac OS X you can use Sequel Pro

在Mac OS X上你可以使用Sequel Pro。

#6


5  

How about the SQuirreL SQL Client? As mentioned in another SO question, this programs has the capability to generate a simple ER diagram.

那么SQuirreL SQL客户机呢?正如在另一个问题中所提到的,这个程序有能力生成一个简单的ER图。

#7


2  

Have you tried the arrange > auto arrange function in MySQL Workbench. It may save you from manually moving the tables around.

你有没有尝试过在MySQL Workbench中设置>自动排列功能。它可以避免手动移动表。

#8


2  

DeZign for Databases might be interesting for you. You can reverse engineer and modify existing databases. Has got an auto-layout function and diagram layout is not meshed up when synchronizing your data model with the database.

数据库的会合对你来说可能很有趣。您可以反向设计和修改现有的数据库。具有自动布局功能,当您的数据模型与数据库同步时,图布局没有被整合。

#9


2  

Visio professional has a database reverse-engineering tool built into it. You should be able to use it with MySQL through an ODBC driver. It works best when you reverse engineer the database and then create the diagrams by dragging them off the tables and views panel. It will drag any foreign key objects and put them on the diagram as well.

Visio professional中内置了一个数据库反向工程工具。您应该能够通过ODBC驱动程序将它与MySQL一起使用。当您反向设计数据库,然后通过从表和视图面板中拖出图表来创建图表时,它的工作效果最好。它将拖拽任何外键对象并将它们放在图中。

#10


2  

I'm start to create own Perl script based on SQL::Translator module (GraphViz). Here are first results.

我开始基于SQL:::Translator模块(GraphViz)创建自己的Perl脚本。这是第一个结果。

#11


2  

A different approach, but if you're using Ruby on Rails try RailRoad: http://railroad.rubyforge.org

另一种方法,但是如果您正在使用Ruby on Rails,请尝试以下方法:http://railroad.rubyforge.org

#12


2  

I looked for a long time for a decent, and preferably free, tool for linux and found this java application that is quite good (finally!!):

我花了很长时间寻找一个合适的、最好是免费的linux工具,发现这个java应用程序非常好(最后!)

http://sqldeveloper.solyp.com/

http://sqldeveloper.solyp.com/

Being Java it is cross-platform (I run it on Linux with no issues) and it will connect to any database you can get a JDBC driver for. ie: pretty much any database.

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

It is quite easy to import your database and get a visual (ERM) of the database schema. The auto-layout feature is good as well, but note that it is not done automatically and you need to click the "automatic layout" button after importing your objects into the diagram.

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

The application is also a pretty good generic database administration/browsing tool. As one small example, I use it instead of pgadmin for some base development work because of simple niceties like the column width of SQL query results automatically sizing to fit content (which drives me crazy in pgadmin).

应用程序也是一个很好的通用数据库管理/浏览工具。作为一个小例子,我使用它而不是pgadmin进行一些基础开发工作,因为简单的细节,比如SQL查询结果的列宽度自动调整为适合内容的大小(这让我在pgadmin中发疯)。

#13


1  

I use SQL::Translator with DBIx::Class

我使用SQL:::Translator with DBIx:::Class

I have DBIx::Class in my toolchain anyway, and combining it with SQL::Translator allows me to convert the schema into lots of different formats. Mostly initialization SQL scripts for different database servers (making it easy to develop on SQLite and move to Postgresql for production) but it can output GraphViz data too, so diagrams are trivial to generate.

无论如何,我在工具链中有DBIx::类,并将它与SQL::Translator组合在一起,使我可以将模式转换成许多不同的格式。大多数情况下,为不同的数据库服务器初始化SQL脚本(使得在SQLite上开发和生产转移到Postgresql上变得很容易),但是它也可以输出GraphViz数据,因此生成图很简单。

#14


1  

ER/Studio by Embarcadero is one of the costlier ones, but the hierarchical mode it present is by far the best one for understanding database models. It makes query writing the easiest task in the world.

Embarcadero的ER/Studio是其中一个比较昂贵的模式,但是它所呈现的分层模式是目前为止最好的理解数据库模型的模式。它使查询编写成为世界上最简单的任务。

It also is incredible with normalization, denormalization, warehousing, documentation, etc.

规范化、非规范化、入库、文档化等等也令人难以置信。

The downside is that it is a pretty expensive tool especially when you go multiplatform.

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

#15


0  

When you say visualize the database schema, are you referring to a text-document of all your tables, sprocs, etc., or are you referring to a visual representation of your schema and dependencies?

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

I know you mentioned MySQL (and it is very possible that it is supported now, but I am not sure), but RedGate has a number of tools that make that pretty simple. It's SQL Doc program can take your entire database and create full-blown database documentation for it. SQL Dependency Tracker can give you a visual representation of all your tables and show their linkings, or you can load in just certain tables or sprocs to show what is using them or what they are using themselves.

我知道您提到了MySQL(现在很有可能支持它,但我不确定),但是RedGate有很多工具使之变得非常简单。它的SQL Doc程序可以获取整个数据库并为其创建完整的数据库文档。SQL依赖跟踪程序可以为您提供所有表的可视化表示,并显示它们的链接,或者您可以只加载某些表或sprocs来显示使用它们的内容或它们自己使用的内容。

#16


0  

Years ago, I used to use Data Architect. I don't know if it's still out there.

几年前,我曾使用数据架构师。我不知道它是否还存在。

You could reverse engineer an existing schema into a relational table diagram.

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

Or you could go even further, and reverse engineer an Entity-Relationship model with an accompanying diagram. ER diagrams were really useful to me when discussing the data with people who were neither programmers nor database experts.

或者你可以更进一步,用一个附图来反向设计一个实体-关系模型。在与既不是程序员也不是数据库专家的人讨论数据时,ER图对我来说非常有用。

Sometimes a few manual fixups to the ER model and ER diagram were necessary before it was a useful communication tool with stakeholders.

有时需要对ER模型和ER图进行一些手工修正,然后才能将其作为与涉众进行有效沟通的工具。

#17


0  

SchemaBall is doing visualisation its own interesting way.

SchemaBall正在以一种有趣的方式进行可视化。

#18


0  

Adminer (formerly phpMinAdmin), the web application for managing MySQL databases, draws simple diagram.

用于管理MySQL数据库的web应用程序Adminer绘制了简单的图表。

The software itself is similiar to phpMyAdmin, but has more features, its lightweight and it comes in single PHP file.

这个软件本身与phpMyAdmin很相似,但是它有更多的特性,它的轻量级,并且只有一个PHP文件。

alt text http://img256.imageshack.us/img256/1112/adminer.png

alt文本http://img256.imageshack.us/img256/1112/adminer.png

#19


0  

I tried DBSchema. Nice features, but wildly slow for a database with about 75 tables. Unusable.

我试着DBSchema。不错的特性,但是对于一个大约有75个表的数据库来说,速度非常慢。无法使用。

#20


0  

Try PHPMyAdmin which has some really nice visualisation and editing feature. I am pretty sure you can even export to exel from it.

试试PHPMyAdmin吧,它有一些非常好的可视化和编辑功能。我很确定你甚至可以从它导出到exel。