Every transaction has a hash associated with it. In a block, all of the transaction hashes in the block are themselves hashed (sometimes several times — the exact process is complex), and the result is the Merkle root.
In other words, the Merkle root is the hash of all the hashes of all the transactions in the block. The Merkle root is a part of the block header. With this scheme, it is possible to securely verify that a transaction has been accepted by the network (and get the number of confirmations) by downloading just the small block headers and Merkle tree – downloading the entire block chain is unnecessary. This feature is currently not used in Bitcoin, but it will be in the future.
“Is some data is changed, the hash will not be the same so, it is
possible to notice that some data is changed.”
Yes if some data is changed then the Merkle root hash will be different.