First Architectural Principle of Data - The Separation of Truth and Lies
In the real world, there are only 2 types of data - let's call them Lies and Truths. Truths are things that don't ever change (and are derivable from other truths). "The sky is blue" or "iPhone" are examples. In IT we call this read-only data, because you save it once and then it never changes. The second type of data we will call "Lies". Lies can always change (and are NEVER derivable), thus they MUST be remembered. Forgetting what you lied, effectively destroys the lie - and there are always consequences. In IT this is called read-write data, because you save it and then change it and save it - ad-infinitum. If you don't back it up (remember it in another place), you could lose it forever (a *destroyed* lie) ... and there are always consequences . A person that ALWAYS lies (a liar) you can usually spot right away. Concentrated lieing takes far too much remembering - and with every new lie comes a requirement to remember and the consequen...