I'm not a DBA but I am a (mostly!) competent SQL report writer. Can I trouble you DBAs for some pro-knowledge, please?
Civil Air Patrol had a need for an easy to use, quality tool to solve a Microsoft SQL data/schema synchronization issue. ApexSQL by far was the tool for us. It allowed us to quickly complete the project and allowed us to incorporate automation to allow us to keep that data in sync. This is an awesome tool with excellent customer service to. This is the list of all data dictionary Data dictionary is data about data - list of tables, columns and their relationships with a description of each element. This is a basic way to document a relational database. Tools for popular relational databases (Oracle, SQL Server, MySQL or PostgreSQL).
I can connect SQL Developer to Oracle XE's data dictionary without any problem, i.e. view the information of the data dictionary as an ERD within SQL Developer that shows the tables belonging to HR and the the relationships between these tables expressed as links between the PKs and FKs of the individual tables.
However, when I import the data dictionary from my workplace's 11g Oracle DB into SQL Developer, it brings back all the tables of the schema I'm pointing SQL Developer at but doesn't show the relationships between these tables - i.e. no links between the PKs/FKs of the tables belonging to the schema.
Is this feature something that has to be written into the ERD manually, or should table relationship information be available as part of the tables that make up the data dictionary?
Colin 't Hart![Synchronisieren Synchronisieren](https://www.devart.com/dbforge/oracle/studio/images/highlights/map-objects.png)
1 Answer
The data dictionary will only show what it can.
Users can design their schema with or without referential integrity defined in the actual database.
When you import a data dictionary, using SQL Developer, to a new or existing relational data model, the foreign key constraints will be shown by default - if they are there to begin with.
Now, specific to the tool, it CAN attemp to infer any relationships. It does this by looking for common column names sprinkled around your tables, like an 'XYZ_ID' column, that happens to be a PRIMARY KEY in a driving table.
I have step-by-step instructions for this here, on my blog.