I am working on a new application at work and having some database issues and wanted to diagram some things out - I like pictures!
I dug around on the web looking for an Oracle friendly ERD (entity-relationship diagram) tool. There were lots out there but most were in the $300+ range. The few free ones I found were limited in some way, no printing, no saving, etc. Finally I stumbled upon a Google Groups post that mentioned that JDeveloper would do this. I had heard of JDeveloper but for some reason always assumed it was a commercial product. A quick check on the Oracle site however proved me wrong. JDeveloper is a free download! (free since 2005!)
Oracle JDeveloper is a free integrated development environment with end-to-end support for modeling, developing, debugging, optimizing, and deploying Java applications and Web services.
It’s a huge download, 500MB for the whole package. Installation was just a matter of unzipping the download. After watching a brief tutorial I was quickly able to connect to, and reverse engineer my database into a beautiful diagram. It will also generate DDL scripts from a diagram. I haven’t dug into it much and probably won’t use it for more than generating my ERDs but it also appears it will do UML as well which I have been meaning to check out.

You May Also Enjoy Reading:
4 Comments
By the way, if you are mainly looking at DB modeling don’t forget to take a look at the preview of JDeveloper 11g which is also available for download - it has many more DB modeling capabilities.
Shay - thanks for the tip! I saw it but figured I’d grab a stable release to see if it actually worked. Now that I know it does what I need - I’ll check out the 11g version.
Jim, thanks for the tip on jDeveloper. For the life of me, I can’t find the tutorial for reverse engineering a database. You happen to remember the URL?
Steve - I can’t seem to find the video tutorial I originally watched - it was about doing db development and the diagramming part was stuck in the middle. I did find some step-by-step directions however: Modeling Database Objects Offline
For the first shot plan on some trial and error but once you get it working it’s fairly straightforward… I now set that up and save it to a /database directory in my project and keep all that under version control along with everything else.