Finding a good db modeling tool for MySQL back in the day was a major pain and always ate up a good chunk of my time. I think I’ve tried just about every db tool on the market. I used to be fond of MicroOLAP’s products. They could handle relatively large models and reminded me a little of the MS Access days. I was then excited about a designer named DBDesigner 4 which was lead by Michael Zinner. It was in its infancy but had enormous potential. Unfortunately, out of nowhere development had stopped on it for what seemed like a year with still many bugs. Shortly thereafter Michael Zinner emerged heading MySQL’s initiative to build a visual design tool named MySQL Workbench seen below.
Now roughly 5 years later, I have to say Workbench is one hell of a design tool. Their stable release supports triggers, procedures, referential integrity, modeling notations, modeling tokens for naming conventions, forward & reverse engineering, db synchronization (paid SE version) and now with the latest Alpha release, SQL IDE for executing queries.
There are still quite a few tiny bugs in my opinion but none are show stoppers that would prevent you from using this tool in a production environment. There are versions for Linux, Windows and Mac. One thing you want to be careful with is trying to run this against a MySQL server on Windows whether it’s WAMP, XAMP or your own custom install. Due to the way Windows stores filenames compared to Unix, trigger names in the Information Schema lose their case sensitivity which throws the whole WB Synch method out of whack causing it to delete all your tables.
All in all, I’m pretty amazed at what this product has become and excited to see where the MySQL team continues to take it!