Re: The Practical Benefits of the Relational Model

From: Paul Vernon <paul.vernon_at_ukk.ibmm.comm>
Date: Fri, 8 Nov 2002 18:05:33 -0000
Message-ID: <aqgueu$uac$1_at_sp15at20.hursley.ibm.com>


"Leandro Guimarăes Faria Corsetti Dutra" <lgcdutra_at_terra.com.br> wrote in message news:aqg6vi$9nj79$2_at_ID-148886.news.dfncis.de...
> Paul Vernon wrote:
>
> > The idea being (I think) that any two projections that have the same
> > predicate should also have the same value.
> >
> > So if we have P (Part PART_#, Part_name STRING) S (Supp SUPPLIER_#,
> > Part PART_#)
> >
> > Then SELECT Part FROM S should equal SELECT Part FROM P
> >
> > as they have the same predicate.
>
> But, they do? The predicate to a relvar would be all its constraints.
> Without knowing all the constraints to P and S, we can't know if their
> projections on Part have the same predicate.

I tend to use the closed world assumtption when I speak. I.e. if I do not mention something, then assume it not to be true. In this case, I assumed that P & S have no other constraints than the ones mentioned. So

So to repeat
with
P (Part PART_#, Part_name STRING)
S (Supp SUPPLIER_#, Part PART_#)
and S.Part -> P.Part and P.Part -> S.Part

then

    SELECT S.Part FROM S
has the constraint

    S.Part and S.Part -> P.Part and P.Part -> S.Part

and

    SELECT P.Part FROM P
has the constraint

    P.Part and S.Part -> P.Part and P.Part -> S.Part

implies

    S.Part and S.Part -> P.Part and P.Part -> S.Part = P.Part and S.Part -> P.Part and P.Part -> S.Part

Does it not?

My point is that the predicate for both SELECTs can, and should be reduced to just:

    Part

Regards
Paul Vernon
Business Intelligence, IBM Global Services Received on Fri Nov 08 2002 - 19:05:33 CET

Original text of this message