views:

114

answers:

7

I need to diagram an oracle database and I am hoping to find some good tools that are either cheap, or free.

Ideally the tool should allow me to draw the relationships between the tables, as well as remove unwanted tables from the diagram.

I already have access to MS Visual Studio 2008 as well as SSMS 2008, but I don't believe either will provide much help with oracle.

I asked this question here on serverfault, and I had several answers. However after I tried most of the tools I ran into problems with all of them.

I prefer SQL server over oracle, but I have one legacy oracle system to manage, and I am finding myself climbing an uphill battle against the numerous errors oracle throws at you on a minute by minute basis.

A: 

Maybe I don't understand, but its only a diagram. In which any UML tool will do the job, even Visio, which should have for free or next to nothing for you, not to mention the tools in that blog. And there always pencil and paper.

Jaimal Chohan
A: 

Visio professional will let you reverse engineer the database schema and I've done this with Oracle before. It's actually quite good for this as you can organise the diagram into subject areas (i.e. separate pages). You can also annotate the diagrams with missing foreign keys; this is quite a useful feature for making sense of vendors' databases.

'Enterprise Architect' versions will also allow you do generate DDL from the diagrams, and you can often get VSEA2002 or VSEA2003 quite cheaply; these versions come with the EA version of Visio bundled.

ConcernedOfTunbridgeWells
A: 

I think Visio has a feature called "Reverse Engineering", with which you can specify a database connection and it will automagically draw the Diagram for you. The database connection can be anything accessible via ODBC.

(MySQL also offers such a feature in its MySQL Workbench, though I don't remember, if it was possible to specify a different database system than MySQL itself)

Cassy
It does, and I have used it before with success. I am starting to think that my numerous failures are a system configuration problem, and I should build a new Oracle VM server for my development.
Russ
A: 

Have a look at TOADSoft and especially Toad Data Modeler (Toad is a very famous tool).

Another well known commercial tool is PL/SQL Developer. This is a more integrated solution (not only graphical modeling).

In both case, I didn't check the pricing but I'm sure they are worth it (and the prices must be insignificant in comparison to Oracle's license).

Pascal Thivent
A: 

Oracle's own SQL Developer Data Modeler has a "Free to download, free to learn, unlimited evaluation", whatever the hell that means.

skaffman
That means we can download and use the tool without paying for it, for as long as our application is in development. But once the application is in production - or we want Support - we need to buy a license.
APC
+1  A: 

Like your friends over on serverfault, I had a really good experience with PowerArchitect. And it's free. . . .

bucchere
All I get is a cryptic JDBC error. ( Sorry, I'm not in front of my home PC right now to get the exact error )
Russ
A: 

As long as we're mentioning pencil and paper, I'll throw in the next step up from pencil and paper. It's MS Access.

If you have MS Access on your PC, and if you can set up table links from MS access to Oracle, you can use MS Access to generate relationship diagrams, which you can then print. You have to do a fair amount of manual work, compared to some of the pricier tools.

Set up an empty MS Access database. Then set up a table link to each of the tables in your Oracle database. Then use the Access relationship tool to draw relationship lines between each foreign key and the key it references. Classify each relationship as many to one. This creates the lines between the boxes. You can use the Access interface to drag the boxes around on the diagram until you like the visual layout. You can print the resulting diagram.

Oh, and by the way, you can create local tables to act as snapshots of some of the data, and MS queries to reload the local tables from the Oracle data. That way you can mess around with the local copies without writing to the Oracle database. You can even set up table links to a SQL server database, and move data across, bit by bit.

Depending on the complexity of your Oracle DB, and your diagramming needs, this could be enough of a tool for you.

Walter Mitty