block explorer, just a parser and database query? I am thinking about the 'science' of block explorers

When I go to a block explorer and view an address, I see a list of transactions in that address and current balance

Is this technically just the contents of each block being stored as they are created (or retroactively parsed) and assigning a database entry for each new element found in that block?

Or even storing every unconfirmed transaction's data as well?

Writing this out, I think I answered my own question, but maybe there is some more efficient or clever thing going on here
Yeah, that's how they work. For example, blockexplorer.com gets blocks from Bitcoin Core via JSON-RPC, gathers interesting chunks of data, and puts this data into a SQL database for easy access later. The code for this is only ~300 lines long (though it's very messy). Other block explorers work similarly. In fact, Bitcoin Core itself works something like this, though it uses a key-value database instead of a relational database, and it doesn't store any info about addresses.