Re: All hail Neo!



Frank Hamersley wrote:

Bob Badour wrote:

Frank Hamersley wrote:

Bob Badour wrote:

Frank Hamersley wrote:

Bob Badour wrote:

[..]

In that line of thought, here's an interesting question that Date et al have posed before to the n-VL folks:

If "exists but empty" is true and "doesn't exist" is false, what is null?

Neither and both!

I find that sort of handwaving to be a complete non-answer.

I suspect you are wearing the darkly tinted glasses of preconception. Whilst I was trying to show a little wit, the current 3VL state of affairs still seems to me to fit that description.

A much more intellectually honest reply would be: "I don't know."

Not from this black duck (on this occasion)!

or "Null has no similar analog in set theory."

I wasn't comparing/contrasting the RM with set theory. Perhaps for you it is implicit?

No, it is quite explicit.

I am quite interested in exploring this area so please bear with me as my analysis is heavily tainted with practical experience and less (recently) so with formal theoretical studies. My response may be somewhat affected by the serial reading and responding to your post and I never feel comfortable with long posts when it finally is time to click send!

Relations are sets.

ALL relations are sets?

Yes, ALL relations are sets of tuples. SQL tables are not relation variables and do not contain relations.


My gut feeling is that this is not true. I
recognise that I hold to this because I view it from the damaged goods position (aka SQL) or the RM as propounded by Codd, rather than from a sounder theoretical starting point.

RM/V2 seems flawed to me. I am not sure whether I have ever found a complete copy of RM/T. Did Codd ever advocate null prior to RM/T? Did he ever drop the requirement for logical identity?


I understand this puts us at odds
from inception. From there I expect anything brought to this issue by theory will be elegant, symmetrical _and_ compelling.

Relations are elegant, symmetrical and compelling. Bags and null are none of those.


[2nd editing]
Having read the texts, below I felt inclined to retract the above para, but then decided to leave it so you could form your own view on how wacky my thinking might be. That said perhaps the fact that nulls do exist in the RM today taken with your confirmed view that they shouldn't (from a theoretical basis) is implied confirmation of my rather unlikely original thought...he says stepping back two full paces - did I write that?

Whether nulls exist in the RM today is a topic of some controversy.


Relational algebra is the equivalent of set theory, and relational calculus is the equivalent of predicate calculus.

I have no beef here.

With null or without logical identity, they lack the equivalences mentioned.


Thus, the equivalence of dee and true and of dum and false are very important. And the question of what relation value equates to null is a very good question.

Lets put that aside until the first question has been addressed.

Shall we get back to this now?


True and 1 both have the exact same analog in set theory. False and 0 both have the exact same analog in set theory.

Perhaps but insistence on a parallel form for the RM does not seem to lead anywhere practical*...FWICT.

Are you suggesting that query transformations lack practical benefits?

No sure where you are going here, can you be specific or illustrate?

The equivalence between relation values and boolean values facilitates certain query transformations such as between a union and an 'or' predicate and vice versa.


This has a certain elegance and symmetry.

I agree that and readily subscribe to that in my own endeavours.

In canonical form:

{} = 0 = false
{{}} = 1 = true

What is the similar analog for null?

My prior knowledge of your/the notation is non existent but I can prolly deduce its intent. So having a stab at it how about ...

{}{} = null

{} is the empty set and is the set with cardinality 0.
{{}} is the set containing an empty set and is the canonical form of all sets with cardinality 1.
{{},{{}}} is the canonical set with cardinality 2.
http://www.math.psu.edu/simpson/papers/philmath/node17.html

Interesting read. However it seems the jury is not even cloistered yet! I quote "The implications of this idea are not yet fully understood and are a topic of current research". Of course, this is from a web page ;-)

Goedel established limitations to formalism as the foundation of mathematics, and I am not sure that philosophy is meant to have an endpoint.


One can continue in this vein until Goedel stomps on one.
http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems

OK - it reminds me of a statement made in undergrad science that "you don't prove a hypothesis, you can only disprove it". Of course Godel is more complete than that.

LOL


With respect to {}{} either it is completely meaningless, or perhaps you intend the juxtaposition of two sets to mean conjunction or disjunction, in which case:
{}{} = {} = false

