Re: Proposal: 6NF

From: JOG <jog_at_cs.nott.ac.uk>
Date: 30 Sep 2006 13:33:38 -0700
Message-ID: <1159648418.417875.269910_at_i42g2000cwa.googlegroups.com>


Brian Selzer wrote:
> "JOG" <jog_at_cs.nott.ac.uk> wrote in message
> news:1159625559.607066.76970_at_i42g2000cwa.googlegroups.com...
> > Bob Badour wrote:
> >> Karen Hill wrote:
> >>
> >> > J M Davitt wrote:
> >> >
> >> >>Karen Hill wrote:
> >> >>
> >> >>>6NF would be a database that uses no Nulls.
> >> >>
> >> >>Um, "no nulls" is necessary for 1NF. And I
> >> >>believe someone already has dibs on "6NF."
> >> >
> >> > How so? Plenty of people have nulls in 3NF. How is no nulls necessary
> >> > for 1NF?
> >>
> >> There are basically two schools of thought on NULL. The SQL school and
> >> the consistent school. The consistent school observes that 1NF requires
> >> logical identity and what is sometimes called the Information Principle.
> >> These both require one represent all information explicitly as values,
> >> and NULL is not a value.
> >>
> >> Hence, no table with a nullable column can be in 1NF let alone 3NF. The
> >> SQL school fudges the books ignoring both logical identity and the
> >> information principle.
> >>
> >> Codd started down the SQL path with his RM V/2, but that path turned out
> >> to be the primrose path.
> >
> > I don't even need 1NF to want to discard nulls. So long as one realises
> > that the aim is simply record propositions of fact in one consistent
> > way, it becomes clear nulls are a theoretical nonsense period.
> >

>

> There is a problem with your reasoning. The aim isn't simply to record
> propositions of fact: it is also to make use of those facts. Recording
> propositions is only about 5% of the typical activity for a database.
> With today's technology, querying multiple tables is almost always more expensive
> than querying one, and a database in 6NF would force most queries to involve
> multiple tables. Even if you separated only the NULLable columns into
> different tables, the effort required to perform many simple queries can
> become impractical. For example, if you have a table with 30 columns where
> 15 are NULLable, you would need as many as 16 tables to eliminate NULLs. As
> a consequence, every query that would have involved a NULLable column would
> now require a join.
>

> NULLs are as much a theoretical nonsense as the empty set or the imaginary
> component of a complex number.
>

> > If more people were taught this at the start of their database
> > education, perhaps we could get away from the 'plugging holes in a
> > table' syndrome that does so much damage.
> >

Congratulations on proving my point. Received on Sat Sep 30 2006 - 22:33:38 CEST

Original text of this message