[comp.object] Object Data Models and Manipulation Languages

B.J.King@newcastle.ac.uk (Brian King) (02/28/90)

Agreement between object-oriented data models seems as diverse as the
number of opinions on what actually object-oriented programming is!! 
It has been suggested [1] that little consensus exists and that object 
oriented database systems are predominantly in following groups:

	1. object-oriented programming languages with persistance
	2. full database systems based on traditional semantic data
	   models
	3. data models evolved from the relational model.

My questions are:-

1. is anyone aware of any consensus on object-oriented data models
   and query languages?

2. are there any reports providing a survey of current object-oriented
   data models and query languages?

3. is there a clear distinction between an object-oriented and semantic
   data model?

Any pointers (or even answers!) would be gratefully received.
If there is sufficient interest I will post a summary to the group.

	Regards

	Brian

	JANET : b.j.king@uk.ac.ncl

[1] Carey,M.J., et al.,'A Data Model and Query Language for EXODUS'
    Proc. 1988 ACM SIGMOD Conf., SIGMOD RECORD 17(3), Sept. 88,
    pp. 413 - 423.

mark@bdblues.altair.fr (Mark James) (03/01/90)

In article <1990Feb28.095810.15619@newcastle.ac.uk> B.J.King@newcastle.ac.uk (Brian King) writes:
>It has been suggested [1] that little consensus exists and that object 
>oriented database systems are predominantly in following groups:

Things are probably not *that* bad.  It's true that there is no deep
agreement on what an object-oriented database is, but then look at all
the squabbling between E. F. Codd and those who market relational
products, about what a relational database `really' is.  Keep in mind
that, now that there are half a dozen or so companies producing
object-oriented database prototypes, each one wants you to believe
that the world was all darkness and chaos before they arrived on the
scene.

>My questions are:-
>
>1. is anyone aware of any consensus on object-oriented data models
>   and query languages?

The closest thing to a consensus can be found in D. Maier and S.
Zdonik, eds., _Readings in Object-Oriented Database Systems_, Morgan
Kaufman, 1990.  Read especially the first chapter on OODBMS
fundamentals.

>2. are there any reports providing a survey of current object-oriented
>   data models and query languages?

You already cited one (M. Carey, D. Dewitt, S. Vandenberg, "A Data
Model and Query Language for EXODUS", in _Proc. ACM SIGMOD_ 1988, pp.
413-423).  Some others you might try are:

S. Abiteboul and P. Kanellakis, "Object Identity as a Query Language
Primitive", _Proc. ACM SIGMOD_ 1989.

S. Abiteboul and V. Vianu, "Procedural and Declarative Database Update
Languages", _Proc. ACM PODS_ 1988, pp. 240-250.

F. Bancilhon, S. Cluet, C. Delobel, "A Query Language for an
Object-Oriented Database System", in _Proc. DBPL-II Workshop_, 1989.

J. Banerjee, W. Kim, K. Kim, "Queries in Object-Oriented Databases",
_MCC Tech. Rep._ no. DB 188-87, June 1987.

S. Cluet, C. Delobel, C. Lecluse, P. Richard, "Reloop:  An Algebra
Based Query Language for an Object-Oriented Database System", in
_Proc. of the First International Conference on Deductive and
Object-Oriented Databases_, Kyoto, December 1989.

D. Fischman et al., "Iris:  An Object-Oriented Database Management
System", in _ACM TOIS_ 5:1:46-49, 1987.

D. Maier, J. Stein, A. Otis, A. Purdy, "Development of an
Object-Oriented DBMS", _Report CS/E-86-005_, Oregon Graduate Center,
April 1986.

In addition, about once a week on comp.object, someone asks for (and
gets) a bibliographical summary or list of prototypes or products or
research projects along these lines.  The posted summaries are never
very complete, but if you watch them for long enough, you get a pretty
good picture as to what is going on.

>3. is there a clear distinction between an object-oriented and semantic
>   data model?

A *clear* distinction?  Hahahahahahahahahaha......

### T. Mark James           #### opinions, errors etc are my own ###
### mark@bdblues.altair.fr  #### "I'm stupid enough to try anything
### +33 (1) 39 63 53 93     ####  once."  -- The `Bag Man'
################################      Univ. of Washington, 1968

