# Anyone know of any freeware to reverse engineer an Oracle database?

**URL:** <https://boards.straightdope.com/t/anyone-know-of-any-freeware-to-reverse-engineer-an-oracle-database/199718>\
**Category:** In My Humble Opinion\
**Created:** [September 5, 2003, 1:33pm UTC](https://boards.straightdope.com/t/anyone-know-of-any-freeware-to-reverse-engineer-an-oracle-database/199718 "2003-09-05T13:33:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Spectre\_of\_Pithecanthropus](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/spectre_of_pithecanthropus/32/12343_2.png) [@Spectre\_of\_Pithecanthropus](https://boards.straightdope.com/u/Spectre_of_Pithecanthropus)\
**Post date:** [September 5, 2003, 1:33pm UTC](https://boards.straightdope.com/t/anyone-know-of-any-freeware-to-reverse-engineer-an-oracle-database/199718/1 "2003-09-05T13:33:01Z")

</div>

The situation is this. We’re using PVCS Tracker for tracking fixes and bugs, and this is based on an Oracle database. The database comprises several schemas, one for each project being tracked, and each schema contains many tables which are obviously dependent on one another for the Tracker application. However, when viewed through TOAD or a similar tool, no foreign key constraints are shown among the tables, which tells me that the relationships between the tables are being enforced by the procedural code within Tracker rather than by Oracle objects.

So, does anyone know of a tool which can analyze a database, and describe _probable_ data relationships based on the data itself? For instance, if you have a pair of tables which appear to have a one-to-many relationship based on the attribute values, could the tool tell you that they probably are related, even though there’s no formal Oracle constraint?
