Re: Clean Object Class Design -- What is it?

From: Bob Badour <bbadour_at_golden.net>
Date: 23 Jul 2001 18:10:39 -0700
Message-ID: <cd3b3cf.0107231710.b1a11a4_at_posting.google.com>


> > >In a logical model an OID is a value (who says it's a pointer?), in the
> > >physical model it could be a pointer or something completely different.
 In
> > >what fundamental manner does an 'object identifier' differ from a
 'primary
> > >key' in the relational model?
> >
> >
> > Well, for a start, one cannot use the same OID 'value' to identify
 multiple
> > things,
>
> The relational model requires that a PK k in a Relation R i.e. the
> combination (R, k) uniquely identifes a single tuple. We could apply an
> analagous minimal requirement in a conceptual object model that an OID
> uniquely identifies an instance within a class extent. System wide or
> (uinversal) uniqueness is a stronger but not necessarily essential
> constraint.

Since real-world objects often share unique identifiers with other real-world objects, why should the DBMS enforce an artificial and incorrect "constraint"? Yet, all non-relational ODBMS products that I have seen enforce this constraint.

> > and most systems do not treat them symmetrically.
>
> Can you please explain what you mean by this?

In a relational database, the logical identifier is as useful for identifying referencing relations as it is for identifying referenced relations. Most non-relational ODBMS products use OID to identify referenced objects only. Received on Tue Jul 24 2001 - 03:10:39 CEST

Original text of this message