Re: Nulls, integrity, the closed world assumption and events

From: dawn <dawnwolthuis_at_gmail.com>
Date: 12 Jan 2007 11:39:01 -0800
Message-ID: <1168630741.658149.28900_at_a75g2000cwd.googlegroups.com>


JOG wrote:
> David wrote:
>
> > Brian Tkatch wrote:
> > > David wrote:
> > > > Brian Tkatch wrote:
> > > > > Cimode wrote:
> > > > > > David wrote:
> > > > > > > Consider the following relation
> > > > > > >
> > > > > > > person(P,M,F) :- person P has mother M, father F.
> > > > > > >
> > > > > > > By induction a non-empty
> > > > > > > database would have to be infinite.
> > > > > > A false premise makes all deductions coming from it false. Closed
> > > > > > World Assumption does not say anything about the number of element that
> > > > > > belong to a domain of values from which one attribute values are
> > > > > > derived. In the case of a *person* domain, the number of elements in
> > > > > > the set is certainly finite. Therefore, the number of propositions
> > > > > > involving person as an attribute is limited as well.
> > > > >
> > > > > Would not the question be better stated:
> > > > >
> > > > > If a table lists linked chains (with the linked-to link), how is the
> > > > > final link (whether first or last) stated?
> > > > >
> > > > > In such a case i link the item to itself.
> > > >
> > > > You suggest a proposition stating that a person is their own
> > > > mother/father?
> > >
> > > Yes.
> > >
> > > In a cause-effect table that records all causes and effects has to
> > > assume a circular relationship for either the prime cause or (current)
> > > final effect.
> > >
> > > If the table in question here was to denote parents and their children,
> > > there would be allowance for an entry of no children, thus ending the
> > > chain. However, the case here is people and their parents, without the
> > > option of no parent.
> > >
> > > This means the chain must be circular, the question is to which link.
> > > Being it would create an impossible relationship for a parent to have a
> > > child as his parent, the circular relationship must be to itself.
> > >
> > > So yes, i would indeed suggest a proposition stating that a person is
> > > their own parent.
> >
> > Do you suggest this by analogy to algorithms and data structures
> > (written in C++ for example) that use the same technique?
> > Interestingly the more common approach is to use null pointers.
> >
> > IMO the RM is founded first and foremost on mathematical logic, and
> > therefore stating any proposition that is actually wrong must be
> > avoided. This is also why I think nulls are bad.
> >
> > Whilst on the subject of nulls, I have seen a paper written in '83
> > by Carlo Zaniolo that suggests nulls can represent "no information"
> > (which encompasses all the more specific interpretations such as
> > "unknown" and "non-existent"), and this appears to lead to a
> > decent mathematical model, unlike Codd's 3vl which is far from
> > compelling.
>
> Interesting. However I'd contest that there can any concept of 'missing
> information' at all at the logical level (where either we know a fact
> or we don't). It seems to me that information may only be deemed
> 'missing' at the conceptual level, and that for the database layer
> proper the term is a misnomer that causes a lot of confusion.

The proposition modeled could be

John Doe, with id 12345, has no cars of which we are aware.

The meaning of the instance of

Person(id,name,cars)

that represents id=12345 name=John Doe cars=null=empty set is that we know that the name of person 12345 is John Doe and he has no cars of which we are aware. We can drop the "of which we are aware" for most purposes, since all data collected is only that of which we are aware.

This approach works very well with two-valued logic, permitting us to equate the empty set with the empty set. If you need more information than this gives, then add attributes to collect more information (such as a date on which the cars attribute value was verified). --dawn Received on Fri Jan 12 2007 - 20:39:01 CET

Original text of this message