Re: teaching relational basics to people, questions

From: Mr. Scott <do_not_reply_at_noone.com>
Date: Tue, 15 Dec 2009 12:40:29 -0500
Message-ID: <t5CdnTbkuPuTV7rWnZ2dnUVZ_vGdnZ2d_at_giganews.com>


"Roy Hann" <specially_at_processed.almost.meat> wrote in message news:NpSdnXvYDN2C-7rWnZ2dnUVZ8kCdnZ2d_at_pipex.net...
> Mr. Scott wrote:
>
>>
>> <compdb_at_hotmail.com> wrote in message
>> news:f8fb0e4b-100a-4466-b968-5099852ecaa4_at_2g2000prl.googlegroups.com...
>>> On Dec 11, 1:29 pm, Kevin Kirkpatrick <kvnkrkpt..._at_gmail.com> wrote:
>>>> Hello Mr. Scott,
>>>> If I'm understanding your explanation properly, in a database with
>>>> only table:
>>>> BIG_US_CITIES {CITY_NAME, STATE_CODE}
>>>> (that is, lacking table STATES {STATE_CODE}) one must logically infer,
>>>> from the CWA, that states with no big cities, e.g. 'RI', do not exist?
>>>
>>> On Dec 11, 1:36 pm, Gene Wirchenko <ge..._at_ocis.net> wrote:
>>>> Effectively yes.
>>>
>>> On Dec 11, 8:15 pm, "Mr. Scott" <do_not_re..._at_noone.com> wrote:
>>>> There isn't anywhere to record the assertion that there is a
>>>> state with no big cities, so there can't be any.
>>>
>>> It is more reasonable to say that the database is silent about the
>>> existence of states and cities. But even if it did, the inference that
>>> some state doesn't exist is wrong.
>>
>> No, it isn't wrong. An assertion that there is a state with no big
>> cities
>> is inconsistent with the definition of the database: it cannot be true.
>
> I really do hesitate to comment on this ever more imbecilic thread, but
> this is a kind of discussion that always gets my goat.
>
> Relational databases (and being generous, I will include SQL databases)
> use logic and set theory to manage human testimony about the world. We
> are not required to deny our own certain knowledge to satisfy the
> machinations of the DBMS. It is the DBMS that is constrained to use the
> closed world hypothesis, not us. But knowing that it is constrained in
> that way, we are obliged to design databases to accomodate what we
> know is true, and to never tell us anything we know is untrue.
>
> But we have to accept that a DBMS can't tell us all that we know is
> true. We human users are never obliged to use a closed world when we
> interpret the result of a query.
>

You're missing the point. The constraints that define the database clearly and precisely specify what can and cannot be true in the context of the database. That context is the micro-world that the database is supposed to model, which may or may not be a subset of the real world. It might even be a completely fictional world, but within that context, only assertions that are consistent with the definition of the database can be true. The above mentioned database is concerned only with states with big cities because there is only a place for assertions about states with big cities, and in that context, there can be no states with no big cities--even though we know that in reality there are indeed states with no big cities.

> --
> Roy
>
>
Received on Tue Dec 15 2009 - 18:40:29 CET

Original text of this message