Re: Proposal: 6NF

From: Cimode <cimode_at_hotmail.com>
Date: 7 Oct 2006 11:03:23 -0700
Message-ID: <1160244203.847656.254300_at_e3g2000cwe.googlegroups.com>


David Cressey wrote:
> "Cimode" <cimode_at_hotmail.com> wrote in message
> news:1160164534.301408.114420_at_c28g2000cwb.googlegroups.com...
> >
> > David Cressey wrote:
> > > "Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message
> > > news:EEtVg.1274$cz.18103_at_ursa-nb00s0.nbnet.nb.ca...
> > >
> > >
> > > >... A dbms is a formal logic system ...
> > >
> > > Bullshit.
> > Without knowing it, Barking Dog Prime means that he conceives a dbms as
> > a formal logic system that should handle missing data in a
> > deterministic manner as opposed to non deterministic method incarnated
> > by SQL NULLS. On that, he is right 100% and you are wrong.

>

> I don't know how you figure out what BD1 means if he doesn't know it
> himself.
Nope on that part his reasonning is sound.

> His words were bullshit, and I was careful to quote the exact part that was
> bullshit.

>

> Where I started from was that a DBMS should have a "systematic treatment of
> missing data". That doesn't necessarily imply that SQL's treatment is a
> good one, or that, if it is a good one, a better one cannot be devised. I
> prefer SQL's treatment
> to several alternatives I've seen, including the alternative of forbidding
> all missing data, and the alternative of treating NULL as a special value.
My advice is to dump *politically correct* approaches. SQL NULL is not a better treatment of missing data. It is poor (in a word you don't have to choose between pest and cholera). Not convinced? Tons of arguments and proofs were presented to make a case against them..Another proof, run this in SQL ORACLE, SQL Server or DB2

create table table1(field1 int, field2 varchar(1)) go
insert table1
select 1, 'A'
insert table1
select 2, 'B'
insert table1
select 3, 'C'
insert table1
select NULL, 'B'

--Query1/ The following should return ALL records whether NULL or not select * from table1 where field2 = field2 --it turns out it return 3 out of 4 records --therefore we could conclude that the system considers that NULL <> NULL Right? (opposite of = should be <> right?)
Next run...
select * from table1 where field2 <> field2 to get the NULL value and the system returns no records which is madness because the system NEITHER considers NULLS as being = NOR <> from one another...As a result, all counts on tables including NULLS can only be WRONG...I do not care whether other technologies do worse....This is bad enough...

> > The only flaw in Bob's reasonning that he simply can not imagine that
> > such formal system has a one purpose: bridge the gap between subjective
> > and collective interpretation of data and formal structual
> > representation of data. In the precise case of missing data, he can
> > not conceive that a perfectly relational system should both satisfy
> > conditions of formalism and subjectivity to be succesfull. As a
> > consequence, he can not accept a second that even if they are
> > fundamentally wrong on a logical level (with all consequences we know
> > of), NULLS are supremely succesfull into representing subjectivity into
> > a system....
> >

>

> I'm not sure what you mean by the difference between "subjective" and
> "objective". But NULLS tend to be used for two different purposes in the
> practical world. "Not Applicable" and "Not Available".
What matters most is not the purpose of NULLS whether *Not applicable*, *Not Available* or other state...It is their lack of predictability as values...No function can ever predict if Not applicable is the output..UNLESS one takes the foolish arbitrary shortcut of equating NULLS and empty set...

> Not Applicable is a commentary on the variable itself, in the context where
> the NULL is found. Example: Spouse's first name in a context where it's
> known that there is no spouse.
Stating that NULL is the empty set is the same thing as stating that NULL is a value while it is NOT. Mixing up variables and values is even worse...

> Not available is a comment on the state of knowledge of the database. This
> might be what you mean by subjective. I'm not sure.

>

> > So do me a favor, do not engage him, he is lost cause for inquisitive
> > and questionning purposes...
> >
>

> Given that he has just plonked me, the result you wish may be in the cards
> anyway.
Do not worry...I think you are confused on most points you presented but I won't plonk you... Received on Sat Oct 07 2006 - 20:03:23 CEST

Original text of this message