Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm not a DBA but I am a (mostly!) competent SQL report writer. Can I trouble you DBAs for some pro-knowledge, please?

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?

share|improve this question
Are there constraints to be extracted? Check by running: SELECT * FROM user_constraints where constraint_type = 'R' – Chris Saxon Jun 22 '12 at 14:26
Thanks for your reply. Apologies for answering this question but I couldn't see a 'feedback' option to comment on your comment. I just checked, no, there's a user_constraints table but it doesn't contain any information (at all). There is however the all_constraints table that does return information where constraint_type = 'R'. Is the issue that the all_constraints table belongs to system and the user_constraints belongs to my login to the schema therefore there's no link between the two at user-level meaning no relationships data is brought back? Thanks!! – user9631 Jun 25 '12 at 8:13
USER_CONSTRAINTS will show you information on constraints that your schema user owns. ALL_CONSTRAINTS will show you information about constraints that you have the appropriate permissions in place to see/use. DBA_CONSTRAINTS will show you all constraints. – Phil Jul 4 '12 at 9:37

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.