<- Back
Comments (43)
- tadfisherI love reading about the normal forms, because it makes me sound like I know what I'm talking about in the conversation where the backend folks tell me, "if we normalized that data then the database would go down". This is usually followed by arguments over UUID versions for some reason.
- jerfIn a roundabout way this article captures well why I don't really like thinking in terms of "normal forms", especially as a numbered list like that. The key insights are really 1. Avoid redundancy and 2. This may involve synthesizing relationships that don't immediately obviously exist from a human perspective. Both of those can be expanded on at quite some length, but I never found much value in the supposedly-blessed intermediate points represented by the nominally numbered "forms". I don't find them useful either for thinking about the problem or for communicating about it.Someone, somewhere writing down a list and that list being blessed with the imprimatur of Academic Approval (TM) doesn't mean it is actually useful... sometimes it just means that it made it easy to write multiple choice test questions. (e.g., "What does Layer 2 of the OSI network model represent? A: ... B: ... C: ... D: ..." to which the most appropriate real-world answer is "Who cares?")
- minkeymaniacNormalize till it hurts, then denormalize till it works!
- QuarrelsomeEspecially loved the article linked that was dissing down formal definitions of 4NF.
- cremerThe numbered forms are most useful as a teaching device, not an engineering specification. Once you have internalized 2NF and 3NF violations through a few painful bugs, you start spotting partial and transitive dependencies by feel rather than by running through definitions. The forms gave you the vocabulary. The bugs gave you the instinct..
- iFirehttps://en.wikipedia.org/wiki/Essential_tuple_normal_form is cool!Since I had bad memory, I asked the ai to make me a mnemonic:* Every* Table* Needs* Full-keys (in its joins)
- estetlinusThe lost art of normalizing databases. ”Why is the ARR so high on client X? Oh, we’re counting it 11 times lol”.I would maybe throw in date as an key too. Bad idea?
- akdev1lMy brain has been blunted too far due to dynamodb and NoSQL storage usage and now I can’t even normalize anymore
- carlyailove this
- DeathArrowThere are use cases where is better to not normalize the data.