Re: two nasty schemata, union types and surrogate keys

From: Brian <brian_at_selzer-software.com>
Date: Tue, 20 Oct 2009 06:14:27 -0700 (PDT)
Message-ID: <b7255f1b-a288-4cde-9b49-099b5aa57106_at_g31g2000vbr.googlegroups.com>


On Oct 19, 10:19 pm, David BL <davi..._at_iinet.net.au> wrote:
> On Oct 20, 7:30 am, Brian <br..._at_selzer-software.com> wrote:
>
>
>
> > Under the closed world intepretation, every formula that can be
> > represented in a table is assigned a truth value--positive for those
> > that are actually represented in the table and negative for those that
> > aren't, but under the open world interpretation, only those that are
> > actually represented are assigned truth values.  Let's put it another
> > way: either it is supposed to be true or it is known to be true.
> > Under the closed world interpretation, what is represented is supposed
> > to be true, but under the open world interpretation, what is
> > represented is known to be true.  Bottom line: it would be pointless
> > to suppose that what is represented is known to be true.
>
> Consider two external predicates p1, p2 (where "external" means they
> are informally described in natural language) satisfying
>
>     for all X, p1(X) --> p2(X)
>
> E.g.
>
>     p1(X) :- X is a frog currently on display in
>         the San Diego zoo
>
>     p2(X) :- X is an amphibian currently on display
>         in the San Diego zoo
>
> A relvar recording p1 under the CWA can also be regarded as recording
> p2 under the OWA.

Not a good idea. p1 implies p2 but p2 does not imply p1. Consider:

    p3(X) :- X is a salamander currently on display

        in the San Diego zoo

It would be best to represent p1, p2 and p3 as separate relation schemata. The implicative relationships from p1 to p2 and from p3 to p2 would then be best represented as inclusion dependencies.

> Putting it another way, it is often the case that by "narrowing" the
> external predicate one can turn an OWA into a CWA.
>
> E.g. there may be a relvar for which the following gives an OWA:
>
>     p2(X) :- X is currently an employee of Acme Co
>
> whereas the following gives a CWA:
>
>     p1(X) :- It is known to the HR department that X is currently
>         an employee of Acme Co.

In this example, p1 is closed with respect to what is known to be true, not what is supposed to be true. The open world interpretation therefore still applies with respect to whether X is currently an employee of Acme Co. It is possible for there to be an employee that the HR department doesn't yet know about. (Catbert may be taking a day off.) As a consequence, it would be incorrect to assume that the only employees that there are are those that are known to the HR department. The limitations associated with applying the open world interpretation do not disappear when a relation is closed with respect to what is known. Received on Tue Oct 20 2009 - 15:14:27 CEST

Original text of this message