Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!vixen.cso.uiuc.edu!uchinews!news
From: kit@delphi.bsd.uchicago.edu (Kit Transue)
Subject: Re: Support for Inheritence in VW Objec
Message-ID: <1994Dec14.151404.12916@midway.uchicago.edu>
Sender: news@uchinews.uchicago.edu (News System)
Organization: University of Chicago -- Academic Information Technologies
References: <802000001@peg>
Date: Wed, 14 Dec 1994 15:14:04 GMT
Lines: 41

In article <802000001@peg> dinsey@peg.apc.org writes:
> Hi,
> 
> From my initial perusals of VisualWorks ObjectLens classes, it would  
appear
> that there is no support provided by ObjectLens for Inheritence within 
> a Relational Database. Would that be correct ?
> 
> Nigel Dinsdale
> Perth
> Australia

As far as I've been able to tell in the last few months of working with  
ObjectLens, yes: it does not provide support for inheritance within a  
relational database.

If you're looking for a product that supports inheritance within a  
relational framework, you might check out comp.databases.object.  There  
are some folks working on such a mapping, but I don't remember what  
development environment they're supporting (if they're supporting any  
yet).  I guess NeXT's new Enterprise Objects Framework handles such a  
mapping.

Inheritance generally means adding some additional data to the base class.   
In a relational database, this generally involves adding an additional  
table to contain the extra data for the derived class.  Unfortunately, the  
semantics of foreign key references aren't particularly clear in a  
relational database, making it hard to determine from the database schema  
which tables should be taken together to model one object, and which  
tables represent relations between objects.  A rich inheritance tree leads  
to a proliferation of tables, which might get expensive at run time.

If you're willing to design the multiple tables yourself, I would imagine  
that ObjectLens would give you point-and-click access to the data in the  
derived-part tables.  Since ObjectLens doesn't really provide any methods  
besides those required to access data, there isn't really an issue of  
re-implementing methods in derived classes.  This seems fairly close to  
the object model....

best of luck!
kit transue