It was just a wild punt - the intent was to suggest that two empty sets were distinct and that their intersection was indefinable.

One wonders in what way they are distinct. Is 1 distinct from 1? Is 0 distinct from 0? Obviously, as values, they are indistinct. One must then posit that they differ in location. However, a single attribute within a single tuple within a single relation variable has a unique logical location. How then can null equate to two locations? What then does it mean when the null appears in a derived value which has no location at all?


If null and false are the same, we can do away with null.

They aren't but I guess it may be feasible to do away with null in the truth table ie. null implies false. I expect you would still need its physical presence in the manifestation of tables/relations.

If null is not the same as false, then it is not the same as {}. Does it then have an equivalent set representation?


As an aside (and with no malice aforethought) I am curious why the 0 and 1 figure at all? Forced to conform I would probably go with ...

{}{} = -1 = null

0 and 1 figure by tying into the formalism for whole numbers as shown above.
http://en.wikipedia.org/wiki/Foundations_of_mathematics

I direct your attention to:
http://en.wikipedia.org/wiki/Formalism#Mathematics

"Complete formalisation is in fact in the domain rather of computer science."

And finally, the relational model is itself a formal system:

http://en.wikipedia.org/wiki/Formal_system

See also:
http://en.wikipedia.org/wiki/Category:Mathematical_logic


Thanks for the pointers - admittedly I have only limited time and have had to skim through the material, however it was apparent that there remains substantial areas where consensus has not been achieved (yet).

I suspect your statement is true of all of mathematics and in fact of all fields of study.


* (for another post perhaps) I don't see any great leap forward in the aspects of TTM that address the extinction of nulls.

If nulls cause great damange without serving any particularly useful purpose, why should one address their extinction?

No quite sure what your thrust is here, perhaps you would like to edit it given the damage (sic) it has suffered? In advance of that, I can state that I don't hold that nulls cause _great_ damage (although neither does Semtex in capable hands for a proper purpose) and I certainly believe (at this point) that they do serve a purpose.

Are you familiar with Date's various _Writings..._ books? He and Darwen and others have demonstrated that null causes great damage.

Nulls attempt to address missing information but do so with no basis in theory. I suggest that the null elixir only offers the illusion of power:
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD898.html



As to
Date and Darwens attempt to remove nulls as shown in the Tutorial-D slides it didn't seem to meet the elegance or compelling stature I mentioned before.

Missing information is messy, and we lack any theory to address it. Pretending otherwise may put the mess out of sight and out of mind, but that just makes the mess worse and the problems more surprising when re-discovered.
.



Relevant Pages

  • Re: All hail Neo!
    ... That said perhaps the fact that nulls do exist in the RM today taken with your confirmed view that they shouldn't is implied confirmation of my rather unlikely original thought...he says stepping back two full paces - did I write that? ... is the set containing an empty set and is the canonical form of all sets with cardinality 1. ... and 1 figure by tying into the formalism for whole numbers as shown above. ... I can state that I don't hold that nulls cause _great_ damage (although neither does Semtex in capable hands for a proper purpose) and I certainly believe that they do serve a purpose. ...
    (comp.databases.theory)
  • Re: All hail Neo!
    ... From there I expect anything brought to this issue by theory will be elegant, ... Bags and nulls are quite apparently not but from where I am now the null at least seems the lesser of evils viz my post in the "beautiful mind" thread. ... is the set containing an empty set and is the canonical form of all sets with cardinality 1. ... I can state that I don't hold that nulls cause _great_ damage and I certainly believe that they do serve a purpose. ...
    (comp.databases.theory)
  • P.S.
    ... > are given, then remove NULLs from the group, if there is a DISTINCT ... > whole set and not an aggregate of the data elements at all. ... > aggregates on a table with only NULLs and one that is empty. ... > set has cardinality zero, but returns an empty set of aggregations (ab ...
    (microsoft.public.sqlserver.programming)
  • Re: Alter table by adding new column with not null
    ... it doesn't allow NULLs? ... You have two options when the table is not empty: ... NULLable column and then ALTER the column to NOT NULL. ... > alter table Student add address2 charnot null; ...
    (microsoft.public.sqlserver.programming)