Re: NULLs: theoretical problems?
Date: Sat, 11 Aug 2007 13:16:07 -0000
Message-ID: <1186838167.615959.138600_at_r34g2000hsd.googlegroups.com>
Hugo,
I had started to write a lot of rubbish to explain my position further. I now agree with Jan that it is a futile exercise in the absence of any formal foundation dealing with nulls.
I just want to make one remark about decomposition, using the following example. The non-relational table R where a is a key:
R
a | b | c ===|----|------- 1 | 10 | foo 2 | 20 | <null> 3 | 30 | bar
Can be "decomposed" into 2 relations having key dependencies {a}->{b} and {a}->{c} (notice I didn't say whether those dependencies were ever present in the table R):
R1
a | b ===|---- 1 | 10 2 | 20 3 | 30
R2
a | c ===|------- 1 | foo 3 | bar
Most database designers apply decomposition to some extent as part of the design process. In this sense, nullable columns indicate a decision - conscious or otherwise - to stop decomposing further, often on the pragmatic grounds that a version with nulls is somehow simpler or cheaper or more efficient to implement in a chosen DBMS. This was my original point of departure: that normalization eliminates the need for nulls.
-- David PortasReceived on Sat Aug 11 2007 - 15:16:07 CEST