Not easy - and not very productive. Getting to know and work with the object model is far more useful.
Javadoc provides a lot of help.
Playing with query builder reports (Site, Util, Report Manager) also gives a lot of clues. Can look at the "view as SQL" code at various points when building reports, although this is grayed out when using certain functionality.
in general, most every table's primary key is IDA2A2. Relationships of Versions to their Master object are also important to understand.
Not much published by PTC over the years on this.