On 2015-09-18 03:13 AM, Keith Medcalf wrote: >> Some initial things. > >> Data needs to be kept in 1NF (or 1st-Normal-Form) which is relational >> theory speak for "Everything without a 1-to-1 relationship with the key >> field in a table, should be in another table". Many reasons for this >> (if you care to read up on some RT) but the most simple reason is: We >> can make complex extractions from 1NF data tables via JOINs, sub-queries >> and the like, but we cannot extract simple information (or de-complicate >> it) from convoluted tables. > Except for very simple cases, data in first normal form that is not also in > third or boyce-codd normal form usually has anomalous update/delete > behaviour. Although it may be complicated, one usually wants to normalize to > at least third normal. Then you can denormalize (usually for performance > reasons) and deal with the anomalies that you (re)introduce through each > denormalization step manually.
Indeed, and thank you for adding that. I seem to recall someone on this forum quoting an old adage long ago re this - something to the effect of: "Normalize until it hurts; denormalize until it works." (As long as we avoid Knuth's root of all evil: Premature optimization.) Ryan