• JimTheWhip (6/30/2011)


    I started to forward this to a colleague who is just starting to design databases. After reading it thoroughly I thought better of it. I think the author has just started designing databases himself.

    You would be wrong by something over 40 years, then; or if you want to restrict to relational databases, something well over thirty years but not as many as forty. 😎

    Why in an article about designing a database would you confuse it by saying it's ok to denormalize columns if the application is going to take care of it.

    1NF is only concerned with what the relational calculus language sees and manipulates, not with things which may or may not be done elsewhere. So I'm not advocating any form of denormalisation, just saying that atomicity (so far as the relational calculs is concerned) is what's in question.

    Do you think it would make any difference if the list of numbers were encrypted in such a manner that the relational calculus language could not tell that it's a list? If so, why?

    Fortunately the (approximately) relational calculus language we mostly use, SQL, has no list manipulation features built in so it's absolutely clear that if a list (of something other than characters) is held in a table and sometimes is (or at some point in the future is likely to be) deconstructed using (for example) SQL character string functions then the relation is not in 1NF. That, I think, is what people need to understand.

    Tom