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

From: Bob Badour <bbadour_at_golden.net>
Date: Sat, 21 Jul 2001 22:33:32 -0400
Message-ID: <45r67.32$ZN7.10214417_at_radon.golden.net>


>> It might be a very good application programming environment with SQL
>> connectivity, but I would not consider it a DBMS.
>
>GemStone is a programming environment that fully supports ACID transactions
>with optimistic and pessimistic concurrency models on a self-contained
>repository. SQL connectivity (in either direction) is not a fundamental.

You said it right up front: GemStone is a programming environment and not a database management environment.

>What features is GemStone lacking to be considered a DBMS?

It's not the features it lacks that concern me. The unecessary features that pollute the logical model concern me.

>> >If it is identity-based, then they can be done very quickly.
>>
>> Becasue candidate keys provide identity, any method using them is
 identity
>based as well.
>
>> >As you suggest, the price to using identity-based set operations can be
 duplicated records
>>
>> Not if you correctly choose your identifier(s).
>
>The Smalltalk model makes a distinction between identity (which is a
>physical concept) and equality (which is a logical concept).

I have to disagree with SmallTalk's model. Identity is a logical concept and not (necessarily) a physical concept.

>> >This has been my quandry: do I give up developer and
>> >application efficiency in order to support a rather dubious industry
>> >standard?
>>
>> I would suggest abandoning the dubious standard, SQL. However, I would
>> abandon the standard by truly embracing the relational model.
>
>How would you go about doing this? My preference would be to start with an
>environment like GemStone (where the bulk of the hard work around data
>integrity has been done already) and use it as an implementation basis for
>the relational model.

One can implement a relational database management system using just about any programming environment. I have no opinion regarding GemStone's suitability for this purpose; however, I did not see anything about GemStone that would provide it any advantage with regard to data integrity.

>Minsky
>criticizes predicate calculus as being insufficiently expressive for
>knowledge representation (see
>ftp://publications.ai.mit.edu/ai-publications/0-499/AIM-306.ps).

I had no joy with the link above.

>I have some reservations about the relational model because relations do
 not
>support the concept of a relationship

What the hell do you think tuples do besides establish relationships among object values?

>> Unfortunately, they made some huge fundamental mistakes in their
>> implementation of inheritance. Inheritance applies to domains and not to
>> relations.
>
>Why can inheritance not apply to relations as well?

Because relations are sets and not object classes. Received on Sun Jul 22 2001 - 04:33:32 CEST

Original text of this message