Re: Examples of SQL anomalies?

From: David Cressey <cressey73_at_verizon.net>
Date: Thu, 10 Jul 2008 14:30:04 GMT
Message-ID: <M1pdk.1233$bn3.363_at_trnddc07>


"Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message news:48760971$0$4026$9a566e8b_at_news.aliant.net...
> David Cressey wrote:
> > "Brian Selzer" <brian_at_selzer-software.com> wrote in message
> > news:whadk.31863$ZE5.6401_at_nlpi061.nbdc.sbc.com...
> >
> >>"David Cressey" <cressey73_at_verizon.net> wrote in message
> >>news:oe9dk.1109$Ae3.832_at_trnddc05...
> >>
> >>>"Marshall" <marshall.spight_at_gmail.com> wrote in message

>
>>>news:19040b82-0130-479e-ab80-dc1f1597ac02_at_56g2000hsm.googlegroups.com...

> >>>
> >>>>On Jul 7, 1:21 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
> >>>>
> >>>>>On Jul 5, 1:09 pm, "David Cressey" <cresse..._at_verizon.net> wrote:
> >>>>>
> >>>>>>"Marshall" <marshall.spi..._at_gmail.com> wrote in message
> >>>>>
> >>news:6ad51b62-e66a-4daa-b21c-c361fd6b22f8_at_8g2000hse.googlegroups.com...
> >>
> >>>>>>>What can be meaningfully asked is determined by the schema.
> >>>>>
> >>>>>>>If the schema specifies that the weight attribute is nullable,
> >>>>>>>then the question of how much a shipment weighs in total
> >>>>>>>is a question that cannot be asked.
> >>>>>
> >>>>>>>Marshall
> >>>>>
> >>>>>>Bingo!
> >>>>>
> >>>>>However, one /can/ validly ask "please give me the minimum the
> >>>>>shipment weighs" and this may still be very useful.
> >>>>
> >>>>Well, that's assuming that all the shipments have a positive
> >>>>weight. What if we might ship helium baloons? Then you
> >>>>can't set the minimum.
> >>>>
> >>>>OK I was just having some fun there.
> >>>>
> >>>>
> >>>>>This is of course
> >>>>>not a defence of null markers (obviously not. its me), but rather
just
> >>>>>a precaution against ruling out all questions of irregular data in
> >>>>>blanket fashion. Our aim should be to provide frameworks that allows
> >>>>>us to ask these questions with syntactic correctness /and/ as
> >>>>>parsimoniously as possible.
> >>>>
> >>>>Sure.
> >>>>
> >>>>My idea of the phrasing of the sum() over a nullable weight
> >>>>is "what is the sum of the weights of the items in the shipment
> >>>>for which the weight has been entered into the db?"
> >>>>
> >>>
> >>>That is, IIUYC , the sum of all the wieghts, as far as the db knows
them,
> >>>right?
> >>>
> >>>This amounts to the "open world assumption" with regard to weights of
items.
> >>>
> >>>If one is going to adopt a "closed world assumption" with regard to
weights
> >>>of entered items, then it would seem to me that the weights column
would
> >>>have to be declared not nullable. Meaning that, if an item is entered
nto
> >>>a row, the weight column may not be left null.
> >>>
> >>>In the case of not nullable columns, this entire subthread is moot.
> >>>
> >>>Brian seems to be willing to bounce back and forth between OWA and CWA,
> >>>without making any entries in the schema to reflect which assumption is
> >>>operative. Or maybe it's just a disconnect between Brian and SQL.
> >>
> >>I don't think that's right.
> >>
> >>CWA: "If there ain't no row, then it ain't so."
> >>
> >>But there is a row:
> >>
> >>Package {{PackageNumber:12341, Weight:NULL}}
> >>
> >>Translation: there is a Package with a PackageNumber that is an element
of
> >>the set of all of PackageNumbers and with a Weight that is an element of
the
> >>set of all Weights; oh, and by the way, the PackageNumber happens to be
> >>12341.
> >
> > I disagree. Your interpretation is that a package number with no
recorded
> > weight does, in fact, have a weight drawn for the set of all weights is
an
> > interpretation on your poart of the real world. It isn't inherent in
the
> > database schema.
> >
> > There could be a database schema where a NULL in the wieght column is
> > intended to convey that weight is inapplicable to this given package
number.
> > This is the same information that would be conveyed by omitting a row in
a
> > table that consists only of {PackageNumber, Weight}.
> >
> > NULL means that there is no data here. It doesn't necessarily mean that
the
> > value is unknown.
>

> The problem with that is the rules for NULL in SQL are inconsistent with
> "inapplicable".

I'm not sure what you mean by this.

Assuming you are right, I covered this ground earlier when I suggested that there could be a disconnect between Brian and SQL. I did not intend to imply that Brian was necessarily wrong if there is such a disconnect. There is even the possibility that SQL is wrong, Brian is also wrong, and there is also a disconnect between Brian and SQL. Received on Thu Jul 10 2008 - 16:30:04 CEST

Original text of this message