3 ms·
I strive to keep most things in at least the 3rd NF. Except stuff like addresses or names, those I intentionally don't push to be normalized, as they make up a
by Akronymus 1y ago
I strive to keep most things in at least the 3rd NF. Except stuff like addresses or names, those I intentionally don't push to be normalized, as they make up a single datum anyways, and normalizing creates more problems than it solves IME.
- friendzis 1y agoAddresses and names are nice, well-known examples for cross-domain data. It's not that attempts at normalizing these structural datums create problems per se, but rather there is no single true normalization, therefore wrong normalizations start causing problems.
- Akronymus 1y agoYeah, normalizing inherently introduces constraints on the data. For example, normalizing to first and last name implies no middle names/having a first and last in the first place. Also, first and last names depend on the culture. Oh and people can have more than 1 name (as in distinct names, rather than multi part names. Some cultures use different names with different social circles). Easier to just let them put their preferred name into a freeform text field.
- HelloNurse 1y agoVery importantly, the value can be adapted to its purpose. A person's name can be very different if it is to be used for credits in a publication, for a formal wedding invitation and guest list or for shipping to a specific address.
- sgarland 1y ago> Except stuff like addresses or names, those I intentionally don't push to be normalized IMO, it depends. While the idea of normalizing names is amusing, I probably wouldn't ever push for that either. For addresses, though, I would absolutely normalize everything beyond the street address. If nothing else, it enables you to quite cheaply (from a storage / memory perspective) add a lot of analytics on users that might be useful, but would be expensive to store with every record - things like city population, postal code median income, etc. And in cases where you need to have your own company's address displayed per-user (disclosures for financial products, for example), it's absolutely a good idea. A full address, especially a business one that might have a Suite, Floor, etc. can easily be 60-80 chars, which over hundreds of millions of rows, adds up.
- Akronymus 1y ago> I would absolutely normalize everything beyond the street address. If nothing else, I'd personally rather store those datums in additional fields/tables, extracted from the address.