In defining a variable or a member of a database, what are we creating? We're organizing an objective. What is the objective? The state (map) of a machine.
The data complexity of the machine is subject to the code complexity of the machine, and vice versa.
Each variable implies a positive contribution to the complexity of the machine that depends on it.
Each variable is another member of the domain of the state machine representation of the subject machine.
Less is more. Minimizing variables is maximizing reliability (and broader utilities). This occurs because both programmer and user are reasoning about knowledge while interacting with the subject machine.
The machines that perform this purpose are tools. According to an interaction utility definition of a tool, minimizing complexity is maximizing utility.
How would we change our machines and their interactions to better solve the machine as knowledge reasoning tool problem.