We can spend balance of an address if we have private key. is it true for master private key too? I mean, we could spend spend balance using master private key? or we should use child private key?
A Bitcoin transaction to an address has to be spent using the specific private key that corresponds to the public key whose hash is the address. In this case, that's the child private key.
Of course, if you have the master private key, you can compute the child private key from it. Your Bitcoin wallet client might even do that for you. But at the last step, it's the child private key that is used.