[comp.databases] Object Oriented Model and Hierarchical Model

chappidi@caip.rutgers.edu (Rajendra Chappidi) (11/30/90)

Is there a difference between the Object Oriented model and 
Hierarchical Model at all or are they one and the same ?

If any one has an answer to this please let me know.

Thanks,
Raj 

mto@GTE.COM (Tamer Ozsu) (11/30/90)

In article <Nov.29.13.51.19.1990.27566@caip.rutgers.edu> chappidi@caip.rutgers.edu (Rajendra Chappidi) writes:
>
>Is there a difference between the Object Oriented model and 
>Hierarchical Model at all or are they one and the same ?
>
>If any one has an answer to this please let me know.
>
>Thanks,
>Raj 

There is a short answer to this: "Yes, there is a world of
difference", but the real answer (i.e., explanation of what the
differences are) would take too long to do in a mail message. The
network-based models and object-oriented models are sometimes confused
to be the same thing because both of them are non-value based (as the
relational model is). However, the differences are enormous. Briefly,
the object-oriented models have data encapsulation, sharing (usually
in the form of inheritance), multiple levels of abstraction, etc. What
exactly are the features of an object-oriented data model is subject
to discussion, but here are some references that should help:

M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier and S.
Zdonik. " The Object-Oriented Database System Manifesto", In Proc. 1st
Int. Conf. on Deductive and Object-Oriented Databases, Kyoto, Japan,
1989, pp. 40-57.

S. Zdonik and  D. Maier. Readings in Object-Oriented Database Systems,
Morgan Kaufmann Publishers, 1990. [The authors have an introductory
chapter at the beginning that should be very helpful.]

W. Kim and F. Lochovsky. Object-Oriented Concepts, Databases and
Applications, ACM Press, 1989.

S. Khoshafian and R. Abnous. Object Orientation - Concepts, Languages,
Databases, User Interfaces, Wiley, 1990.

I am sure I did not list a ton of other very valuable sources.

==Tamer-- 
M. Tamer Ozsu					mto@gte.com
GTE Laboratories				
40 Sylvan Road					
Waltham, MA 02254

rmartin@clear.com (Bob Martin) (12/02/90)

In article <Nov.29.13.51.19.1990.27566@caip.rutgers.edu> chappidi@caip.rutgers.edu (Rajendra Chappidi) writes:
>
>Is there a difference between the Object Oriented model and 
>Hierarchical Model at all or are they one and the same ?
>
>If any one has an answer to this please let me know.
>
>Thanks,
>Raj 

I am not an expert in this field, but I have been doing a _lot_ of
research into OODBMS in the last few months.  So here is an
amateur's point of view.

Object oriented databases store data in virtually the same manner
that a programmer keeps the data in memory.  Typically when a
programmer uses a database, he must read a group of data into
memory, massage that data somehow, and then perhaps write it
out again.  Sometimes the data structures used to keep the data
in memory are very compex (i.e. b-trees or circular buffers...)

When using an object oriented database, the programmer can _forget_
about reading the data into memory or writing it out again later.
(S)He simply massages it as though it were already in his internal
data structures.  The OODBMS takes care of the rest.  The data is
stored on the disk in a manner which exactly represents the 
logical structure that the programmer builds in memory.  When the
program needs the data it simply makes a reference to the appropriate
memory location.  Something akin to a virtual memory page fault
brings the programmers data into memory and relocates any pointers
so that from the programmers point of view, the data is simply 
sitting in memory.

Meanwhile the underlying OODBMS software handles all the problems
of data integrity, transaction rollback, distributed databases,
locking, etc...

The advantages to this technique are twofold (IMHO):  

	1).  Development time is significantly shortened since the 
		 developers do not have to deal with the concepts of getting
		 the data from disk, and putting the data back onto the disk.
		 The problem simply becomes one of what to do with the data
		 in memory.

	2)	 Access to data is _very_ fast. You can get benchmarks from
		 some of the OODBMS vendors, but the upshot of it all is that
		 they are "screamers".

You should know that OODBMS is not a panacea.  There is no standard
query language (like SQL).  Typically no forms packages or QBF type
facilities.  OODBMSs are tools for software engineers who are
implementing systems with very complex types of data, and are not
currently interested in generating simple SQL reports.  

This subject deserves research.  As I said, I am simply an amateur,
and my information should be subject to some skepticism.

-- 
+-Robert C. Martin-----+:RRR:::CCC:M:::::M:| Nobody is responsible for |
| rmartin@clear.com    |:R::R:C::::M:M:M:M:| my words but me.  I want  |
| uunet!clrcom!rmartin |:RRR::C::::M::M::M:| all the credit, and all   |
+----------------------+:R::R::CCC:M:::::M:| the blame.  So there.     |

chappidi@paul.rutgers.edu (Rajendra Chappidi) (12/03/90)

Is there a difference between the Object Oriented Model and the 
Hierarchical model or are they one and the same

Please let me know,
Thanks

gintera@cs-sun-df.cpsc.ucalgary.ca (Andrew Ginter) (12/15/90)

Article 1274 of comp.databases:
Path: cpsc.ucalgary.ca!arcsun.arc.ab.ca!alberta!ubc-cs!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!motcsd!mcdcup!mcdhup!mcdchg!tellab5!balr!clrcom!rmartin
From: rmartin@clear.com (Bob Martin)
Newsgroups: comp.databases
Subject: Re: Object Oriented Model and Hierarchical Model
Keywords: Difference
Message-ID: <1990Dec1.233829.21645@clear.com>
Date: 1 Dec 90 23:38:29 GMT
References: <Nov.29.13.51.19.1990.27566@caip.rutgers.edu>
Organization: Clear Communications, Inc.
Lines: 63

rmartin@clear.com (Bob Martin) writes:

> Object oriented databases store data in virtually the same manner that
> a programmer keeps the data in memory.
> 
> ...
> 
> When using an object oriented database, the programmer can _forget_
> about reading the data into memory or writing it out again later.
> (S)He simply massages it as though it were already in his internal
> data structures. ...  Something akin to a virtual memory page fault
> brings the programmers data into memory and relocates any pointers so
> that from the programmers point of view, the data is simply sitting in
> memory.
> 
> ...
> 
> 2) Access to data is _very_ fast. You can get benchmarks from
>    some of the OODBMS vendors, but the upshot of it all is that
>    they are "screamers".
> 
> You should know that OODBMS is not a panacea.  There is no standard
> query language (like SQL).  Typically no forms packages or QBF type
> facilities.

These were impressions I too had when I first started investigating
this subject, but the impressions are misleading.  Right now, there
are two kinds of object database: "persistent object stores" and
"extended relational databases".  The former tends to store
information in the database in "virtually the same manner as the
programmer keeps data in memory", and the latter tends to be built on
relational database technology.  Many, but not all, of both kinds of
these databases are equipped with a cache manager which caches objects
in application memory.

As for performance, it is the cache manager that makes the difference.
Object caches really shine in applications requiring navigational
access to the database.  However, in traditional data processing or
transaction management applications, caches may actually slow things
down slightly.

Finally, most of the commercial and the big research object databases
support a declarative query facility.  In addition, many are
implementing all sorts of graphical interfaces ranging from graphical
query languages to graphical database definition and manipulation
languages, though I don't know if any of them yet support the
equivalent of a 4GL.

Andrew Ginter, 403-282-2984, gintera@cpsc.ucalgary.ca