Sunday, June 1, 2008

Free Database Design Tools

LewisC's An Expert's Guide To Oracle Technology

Sun just announced MySQL Workbench, a new database design tool for MySQL developers and DBAs. I'm a data modeling tool junkie. I like to play with any I can get my hands on. I've used almost every modeling tool that's been built. My all time favorite is probably Erwin.

I decided to download MySQL Workbench and give it a try. Since I was playing with it, I figured I should write about it and while I am writing about it, I might as well write about a couple of other tools, that I have personally used, that you might like.

TOAD Data Modeler

The TOAD Data Modeler from Quest used to have a free version. I can no longer find a link to a free version but you can download a free copy of the latest Beta version. It's unfortunate that Quest has decided not to continue the free version, though. Like most Quest tools, the price tag for Data Modeler is high, $479.00 per seat. That's a bit more than I want to pay.

It is a good looking tool though. If I am mistaken and you can find the free version, it worth checking out.

It has everything you would expect in a data model tool. It also has excellent support for most databases. It supports the commercial databases (SQL Server, Oracle, Sybase and DB2). It also supports Postgres 8.1 and 8.2 (no 8.3 so no XML type) and MySQL 5.

It can be a bit kludgey to use at times and at $479.00 I don't have any reason to recommend it over my next design tool

fabForce DBDesigner 4

DBDesigner is a MySQL database design tool that just happens to provide some support for other databases. It supports SQL Server, Oracle, SQL Lite and ODBC.

There are a few features I really like in DBDesigner4.

  • It's free. I like free.
  • If you are using a database not directly supported, you can create your own data type. Right click in the data type window and select Create New Datatype.
  • Reverse Engineering. That means you can connect to a database and it will import your model. That's rare in a free tool.

I have used this tool for a while now and have designed a couple of different application schemas using it.

My only complaint would be that the interface sometimes seems non-intuitive/non-standard. I find myself looking around trying to find the button or menu option that I know is there, just not where I expect it to be. That's a nit though. I definitely recommend this tool to anyone looking for design tool. I would choose Erwin of DBDesigner but only if someone else was paying for it.

MySQL Workbench

And now on to MySQL Workbench. I have to say that I have only spent a short amount of time playing with it but I like it. Sun is offering a community edition and a standard edition. The community edition is feature limited and free, standard has additional features and costs $99.00. You can read about the differences.

As I used it, I kept thinking to myself how much like DBDesigner it is. I don't know if they licensed DBDesigner code or if it's just coincidence. The interface does have a different look and feel but there is something about it that just makes me think DBDesigner.

Compare the DBDesigner screen shot to the MySQL Workbench screen shot. They're eerily similar.

Still, like most MySQL tools, it's easy to install and use. Even if it is based on DBDesigner, it is restricted to being just a MySQL tool. I couldn't find anyway to connect to any database though. That might be a limitation between standard and community.

NOTE: I just found a Workbench FAQ entry about DBDEsigner 4:

Q.2: Is the MySQL Workbench based on the code of DBDesigner4?

No, MySQL Workbench is a complete rewrite in C++ / C# / Objective-C. Not a single line of code is shared between the projects. But Workbench does build on the experience and feedback got from the DBDesigner4 project and should be better than its predecessor in every respect once GA quality is reached.

If you're MySQL only, Workbench could be a good choice. DBDesigner does offer reverse engineering and documentation for free though, in addition to supporting multiple databases. I think I will stick with DBDesigner4 for now (when my employer/client doesn't provide their own modeling tool).

LewisC

Technorati : , , , , , , , ,

13 comments:

Arjen Lentz said...

The connection between DBDesigner 4 and MySQL Workbench is quite simple, they have the same architect: Mike Zinner.

LewisC said...

Ah, that would explain it. I didn't realize Zinner worked on DBDesigner. Is DBDesigner still being worked on by others or is the new Sun product the only one that will be updated?

LewisC

Arjen Lentz said...

Mike got hired by MySQL in 2003, he's the GUI team lead. The DBDesigner that you're using now will be from before that time.
See http://arjen-lentz.livejournal.com/105462.html for a summary of that history.

LewisC said...

I knew Zinner was on the GUI tools. I just didn't realize he was affiliated with DBDesigner.

I did notice that it hadn't been updated in a long time. Still a nice tool though. Bummer that no one is working on dbdesigner.

Thanks for the update and the link,

LewisC

Sheeri K. Cabral said...

Last I saw, reverse engineering was a free feature in MySQL Workbench -- is that no longer the case?

(I know that printing is a for-pay feature, which I insist makes it crippleware....because really, printing your schemas is a critical feature!)

Unknown said...

Reverse engineering is possible with MySQL Workbench, it just requires an extra step - export the database structure to an SQL file, then import.

Likewise, you can print schemas from it - export to PDF, then print.

I'm told the reason for this is that the lead dev on the project doesn't like forcing people to pay for features, so all paid features are shortcuts which you can do with more steps in the free version - no idea how true that is though!

LewisC said...

Matthew,

Thanks for the tips!

Sheeri,

According to the features link, you can reverse engineer from SQL scripts but not from a live database.

Matthew had a great tip to deal with that and the printing issue.

Thanks,

LewisC

oracle said...

Thanks for this nice blog share with us.Its really nice to have you here i think every person who want to create any web design or something else wants that type of database design tools so its really useful tools.good job.

Andy said...

i have really got impressed by the amazing thoughts of u people..Thanx for the info!!!

Andy said...

Very impressive!!!

oracle said...

I like this blog because these tools are looking so cool and i appreciate your blog actually i am doing website design hope these tools make me any idea for my purpose.so thanks

Jahvi said...

Hi, just a quick question.

Does ERWIN supports mySQL DBs? Just asking because I just tried 7.0 ver and couldn't find mySQL on the options (only oracle, sql server, etc).

Thanks

LewisC said...

My current employer doesn't use Erwin so I can't test. I'm not sure if it does or not.

LewisC