This artcle will show you how to create a diagram for existing MySQL or MariaDB database using MySQL Workbench.
Reverse engineer a database
To create a diagram from existing database you need to use reverse engineering functionality to create a model.
To reverse engineer database go to menu Database and choose Reverse Engineer... option.
Provide connection details to your database and click Next. Wait for the connection and click Next again.
When successfully connected wizard will show you list of available schemas on the server. Select the ones you want to reverse engineer.
Wait for the schemas being read and continue with Next. On next screen you have an option to select object types and filter specific objects. Let's ignore it and import all objects. Click Execute >.
Wait for reverse engineering to take place and when done continue with Next. Final screen shows you a summary of the import. Close with Finish.
When the process ends with success you get a new model (more about models here) with default diagram with all tables and views.
Clean out diagram
What you probably want to do right after you created a default diagram is to remove unnecessary tables and views and arrange tables to make it easier to grasp.
To remove table from diagram select it, right click and choose Remove Figure option.
Be careful not to choose Delete option as it will remove table not only form diagram but also your model catalog. Without a warning!
To arrange tables you can try autoarrange option, but you'll need some manual work on top of that.
To use autoarrange go to menu, select Arrange and Autolayout.
To manually arrange tables simply select them and move around when you feel they fit best. Good luck.
Once you have completed your diagram make sure to save it. It is saved in a MySQL Workbench model in a .mwb file in Documents folder.
When your diagram is complete and safe it you can export it to png, pdf, ps or svg.
To export diagram go to menu, select File, then Export, select one of the available formats and provide folder and filename.
Here is my diagram:
See it in other formats:
A better way to share diagrams: Dataedo
There is a better way to create and share diagrams for existing databases - Dataedo. Here is a sample export of complete database documentation with diagrams:
A few of the benefits:
- Easy and convenient sharing in interactive HTML
- Draw diagrams for databases with no FK constraints
- Attach complete data dicionary