Would you really assume that no one would ever be able access the database and just put the data in the database as clear text? Why use a hash at all, if this is your logic? You just said that, "If the attacker does not have access to the hash, the scheme does not add security.", so why implement a hashing system at all? An attacker does not have access to the data, until the attack occurs. The security factor is meant to be preventative, so why wouldn't you implement these security features before an attacker does gain access? Why would you say that it is useless to add it? I'm a bit confused on why you are saying that it doesn't make things more secure. That's like saying that using a retinal scan for authentication does not add security, if no one ever comes into the building. Isn't the entire point of using a hashing function to prevent a user that gains access to the data from being able to decipher what it really is? Even if the entire machine is compromised, it would be a good idea if the attackers couldn't figure out what the classified data was, correct?