# Re: Object-relational impedence

Date: Sun, 9 Mar 2008 11:04:16 -0700 (PDT)

Message-ID: <b5ab6022-5cea-45a1-9e64-fe2b3a04e8de_at_e6g2000prf.googlegroups.com>

On Mar 9, 9:13 am, "Yagotta B. Kidding" <y..._at_mymail.com> wrote:

*> S Perryman <q..._at_q.com> wrote innews:fr0hft$8gf$1_at_aioe.org:
**> > Yagotta B. Kidding wrote:
**> >> S Perryman <q..._at_q.com> wrote innews:fqpj0o$lke$1_at_aioe.org:
**>
*

> > TN>In the other message

*> > TN>you dismissed projection as being covered by the concept of
**> > TN>subclassing.
**>
**> > SP>No. Projection is covered by *type substitutability* .
**>
**> > TN>Can you please be more specific? If we remove some [data]
**> > TN>attributes, does it mean the resulting "entity" is a subclass.
**>
**> >>>No, merely that the resulting entity is now deemed to be of
**> >>>another type, substitutable with the original type.
**>
**> >>>type T
**> >>>{
**> >>> x, y, z
**> >>>}
**>
**> >>>Set<T> ts ;
**> >>>Set< type { x, y } > ps = { e IN ts : e.x > 123 } ;
**>
**> >>>The elements of ps are effectively projections of the elements in ts.
**>
**> >> Hold on, you have a value of type Set<T> assigned to a variable of
**> >> type Set<type{x,y}>.
**>
**> > Basic type substitutability (structural equivalence) .
**> > The { x, y } type has properties in common with T (the x/y properties)
**> > . Therefore the assignment is legal.
**>
**> > So the assignment is a projection is of a type (x,y,z) to a type (x,y)
**>
**> In any OO langauage I am familiar wth, you can assign a subtype value
**> to a supertype variable. However, you did not establish any
**> subtype/supertype relationship in your example, therefore, the
**> assignment is illegal.
*

> Even when you establish such relationship, no projection really takes

*> place, the information is still there, it's just hidden, as can
**> easily be seen by casting back to the original subtype.
*

Marshall Received on Sun Mar 09 2008 - 19:04:16 CET