Tuesday, June 9, 2009

MySQL Workbench - Visual Database Design Tool

What is MySQL Workbench?

MySQL Workbench is a visual database design tool available on Window, Linux and Mac OS. The MySQL Administrator and Query Browser tools have been deprecated. The database GUI interfaces will be rolled into the MySQL Workbench 5.2 release (currently alpha). MySQL Workbench is available in a Community (free) and Enterprise edition (paid license). Below are a few good links to look at:

Always looking at new tools

I've been looking for a better tool to work in a MySQL environment when I want to demo relationships between data models, physical tables, data and SQL code. It has to be a tool that the students can pick up easily without spending a lot of time understanding how it works. It's always an investment to learn another tool. So I've downloaded the MySQL Workbench 5.2 alpha release and really like what I've seen so far. I like it so much I'm going to start giving demonstrations for my work using the Workbench 5.2 release. I understand it's alpha but for my needs it was really easy to pick up and start using it right away. Anyone using Workbench for a production environment should be using 5.0 (GA) or 5.1 (Beta but soon to go GA).

Why I was looking for a new visual database design tool

I actually did not have it on my top three list of tools to look at initially. I just had some spare time this afternoon and downloaded the latest release of MySQL Workbench. I picked the alpha release because I wanted to look at the latest features. I just wanted to play with it but it was so easy to use that I starting playing with it seriously. I was doing a complex example this last week of looking at a customer issue from a number of perspectives to show problems that come up in database environments.

Really easy to build a data model, physical schema and use query browser

Before I knew it, I had built a data model, the physical schema, populated the key tables with data and did some query benchmarks. I realized in this personal exercise I had built an easy to follow demo that I wanted to use to show students some specific examples of database servers and troubleshooting problems. I also seen that I could have students new to MySQL Workbench be able to easily follow me by using the tool as well. I then started reading the whitepapers and documentation to understand the tool better. Before I knew it I was liking the product more and more. I realized that in about ten minutes I can easily convert a lot of users using SQL GUI tools in a MySQL environment easily to the MySQL Workbench 5.2 alpha release. But for how I am using it, its okay that it is alpha. Obviously before using any alpha release make sure you do your due diligence and understand if it is okay to use an alpha product for your situation. I'm just doing demos so I want a tool that meets my needs for easy to use demonstrations and a tool that is easy for students to use as well in following my demos.

MySQL Workbench Features

MySQL Workbench is a visual database design tool. Some of the key features available in this release:
  • Manage database schema objects: tables, views, indexes, stored procedures, functions and triggers.
  • Easy to use query browser tool.
  • Choice of diagramming notation.
  • Model validation.
  • Schema validation.
  • Forward and reverse engineering.
  • Change management.
  • Reporting functionality.
I've liked what I've seen in MySQL Workbench so I will be demoing with it and using the functionality in my future classes.


strcmp said...

Is it as fast as MySQL Query Browser? I like how Query Browser reads 100000s of rows in seconds and how fast you can browse the result sets with the scrollbar. That's much better than having to click for the next page of data in TOAD etc.

In my tests MySQL Workbench was rather sluggish; I fear a useful lean and fast tool will be completely abandoned for something which I only need in the design phase, but which is painful to use for what I do most of the time: creating and debugging queries, starting ad hoc queries and understanding the result sets by skimming through the whole data or adding clauses to the query to sort or group.

Unknown said...

A good question. Right now since I'm testing the 5.2 alpha release I am focusing more on the feature functionality and have not done any load tests or benchmarking. I will make sure and pass on your concerns, very important point.

KC said...

Can you use Oracle SQL Developer to accomplish the same tasks? I know that there is a free version of this tool online.

Unknown said...

Yes, I have a blog on how to set up SQL Developer for MySQL. Takes about 3 minutes. The MySQL client commands will not work in SQL developer, you will instead use the GUI information to pull out the meta data.