Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

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've been handed the ER diagram for a quite complex database. Complex to me at least, 849 tables. One of the architects says to understand the code, you need to understand the database and relationships.

Now I am basically a Java programmer hence not too familiar with this

How do I start? Should I start from something basic like USER or ORDER and see which relationships they have with other tables around them?

Any tips or tutorials would help a lot

share|improve this question
up vote 7 down vote accepted

An ER Diagram is out there to visualize a design, which was made to accomplish a certain job. Understand what the job is first, then ask questions to the diagram.

"How is an order stored?", "How do I retrieve user information", "How can I tell which user ordered a certain product between these intervals and with these options?". Such questions might help you understand the design. If there is a requirements analysis documentation, it will help you a lot with coming up with these questions. You can explore how certain requirements are handled.

I suspect that a database with 849 tables is highly normalized so most of those tables might be lookup tables which does not have much effect on the relationships of the entities. Try to focus on the parent tables holding keys to those lookup tables.

share|improve this answer
thanks - sounds logical and the way to go – shinynewbike Sep 28 '10 at 5:26

Your Answer


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

Not the answer you're looking for? Browse other questions tagged or ask your own question.