Question

I'm tired of opening Dia and creating a database diagram at the beginning of every project. Is there a tool out there that will let me select specific tables and then create a database diagram for me based on a MySQL database? Preferably it would allow me to edit the diagram afterward since none of the foreign keys are set...

Here is what I am picturing diagram-wise (please excuse the horrible data design, I didn't design it. Let's focus on the diagram concept and not on the actual data it represents for this example ;) ):

diagram see full size diagram

Was it helpful?

Solution

Try MySQL Workbench, formerly DBDesigner 4:

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

This has a "Reverse Engineer Database" mode:

Database -> Reverse Engineer

enter image description here

OTHER TIPS

I've recently started using http://schemaspy.sourceforge.net/ . It uses GraphViz, and it strikes me as having a good balance between usability and simplicity.

On a Mac, SQLEditor will do what you want.

This http://code.google.com/p/database-diagram/ will reverse engineer your database. Just do an export 'structure only' then paste the SQL into the tool.

Try MySQL Maestro. Works great for me.

I believe DB Designer does something like that. And I think they even have a free version.

edit Never mind. Michael's link is much better.

MySQL Workbench worked like a charm.

I just backed up database structure to SQL script and used it in "Create EER Model From SQL Script" of MWB 5.2.37 for Windows.

In MySql Workbench (6.0) its possible generate one diagram based on tables created. For that you should access to the tools bar, press Model and forward Create Diagram from Catalog Objects and done!

Visual Paradigm for UML 9.0

It's awesome I used to work with mysql bench but for big databases (something like more than 300 tables) won't work very well but visual paradigm reverse database works so much better

Try SchemaBank. They support reverse engineering too.

phpMyAdmin has what you are looking for (for many years now): It takes a small bit of configuration, but gives you additional benefits too: http://www.phpmyadmin.net/documentation/#pmadb

Try out Vertabelo!

It's an online database modeler that supports reverse enginnering.

Just create free of charge Vertabelo account, import an existing database into Vertabelo and voila - your database is in Vertabelo!

It supports following databases:

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

Here is a tool that generates relational diagrams from MySQL (on Windows at the moment). I have used it on a database with 400 tables. If the diagram is too big for a single diagram, it gets broken down into smaller ones. So you will probably end up with multiple diagrams and you can navigate between them by right clicking. It is all explained in the link below. The tool is free (as in free beer), the author uses it himself on consulting assignments, and lets other people use it. http://www.scmlite.com/Quick%20overview

The "Reverse Engineer Database" mode in Workbench is only part of the paid version, not the free one.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top