Re: Proposal: 6NF

From: Brian Selzer <brian_at_selzer-software.com>
Date: Sun, 01 Oct 2006 00:51:41 GMT
Message-ID: <xiETg.7591$vJ2.7238_at_newssvr12.news.prodigy.com>


"JOG" <jog_at_cs.nott.ac.uk> wrote in message news: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.
>

In what way did that prove your point? Received on Sun Oct 01 2006 - 02:51:41 CEST

Original text of this message