Ben McLean, yes, the schema in the SharePoint database is very generic to allow for all the custom user columns, so there is not a 1-1 relationship between what you see in a list and what is stored in the database. You have to go through a data mapping (used to be an XML fragment, but I haven't looked in a while) to see how the mapping works out. This precludes the use of direct SQL indexes.
Interestingly, for those of us old enough to remember and have experience with it, STS 1.0 (SharePoint Team Services) that was released with Office XP (as I remember) actually provisioned separate databases at the site level (if I remember correctly) and, of course, stored the document files in the server's file system. The database was much simpler. It was a much simpler time... 🙂
But I'm with you. I'm waiting for a SharePoint list that is "less SharePointy" and more "Databasey."