Patrick Haston

New Version! Version 0.3.1 now available for download.

The Problem

We needed to diagram the tables in our corporate database. There were far more tables than we could effectively display in JDeveloper, so I built this little Java application to do it for us. It only took a few evenings to get the basic application in place.

The Solution

It's a simple application with an un-cluttered interface:

Screenshot of PDM application

You start a new diagram by supplying the connect information to an Oracle database. From version 0.3.0 you can select objects from multiple databases (or several schemas of the same database).

New Database dialog box

You then add tables one at a time or in groups (tables you have already added are not listed again). You can filter the tables listed using before pressing Go to list them, useful if you have a large schema with hundreds of tables. Foreign key relationships are included automatically.

Add Tables dialog box Add Tables dialog box with tables listed

The tables are added in the top left of the page, one day I will work out a nifty alorithm to position them nicely...

Tables added to diagram

Simply drag the tables around to position them correctly.

Table being moved on the diagram Tables positioned on the diagram

You can adjust the position of the foriegn key relationship indicators to make them easier to read.

Connectors being moved on the diagram Connectors positioned on the diagram

You can grow the diagram to the left and bottom by dragging tables in these directions. You can format the way the tables are displayed. You can only print on one page (the diagram is scaled to fit), but you can change the page layout.

You can display hundreds of tables on the same diagram:

Screenshot of a complex diagram

As well as displaying tables, you can include views and materialized views on the same diagram. Dependencies to the underlying tables (and views) that are used to create a view are shown with dashed lines.

Version 0.3.1 of the application is now available for you to download. It needs Java version 1.5. I can't offer you any formal support, but log your comments on this page and I'll do my best to help. I'd like to hear how you get on with it. I'll continue to post new versions here.

Patrick Haston
30 October 2007 (updated 21 October 2009)