Re: Nulls, integrity, the closed world assumption and events

From: David <davidbl_at_iinet.net.au>
Date: 13 Jan 2007 17:36:11 -0800
Message-ID: <1168738571.133794.28740_at_38g2000cwa.googlegroups.com>


David wrote:
> JOG wrote:
> > David wrote:
>
> > > IMO the RM is founded first and foremost on mathematical logic, and
> > > therefore stating any proposition that is actually wrong must be
> > > avoided. This is also why I think nulls are bad.
> > >
> > > Whilst on the subject of nulls, I have seen a paper written in '83
> > > by Carlo Zaniolo that suggests nulls can represent "no information"
> > > (which encompasses all the more specific interpretations such as
> > > "unknown" and "non-existent"), and this appears to lead to a
> > > decent mathematical model, unlike Codd's 3vl which is far from
> > > compelling.
> >
> > Interesting. However I'd contest that there can any concept of 'missing
> > information' at all at the logical level (where either we know a fact
> > or we don't). It seems to me that information may only be deemed
> > 'missing' at the conceptual level, and that for the database layer
> > proper the term is a misnomer that causes a lot of confusion.
>
> I agree that propositions *must* by definition not allow nulls, and
> this is not negotiable. However perhaps it is reasonable to store
> tuples with nulls such that we clearly understand its meaning because
> of a formalised rule for how to extract all the underlying propositions
> which are closer to 6NF.
>
> Consider the predicate (ie boolean valued function) p(x1,...,xn,
> y1,...,ym) where x1,...,xn comprise the primary key. Logically we can
> always introduce 6NF predicates
>
> p1(x1,...,xn,y1)
> ...
> pm(x1,...,xn,ym)
>
> The latter allow for partial knowledge of the yi. If we assume this
> relationship from the outset, can we regard nulls in the original
> predicate p as merely an alternative representation of the same thing?
>
> In this case null means "associated 6NF proposition is missing". My
> guess is that this is equivalent to Zaniolo's definition.

The above isn't quite right. An additional underlying 6NF predicate is required in case all the yi are null, in order to state the existence of the key.

    p'(x1,...,xn)

It is interesting how the use of nulls avoids the redundancy in representation of the key. In that sense 5NF+nulls has less redundancy than 6NF! Received on Sun Jan 14 2007 - 02:36:11 CET

Original text of this message