All of these navigations are basically just table-relative memory pointer indirections, apart from the natural (hashmap) key indexation, which exists for header[hash], txs[header.hash] (txs is an association table between header and its tx entries), tx[hash], point[hash] (point is a table of prevout hashes used to collapse the redundant values to surrogate keys), spend[composite key of point surrogate key and output index], and optionally the electrum table of address[output script hash].