I do not know if this question was asked before ... I wanted to know if for each cryptocurrency you should have your own blockchain database if the answer is "yes" ... then how can you do trading between each currency? As a transaction travels from one DB to another?
That's right, every currency has its own separate blockchain.
Trading one currency for another doesn't move currency between blockchains. Rather, there is (in principle) one transaction on each blockchain.
As an example, suppose Alice has some BTC that she wants to trade for LTC. She will have to look for a counterparty who has LTC and wants BTC. Say she finds Bob. She makes a transaction on the BTC blockchain sending her BTC to Bob, and Bob makes a transaction on the LTC blockchain sending his LTC to Alice. The total amount of BTC and LTC in circulation stays the same.
In practice, this process might be mediated by an exchange, who can ensure that neither party cheats. In this case, Alice sends her BTC to an exchange, who holds it temporarily, and Bob likewise sends his LTC to that exchange. After everyone has agreed, the exchange sends LTC to Alice and BTC to Bob. But again, BTC stays on the BTC blockchain, and LTC stays on the LTC blockchain.
It's just the same as a currency exchange desk at an airport. If you have dollars that you want to exchange for euros, they don't magically convert one currency into the other. Rather, you give them some of your dollars, and they give you some of the euros that they had in their drawer. The total number of dollars hasn't changed, nor has the total number of euros; they've just changed hands.