Re: Proposal: 6NF

From: Cimode <cimode_at_hotmail.com>
Date: 8 Oct 2006 10:35:43 -0700
Message-ID: <1160328943.343444.91360_at_b28g2000cwb.googlegroups.com>


Frank Hamersley wrote:
> Cimode wrote:
> > Frank Hamersley wrote:
> >> Cimode wrote:
> [..]
> >>> 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
> >> Should I try it on Sybase ASE 12.5?
> > I personally do not work on toys to draw conclusions...Using only main
> > products...
> >
> > ORACLE + SQL Server + DB2 = 3 out of 4 db's right?
>
> Cute - you are aware of SQL Server's heritage in making that statement?
> No doubt you also appreciate Microsofts blue ribbon contribution to IT
> - expediency before quality?
SQL SERVER, ORACLE and DB2 have the same heritage then...

> >>> 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'
> >
> >> Hmmm - the last statement fails...as it should! Maybe that is why you
> >> only got 3 rows back :-).
> > No problem inserting...Seems Sybase works differently...(are constraint
> > applied automatically)
>
> Yes - you must be explicit if you wish to allow null.
NULLS are allowed on most data schemas applied today...That is a consequence of allowing NULLS at the first place...

> > A I specified it works on ORACLE, SQL Server, DB2 (try all variations
> > of NULL) .. Just make sure there is at least 1 row with field2 = NULL
> > ex:
> >
> > insert table1
> > select NULL, 'D'
> >
> >
> >>> --Query1/ The following should return ALL records whether NULL or not
> >>> select * from table1 where field2 = field2
> >> Hmmm - ASE returns all rows.
> > SQL Server, ORACLE and DB2 do not...meaning that 3 out 4 dbms consider
> > that NULL <> NULL
>
> No they all consider it so ... in your first post you mistakenly
> inserted NULL into the int attribute but crafted queries on the varchar.
> It is difficult to tell quite what your intention was - field1 as
> implied or field2 as written. Did you actually execute these statements
> on all of the platforms cited?
The fact is people can allow NULLS for various reasons and because they are allowed to...

> >>> --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?)
> >> This is wacky - trying to rationalise 3VL by clutching at 2VL thinking
> >> is very trippy.
> > Trippy? I say Bullshit...Facts are NOT 3 VL. Logically anything that
> > is not = is necessarily different
>
> That is 2VL logic - it is fallacious and it does not apply to a 3VL
> logic domain - period.
Either something equals a value either it differes from it...Are you saying that 3VL makes the previous statement false? Could you answer that precise question...

> >>> Next run...
> >>> select * from table1 where field2 <> field2 to get the NULL value and
> >> Hmmm - ASE returns no rows as I expect.
> > Of course it does not if it has not inserted any 4 th line...
> >
> >>> 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...
> >> Even allowing for your likely intent to store the NULL in field2 as ...
> >> create table table1(field1 int, field2 varchar(1) null)
> >> and
> >> insert table1 select 4,NULL
> >> the first query returns 3 rows as expected and the second returns no
> >> rows...as expected!
> >
> >
> >> QED the "Proof" crashes and burns!
> > I indicated it works on SQL Server/ORACLE/DB2...
> > If you want to verify an experiment result at least do it right....
>
> Seems to me these products you put so much stead in behave just like
> ASE...the only problem is your black and white interpretation when in
> fact there is gray as well. Sure, I accept life would be simpler if
> there was only 2 possible outcomes, but that statement does not imply
> life with 3VL is impossible.
Gray has nothing to do with math...At least not the math I am aware of...

> Cheers, Frank.
Received on Sun Oct 08 2006 - 19:35:43 CEST

Original text of this message