• RBarryYoung (1/23/2010)


    David Portas (1/22/2010)


    All the conventional Normal Forms apply exclusively to relations with values, never nulls. In fact normalization predates the invention of SQL and nulls. So you can't say that any table with a null represents a relation in Normal Form.

    This just is not true David. E. F. Codd himself championed the use of Nulls in Relational DBMS's and if he saw no problem with it, then I sure do not.

    I already mentioned that in later years Codd did champion the use of nulls (more precisely he championed the use of I-marks and A-marks and was less happy with SQL-style nulls). See the references in my previous reply. That doesn't alter the fact that the normalization and normal forms predate the invention of nulls. NFs 2,3,BCNF,4,5,6 therefore deal only with relations with values, never with nulls.

    I'm not sure what it is you are disagreeing with. I'm always happy to learn where I'm wrong but I think the chronology is pretty indisputable. The fact that the dependency theory on which normalization is based excludes the possibility of nulls is also pretty clear and uncontroversial as far as I know (see my previous quotation for Codd's own view). What am I wrong about?

    P.S. Codd did in fact acknowledge and write about some problems with his later attempts to retro-fit null marks and other features into the RM (his "RM version 2"). Arguably he created more problems than he solved. That may partly explain why as far as I know Codd's RM V2 model has never been implemented and it has been neglected by both the scientific and industry communities.