If you hide an edit or a username from the page history I believe this creates the table "hidden" which also does not have a primary key.
Topic on Category talk:MediaWiki database tables that lack a primary key/Flow
No, it doesn't. It uses the rev_deleted field in the Revision table.