# Re: Proposal: 6NF

From: J M Davitt <jdavitt_at_aeneas.net>
Date: Thu, 12 Oct 2006 03:46:52 GMT

Brian Selzer wrote:

```> "Hugo Kornelis" <hugo_at_perFact.REMOVETHIS.info.INVALID> wrote in message
> news:bjidi29k8crgbrh536l9t3et41chha1i1n_at_4ax.com...
>
```

>>On Fri, 06 Oct 2006 08:32:36 GMT, Brian Selzer wrote:
>>
>>
>>>"JOG" <jog_at_cs.nott.ac.uk> wrote in message
>>>
>>>>Brian Selzer wrote:
>>>>
>>>>>"JOG" <jog_at_cs.nott.ac.uk> wrote in message
>>>>>
>>>>>>All of your points represent a wild goose chase in my eyes Brian. A
>>>>>>proposition with a NULL in it is no proposition at all. From a
>>>>>>logical
>>>>>>perspective, case closed. A relation tuple with a NULL in it is no
>>>>>>relation tuple at all. From a mathematical perspective, case closed.
>>>>>>Trying to invoke the 'kludge perspective' is hardly going to convince
>>>>>>a
>>>>>>theoretical newsgroup.
>>>>>>
>>>>>
>>>>>Is the empty set a value? Yes, it is. So why can't a null be?
>>>>
>>>>Because an empty set is a value and a NULL is not.
>>>>
>>>
>>>Why not?
>>
>>Hi Brian,
>>
>>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.
>>
>>But since this is a discussion about relational databases, I'll assume
>>the standard definition of NULL for relational databases unless you
>>specifically state otherwise.
>>
>>(snip)
>>
>>>The empty set /indicates/ the absence of a value, yet it /is/ a value; a
>>>null /indicates/ the absence of a value, yet it /isn't/ a value? Why the
>>>double standard?
>>
>>Wrong. The empty set *IS* a value. It's domain is the domain of sets. A
>>set is a value that can hold zero, one or more values of a specified
>>domain. The empty set happens to hold a zero number of values.
```>
>
> Hi, Hugo.
>
> I believe I said that the empty set *IS* a value.  It's abstract, but it is
> a value.  The set of all sets does not exist; therefore, the domain of sets
> does not exist.  Consequently, the empty set does not have a domain.  It has
> an abstract type, however.
>
>
```

>>NULL is a marker that says "no value here". If NULL would appear in a
>>column that is defined to use datatype "set" (not sure if any product
>>supports it and not sure if I'd want it, but bear with me), then it
>>would still be different from an empty set. Kinda like the difference
>>between "the suitcase is empty" and "where's the &*(^^%#\$ suitcase!"
>>
```>
>
> Ø is a symbol that says, "no value here."  The empty set is defined in terms
> of values, and its existence depends on the existence of other values.  It's
> a purely structural abstract value.  So is a null.  The only real difference
> I can see between a null and the empty set is that null is always decorated
> with an attribute name whereas the empty set can stand on its own.  A
> relation is a named set of sets of named values, so every atomic value in a
> relation is decorated with an attribute name.

```

What does the above paragraph mean?

Are we really to conclude that null, decorated with an name, can exist as an atomic value in a relation and means, "no value here?"

You're kidding, right? Is this a bit of satire that's supposed to illustrate the absurdity of NULLs?

Or are you demonstrating that the metaphysical approach is the best way to address this topic? It seems that a purely structural abstract value - which can be called null if suitably decorated - is, in fact, no value at all and, indeed, depends on the existence of other values which, of course, must not be no value at all. It is, after all, only because there are values that we can speak of the absence of values, right? I mean, there couldn't be vacuum if there wasn't not a vacuum, right?

Right!!

And Satre thought this shit was hard to figure out...

Ha! Received on Thu Oct 12 2006 - 05:46:52 CEST

Original text of this message