bitcoind – How does Bitcoin Core save raw transaction data?

I understand that the default setting in Bitcoin Core is that the non-wallet transaction data is not stored on your hard drive in the data of the blockchain.

In fact, the default is that it is stored in the blk.dat files. There is another database for unused products, in the state of the chain folder. Your wallet will also index the transactions for which you have imported keys to spend or watch.

Is transaction-specific data (ie bitcoin address, time, inputs / outputs, etc.) stored in one of my raw data ( for example: the blk.dat file)?

Yes. Except that the addresses are not stored because they are an external format for certain types of files. scriptPubkeysand the timestamps are only blocks, not transactions.

How does my node check / validate previous blocks without knowing the transactions in this block? I guess the other nodes do not store the transaction data. How is it that my node gets the transactions to perform a complete validation of the block in question?

He knows the transactions in this block because he downloads the blocks from the other nodes. The blocks contain the transactions.

If transactions are not stored on my computer, how can I get a complete copy of the blockchain? I thought it was one of the essential points of running a node – you had a complete backup of the complete blockchain. How could I replicate the entire blockchain (if necessary) without having the transaction data in each block?

They are, see above

If the transactions are not stored, what exactly does it store in the block data and how is it useful? Is there a way to decode or use a mechanism to obtain transaction information from raw block data files?

They are, see above. You can get the information by using RPC commands with the help of the cli, such as:

$ bitcoin-cli getblock
$ bitcoin-cli getrawtransaction 

If the transaction data is not stored in the block data of your computer (for example: txindex = 0), how can you duplicate all transactions if necessary without having to download anything or connect to intention? to get them from other nodes if you were the last node with a copy of the blockchain (eg: in case of emergency if, say, theoretically, all blockchains were erased and that mine was the only one left)?

txindex = 0 does not mean that transaction data is not stored, it simply means that they are not indexed. This means that you can only get raw transactions by txid using the getrawtransaction command for transactions in mempool, see getrawtransactions

Do I have to enable txindex = 1 for raw transaction data to be stored on my node? Or is it stored and accessible if necessary without it being activated?

Only to index transactions, see above