rowley@bath.cs.ucla.edu (Michael T Rowley) (03/01/90)

In article <1990Feb28.095810.15619@newcastle.ac.uk>,
B.J.King@newcastle.ac.uk (Brian King) writes:
> 
> 3. is there a clear distinction between an object-oriented and semantic
>    data model?

Most discussion comparing the two techniques I have seen is in
describing how object-oriented modeling (OOM) is different from
semantic data modeling (SDM).  One very general difference is that
SDM's do not usually incorporate behavioral specification, whereas
OOM's do.

Another common distinction that I see is that in OOM's, user defined
types are indistinguishable from system defined types.  There is also
an implicit claim that any built-in semantic modelling capability of
an SDM system, can be built on top of an OO system.

So an OODBMS can come with a large library of classes for describing
many different semantic relationships, but the user can build more if
needed.

It is questionable, though, whether the claim mentioned above is true.
Most SDM systems have powerful mechanisms for the specification and
maintenence of arbitrarily complex constraints.  These constraints can
involve multiple object types, making it difficult to find an object
type in which to encapsulate the maintenence of the constraints.

As an example, the most basic constraint is that of referential
integrety.  Because DBMS's are used to model real world objects, and
these objects sometimes change or disappear, it must be possible
to change or delete objects.  The constraint that any pointer must
point to a valid object or to Null is difficult to maintain in an
OODBMS.  (One solution to this approach is to leave a "tombstone"
behind when an object is deleted, and to treat a tombstone as a Null).

More complicated constraints specify things like - if a Vertex is
deleted from a Rectangle, it two adjacent edges shoul be deleted, a
new (diagonal) edge should be created, and the Rectangle should be
changed to be of object type Triangle.  (This change then may trigger
other things which relate to an object loosing it's "recangleness" and
gaining "triangleness").  Believe me, there are systems that do this
(at least in R&D).

The solution, I think, is to allow encapsulation in more places than
just object type definition.

-Mike Rowley

sakkinen@tukki.jyu.fi (Markku Sakkinen) (03/01/90)

In article <1466@inria.inria.fr> mark@bdblues.altair.fr writes:
>In article <1990Feb28.095810.15619@newcastle.ac.uk> B.J.King@newcastle.ac.uk (Brian King) writes:
> ...
>>1. is anyone aware of any consensus on object-oriented data models
>>   and query languages?
>
>The closest thing to a consensus can be found in D. Maier and S.
>Zdonik, eds., _Readings in Object-Oriented Database Systems_, Morgan
>Kaufman, 1990.  Read especially the first chapter on OODBMS
>fundamentals.

Now there is already paper that reflects a much more significant consensus:
"The object-oriented database manifesto" from the first international DOOD
(deductive and OO databases) conference, held in December in Kyoto.
There was in the previous posting (T. Mark Jones) a reference to another
paper in the same proceedings.

The compilation of Maier and Zdonik can be warmly recommended even to
those who have the original papers (in journals and conference proceedings)
available. The editors' introductory and summary chapters are concise
and helpful.

>> ...
>>3. is there a clear distinction between an object-oriented and semantic
>>   data model?
>
>A *clear* distinction?  Hahahahahahahahahaha......

Perhaps one could say that semantic models have mostly concentrated
on what Dittrich calls _structural_ object-orientation, and OOPL's
on _behavioural_ object-orientation.

The great divide probably goes between value-oriented (mostly relational)
and identity-oriented data models, as Ullman says in his "Principles
of Database and Knowledge-base Systems" (Vol. 1). Of course, extensions
of the relational model (and of relational DBMS's) can possibly provide
many of the features typically associated with OODBMS's. We may soon
have a situation similar to that when relational DB's came into vogue:
several vendors of DBMS's based on different data models (hierarchic,
restricted network, inverted files, ...) tried to make their products
look as relational as possible.

Markku Sakkinen
Department of Computer Science
University of Jyvaskyla (a's with umlauts)
Seminaarinkatu 15
SF-40100 Jyvaskyla (umlauts again)
Finland
          SAKKINEN@FINJYU.bitnet (alternative network address)