Re: Proposal: 6NF

From: Brian Selzer <brian_at_selzer-software.com>
Date: Sun, 01 Oct 2006 00:12:28 GMT
Message-ID: <MJDTg.10094$6S3.3593_at_newssvr25.news.prodigy.net>


"David Portas" <REMOVE_BEFORE_REPLYING_dportas_at_acm.org> wrote in message news:1159638303.513871.92440_at_m73g2000cwd.googlegroups.com...
> Brian Selzer wrote:
>>
>> 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.
>
> Why does the state of "today's technology" indicate a problem with
> JOG's reasoning? If Codd had only concerned himself with the technology
> of his day then we wouldn't have a relational model at all.
>

The argument JOG made focused only on recording information, not retrieving it. Why would anyone abandon a sound mechanism that can significantly reduce the computing capacity required to answer a query?

>> NULLs are as much a theoretical nonsense as the empty set or the
>> imaginary
>> component of a complex number.
>
> Why do you say that? Imaginary numbers and empty sets are real values
> with the normal properties that mathematics and logic expects values to
> have. Nulls are not.

Imaginary numbers are real values...that's news to me!

Every value is a set and every set is a value, so what is the empty set? The absence of a value? Does that mean that the absence of a value is a value? Isn't that what a NULL represents--the absence of a value?

>... As Date has pointed out, the "Assignment
> Principle" is so fundamental that it wasn't even thought worth
> mentioning - until the designers of SQL broke it!
>

SQL broke a lot of things. Just because one data sublanguage is screwed up doesn't mean that NULLs aren't useful.

> --
> David Portas
>
Received on Sun Oct 01 2006 - 02:12:28 CEST

Original text of this message