• I have been using Enterprise Architect for a while - it can import the definition for tables, views, functions etc from database that you can connect to using ODBC. The result is a representation of the source system and it includes relationship between tables (foreign keys) and also things like views and tables - so you end up with a very rich picture of what it using/related to what, which is really useful.

    And it doesn't cost an arm and a leg - which is also pretty handy.