You should avoid reading the database directly, as it's generally a very bad thing to do. What are you actually trying to acheive? There is almost certainly a better way to do it than reading the database.
But to answer it: changegroup is a change, with the individual changes of fields, as well as non-fields such as status, logged in changeitem. You may want to read jiraaction too for comments, or if you have a very very old dataset. There are then some other things logged in other places, but that should cover 95% of what you want to look at
For those of you who, like me, stumbled on this page first and still want an answer: https://confluence.atlassian.com/jirakb/how-to-obtain-issue-change-history-from-database-933695139.html
tl;dr: a union of changegroup (for linking to groups of changes and issues), and changeitem. Join on changegroup.id = changeitem.groupid if necessary.
If you already heard about Smart Commits in Bitbucket, know that you just stumbled upon something even better (and smarter!): Genius Commits by Better DevOps Automation for Jira Data Center (+ Server...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events