Like most legacy databases, there is good and bad. I found it more good than I expected. The core tables are mostly normalized. You have no documentation, so you have to read between the lines, and sometimes wonder (e.g. GUID's used in addition to integer keys, why?) but you can pretty quickly track through (as an example) the image to the folder to the root, to form the path name to a file. You can also see how it handles root file moves, etc. Things you might think of as the "original" Lightroom are really quite well structured.
The areas where it becomes very confusing are those areas you can tell were added later, and someone said "screw normalization just stuff it in there". You'll find some columns, for example, with metadata stored as XML and value pairs (and sometimes both) all stuffed in a single column, not normalized out at all. This is especially true in publishing related plugins, as I do not think the API provides a mechanism to extend the database, so they just stuff data tables inside of columns.
If you are looking for something simple it is easy. For example, I run a quick report each year showing all galleries with a certain word in the name, in the calendar year, as it represents trips to those locations for tax purposes. Easy. The other day I tried finding where the XMP/IPTC Date Created was, and finally just gave up - it's not stored consistently, and I could never find a query to give the same value all the time as Lightroom (notably its absence, my guess due to some defaulting).
Obviously changing things is a whole different level of commitment than looking around.