Trying to learn a complex web application from the top down is a time consuming and difficult process. However, if you know SQL and have access to your application's database, familiarizing yourself with the database, as well as the physical data goes a long way towards learning an application.
The database is your lowest level or tier, and it contains the raw data. Not the fancied up and manipulated data, the real deal. Being able to see your raw data will also reveal domain objects, relationship, and potentially business rules depending on the complexity of your database ( cron jobs, scheduled tasks, sprocs, views ). Working with business data at this level typically gets you closer to the rules and problems you are trying to solve.
Try getting this sort of insight from code. Just think of all the code you have inherited in the past and all the missing, legacy, or even bad commenting that did nothing but distract you from learning what was going on.
Data is the fuel that powers your application. Just like putting bad fuel in your car makes it perform under par, the same thing is true for software. Being able to go directly to the database lets you eliminate data problems, or even locate and fix them. I've had plenty
by ericfickes