Re: Proposal: 6NF

From: paul c <toledobythesea_at_oohay.ac>
Date: Mon, 09 Oct 2006 23:50:02 GMT
Message-ID: <KeBWg.116524$5R2.12622_at_pd7urf3no>


Hugo Kornelis wrote:
> On Fri, 06 Oct 2006 23:29:29 GMT, paul c wrote:
>

>> Hugo Kornelis wrote:

> (snip)
>>> Because relational databases supporting NULL *define* it as a marker
>>> denoting the absence of a value. Dawn actually makes a good point about
>>> context: in C for instance, NULL has a completely different meaning.
>>> ...
>> Since it has a different meaning in C, there is no point bringing C into 
>> play here.

>
> Hi Paul,
>
> The point I was trying to make is that NULL has different meaning in
> different context. Using C as example was a bad choice, since it
> obfuscated what I was trying to convey, rather than clarifying it.
>
> The meaning of NULL in the context of SQL is also quite different from
> the meaning of NULL in Pick (and possibly other MV databases). That's
> what I wanted to write, and what I should have written in the first
> place. Much of the discussion between Cimode and Dawn appears (as I read
> it) to come from Cimode talking aboout SQL NULL and Dawn talking about
> Pick NULL - but they both think that the other is discussing the same
> NULL.
>
> This group is about databases in general, not just about relational
> databases and definitely not only about SQL. The title of this thread
> also doesn't limit discussion to SQL databases only. So it makes sense
> to specify exactly what definition of NULL you're discussing - I think
> that the Cimode-Dawn exchange would have been a lot shorter if everyone
> had done that.
>
> Best, Hugo

Hugo, that`s fair enough and sure, I don`t have any right to expect this to be a relational-only group, but I`m pretty sure when I see those two monikers that I know which one is in the RT camp.

Just an aside, C being one of the two languages I`ve spent more than passing time with, I`ve always thought of it as a watered-down machine language. This is also its strength but I suspect its ubiquity causes some people to think it is an application programming language. It can be used for that, but usually that is an expensive choice except for specialty apps (as is C++ I might add). Ie., one usually uses C to program physical machines, not applications. There is a big difference.

To me, it`s telling that some Pick afficionados might entertain a comparison with the NULL in a near-machine language like C. Whereas the

   null-less versions of the RM are not at all about physical machines.

Pick very much came out of the era when all implementations were more concerned with the machine than with the application problem. I know, I was there!

Vestiges of this mentality still exist, notably in the area of compilers and code generators where state-of-the-art still consists of programming the machine rather the application. Eg., the obvious target for compilation in the RM is as much relations-slash-tables as it is access statements or do-loops. When it comes to do-loops, my goodness, surely the cardinalities of tables would determine how many times the machine should iterate, not the programmer`s code.

paul c. Received on Tue Oct 10 2006 - 01:50:02 CEST

Original text of this message