Basically all these boil down to “programmers believe the world is less messy and more conducive to formalization than it actually is”. And since our job is to formalize the world, can you blame us? Plus, our software is not terribly useful if we eschew all assumptions. Pounding messy data into a defined, well-understood form is arguably why we use software to handle data at all; if we didn’t do some normalization for the sake of representation, indexing, etc. we might as well just store everything on paper and let users write whatever squiggles they want.
Most of these are not about “normalization”, they’re about “accepting reality"—they’re about the definition of "well-understood”. Telling someone their name is invalid, or blowing up the second time 1:30AM happens on a certain day in October, or being unable to ship something because the customer’s address can’t be stored—that is more like ignorance and/or laziness than data handling.
Basically all these boil down to “programmers believe the world is less messy and more conducive to formalization than it actually is”. And since our job is to formalize the world, can you blame us? Plus, our software is not terribly useful if we eschew all assumptions. Pounding messy data into a defined, well-understood form is arguably why we use software to handle data at all; if we didn’t do some normalization for the sake of representation, indexing, etc. we might as well just store everything on paper and let users write whatever squiggles they want.
Most of these are not about “normalization”, they’re about “accepting reality"—they’re about the definition of "well-understood”. Telling someone their name is invalid, or blowing up the second time 1:30AM happens on a certain day in October, or being unable to ship something because the customer’s address can’t be stored—that is more like ignorance and/or laziness than data handling.