Database geekery
May. 29th, 2003 04:22 pmI'm looking for database wisdom.
Database modellers often refer to "third normal form". Does this imply a first and second normal form. How are these levels defined?
I'm looking for database wisdom.
Database modellers often refer to "third normal form". Does this imply a first and second normal form. How are these levels defined?
Re:
Date: 2003-05-30 09:14 pm (UTC)I hope you weren't relying on a little LJ conversation to design a major database. A data architect's experience is called for in these matters.
(no subject)
Date: 2003-05-31 10:00 pm (UTC)I hope you weren't relying on a little LJ conversation to design a major database.
No. Although I've had more than my fair share of designing databases. Like most computer knowledge I have, I learned databases through School of Hard Knocks. Often I'm missing some basic definitions, and this was one of them.
Re:
Date: 2003-06-01 06:51 pm (UTC)What I have learned, by listening to and reading a lot of more experienced data geeks, is that normalization is a crock. There are various examples of normalized-but-ridiculous design. There are more circumstances to denormalize than to normalize. The normalization rules say nothing about subtyping/inheritance, which is used to remove redundancy in many circumstances (but cannot be implemented in RDBMSes). And scientific normalization can only be done correctly after the semantics of the data are artfully defined.
Third normal form is mainly useful when cleaning up "really messy" or "flat" or "legacy" databases, and it should be treated as a general goal not as a nirvana state.
Now if only I could convince the Evil Project Manager of all the things I just said. He thinks normalization is nirvana, and that I am an incompetent loony for modelling "intuitively". I wish I had solid mathematical arguments for my position!