First a thank you to Dan for the introduction you sent by mail. That was a big help.
Three comments on column names:
- There are two sets of columns with '_text' in it. revision_text_... and event_user_text_... The first one is about content, which is also called text in the database scheme and in xml files. The second one is called name in the xml file, and also in the field descriptions of mediawiki_history. Dan also talked about event_user_name in his introduction. So maybe this was an overly greedy global edit?
- Several fields are called [something]_latest Explanation is e.g. for events_user_blocks_latest "Current blocks of the user etc" I'd use 'current' instead of 'latest' also in the column names, except for 3)
- Overriding 2): I expect few users will be interested in the historical value for e.g. user name, user groups, namespace etc. It's good that it exists, but why not make those historical column names a bit harder to type, instead of the columns that 98% of users will be interested in? And again, while doing so making a better match with names in database. So instead of page_namespace and page_namespace_latest, why not use page_namespace (but now for the current value) and page_namespace_[earlier|before|previous|history] for what used to be, but no longer is.
(tbc, I'll do one post per topic)